C#中用MVC做了个简单的网页,怎么部署到服务器,我有服务器!不知道部署?

C#中用MVC做了个简单的网页,怎么部署到服务器,我有服务器!不知道部署?,第1张

你不要管VS的那些功能,只要网站能正确运行了,把项目下的所有文件复制到服务器的某个文件夹。

服务器要安装IIS,通常要6或者7的版本。

在上面新建一个网站,然后定位到与你的webconfig的位置,然后启动就可以访问了。

vs2005是集成的开发测试环境,你不需要在服务器作为本机调试的话,不需要

服务器的软件需求要看你的net程序的需求,IIS的安装是必要的了,需要补充两个方面

第一方面

1,数据库方面,看你的Net程序使用什么类型数据库了,一般情况下,Access需要装Office的Access即可(虽然Windows有默认的,但要保证数据引擎是最新的) Sql的话SqlServer2000以上版本均可

2,看Net程序在那个版本的Net构架下开发的,一般,装最新的net framework (35)即可

3,看你的服务器是否需要解析域名,需要的话,装DNS(Windows2003 Server专业版,数据库版均可)

4,网站需要用到的第三方组件有时候需要注册一下

第二方面

1,杀毒软件及服务器防火墙

2,Server2003的补丁

3,数据还原(系统还原卡等)

4,FTP软件(文件上传,下载)

基本就这么多了,看看是否有帮助,在此之前,记得把硬盘分区转为NTFS吧

如果你直接在IIS 7中配置WCF,访问svc文件时会出现404错误。

解决方法,以管理员身份进入命令行模式,运行:

"%windir%\MicrosoftNET\Framework\v30\Windows Communication Foundation\ServiceModelRegexe" -r -y

-r - 重新安装此版本的 Windows Communication Foundation,

并更新 IIS 元数据库根处的脚本映射和根以下的所有

脚本映射。无论原始版本是什么,都将现有的脚本映射

升级到此版本。

-y - 在卸载或重新安装组件之前不要求确认。

-------------------------------

一般是在安装 Windows Communication Foundation (WCF) 之后安装了 IIS造成,运行以上命令将在 IIS 中注册所需的脚本映射。

这时将确保在MIME中将 svc 文件类型映射到 aspnet_isapidll。

string mssql ="Data Source = 服务器名\\服务器类型;initial catalog = 数据库名;user id =用户名;password ="

sqlconnection conn =new sqlconnection(mssql);

后台

如果用服务器管理 直接选就是了可视化的 他是把上面这些 自动添加在配置文件里面的

服务器名就是你计算机名 你用的是什么数据库啊 2005 的计算机名就服务器名 你下一个 2005 管理器就行了官网有免费的

有时我们除了需要安装系统必备组件之外,还需要做自定义的子安装程序,如我的系统安装程序就需要同时安装Oracle精简客户端(网上下载的精简30版,以下简称JOracle30)才能支撑系统数据库的应用,怎样才能让VS2008部署程序自动执行这套JOracle30的安装程序呢?

我首先想到的是用程序去实现,必竟大名鼎鼎的InstallShield安装系统也是MS做的,VS2008部署程序应该也是集成的InstallShield吧,用DoInstall脚本函数还是能轻而易举地调用其他安装程序的。可是,我将IDE翻了个遍也没有找到VS2008部署系统的程序入口,感情是人家根本就没有提供脚本程序让你写吧?C#到是可以写个类来控制,可我的是VC++程序,折腾半天还不知能不能用,还是另外找条路吧。

于是好一阵闹腾,网上帖子都翻遍了,都是不咸不淡,语焉不详,正心灰意冷时,突然想起了在系统安装部署制作时,要选择系统必备项,是不是可以将Joracle30作为系统必备项让部署程序进行选择呢?这样的安装程序可能既专业又优雅。这样我的突破重点就是如何针对VS2008做自定义的系统必备项了。结果证明我的方向是完全正确的,经过半天的努力,终于成功了!现将操作步骤整理如下,希望能对如我一般陷此困惑的朋友有所帮助,或能抛砖引玉!

(1)将自定义的安装程序COPY至Bootstrapper文件夹中

VS2008的系统必备项是用特定文件路径和xml描述文件一起构成的,这点倒是和JAVA应用服务器很像。这个Bootstrapper是具体路径在我的机器中是:“C:/Program Files/Microsoft SDKs/Windows/v60A/Bootstrapper/Packages”。在这个目录中,您可很清楚地看到在VS2008部署程序中可选的所有的组件,呵呵。我们要依葫芦画瓢同样建一个文件夹“Oracle精简客户端”这样的系统必备组件。名称就起“Oracle9i客户端精简版30”好了。如下:

在“Oracle9i客户端精简版30”文件夹中,断续建一个“zh-CHS”安装本地化文件夹,将安装程序COPY进这个文件夹中,如:

我的Oracle精简客户端安装有两文件,“Oracle9i客户端精简版30msi”和“Oracle9i客户端精简版3[1]0part2rar”。

至此,我们将系统必备项所需的目录结构建好了,但是还不行,还需要将描述文件手动构建起来,其实就是两个xml文件。

(2)创建产品清单和程序包清单

产品清单其实就是“Oracle9i客户端精简版30”文件夹下的那个productxml文件;程序包清单其实就是“zh-CHS”文件夹下的packagexml文件。

Productxml文件的清单如下:

<xml version="10" encoding="utf-8">

<Product ProductCode="Oracle9i 精简客户端3_青蛙王子" xmlns="htt p:/ /schemasmicrosoftc om/developer/2004/01/bootstrapper">

</Product>

这倒没什么可说的,倒是这个ProductCode究竟是不是一定用精简客户端安装的ProductCode我还没有发现有什么弊端,我在一台已安装精简客户端的机器的注册表将实际的ProductCode找了出来,但是没有用它,反正我用"Oracle9i 精简客户端3_青蛙王子"这个字符串也能工作。

Packagexml文件的清单如下:

<xml version="10" encoding="utf-8">

<Package Name="Oracle9i 精简客户端3_0" Culture="Culture" xmlns="htt p:/ /schemasmicrosoftc om/developer/2004/01/bootstrapper">

<InstallChecks>

<RegistryCheck Property="ORACLE_INST" Key="HKLM/SOFTWARE/Microsoft/ORACLE/inst_loc" Value="C:/Program Files/Oracle/Inventory"/>

</InstallChecks>

<PackageFiles CopyAllPackageFiles="false">

<PackageFile Name="Oracle9i客户端精简版3[1]0part2rar"/>

<PackageFile

Name="Oracle9i客户端精简版30msi"

HomeSite="HomeSiteName_32" />

</PackageFiles>

<Commands Reboot="Defer">

<Command PackageFile="Oracle9i客户端精简版30msi" Arguments=''>

<InstallConditions>

<BypassIf Property="ORACLE_INST" Compare="ValueExists"/>

</InstallConditions>

</Command>

</Commands>

</Package>

Package 元素的 Name 属性的值 其实就是 在VS2008部署程序的系统必备选择框中显示的组件名称。

<PackageFiles>元素用来指定组件包括的文件,要将每个安装文件要用子元素<PackageFile>指定出来哦,VS2008部署程序在编译生成安装文件时,就是按这个清单将组件的文件COPY过去的。

<InstallChecks> < Commands >这两个元素是要配对的,和struts框架的控制文件一样,它们的主要作用就是利用注册表项或文件来判断组件是否需要安装。我是用注册表来判断oracle是否已经在客户端上安装,就需要用<RegistryCheck>元素来检查,用“HKLM/SOFTWARE/Microsoft/ORACLE/inst_loc”这个注册表键来判断检查,并给这个检查项目起个名字叫“ORACLE_INST”。

<Command>元素则是在<InstallConditions>元素指定的条件满足时,执行相应的组件安装程序,这里我的安装程序是“Oracle9i客户端精简版30msi”,是一个普通的安装程序,没有参数。

<InstallConditions>元素我的理解就是指定安装条件啦,<BypassIf Property="ORACLE_INST" Compare="ValueExists"/>一句我的想法是:如果注册表存在“HKLM/SOFTWARE/Microsoft/ORACLE/inst_loc”这个键就认为已经安装了Oracle客户端,就不用执行精简客户端安装,否则视为没有安装,就要执行。

(3)配置完毕!

我们到VS2008部署程序的系统必备选择项中找找,果真发现了“Oracle9i 精简客户端3_0”这个组件了。如下图:

呵,以下就是选择他,编译生成部署项目即可。在生成的安装目录中,精简客户端目录就在其中。 (4)运行setupexe文件,即可执行安装程序了,记住了,不是执行msi文件,msi安装文件不能进行系统必备组件的判断安装。系统必备组件安装如下图。

(5)有一点遗憾的是,我的本意如果客户端已经安装了Oracle客户端,就不用执行精简客户端安装,没有安装,就要执行。可我将这个安装软件在已经安装了Oracle客户端的机器上试运行时,安装软件还是提示需要安装“Oracle9i 精简客户端3_0”,虽然安装过程一闪而过,可能实际上并没有执行

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » C#中用MVC做了个简单的网页,怎么部署到服务器,我有服务器!不知道部署?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情