WPF XBAP 部署发布

以往在部署网站的时候都有许多手动的步骤需介入,对于许多对IIS / SQL 不太熟悉的新手来说部署网站变成一件非常困难且危险的事。 这 次Visual Studio 2010 对于ASP.NET 网站部署的能力大大的提升,它透过Web Deploy API 直接与IIS 沟通,可在发行的同时除了将网站安装进IIS 之外,还可以设定目录权限、变更web.config 内容、建立应用程序、应用程序集区、IIS 细部设定、安装组件进GAC、安装凭证、设定机码、建立数据库、…. 等,非常强大的部署机制且与IIS7 完美整合。这次Visual Studio 2010 对于ASP.NET 网站部署的能力大大的提升,它透过Web Deploy API 直接与IIS 沟通,可在发行的同时除了将网站安装进IIS 之外,还可以设定目录权限、变更web.config内容、建立应用程序、应用程序集区、IIS 细部设定、安装组件进GAC、安装凭证、设定机码、建立资料库、…. 等,非常强大的部署机制且与IIS7 完美整合。

备注:我指的危险是指资安方面的风险 ,因为设定不成功就会开始乱设权限,例如:将目录设定成Everyone 可擦写等等。 备注:我指的危险是指资安方面的风险 ,因为设定不成功就会开始乱设权限,例如:将目录设定成Everyone可读写等等。

Visual Studio 2010 更提供了[ Web 单键发行 ] 工具栏,在设定好「发行配置文件」之后就可以真的用「单键」将网站安装或更新完成,非常的神奇且好用,以下就是使用的方式。 Visual Studio 2010更提供了[ Web单键发行 ]工具栏,在设定好「发行设定档」之后就可以真的用「单键」将网站安装或更新完成,非常的神奇且好用,以下就是使用的方式。

要使用Visual Studio 2010 Web 单键发行功能,必须先在IIS 所在主机安装Web Deployment Tool ,然后在进一步设定才能透过Microsoft Web Deployment Tool (MsDeploy)发行/部署网站。要使用Visual Studio 2010 Web单键发行功能,必须先在IIS所在主机安装Web Deployment Tool ,然后在进一步设定才能透过Microsoft Web Deployment Tool (MsDeploy)发行/部署网站。

若要透过IIS 管理服务 ( IIS Web Management Service ) ( WMSvc ) 部署至本机IIS7,则还必须先安装「 IIS 管理服务 」才能使用。若要透过IIS管理服务 ( IIS Web Management Service ) ( WMSvc )部署至本机IIS7,则还必须先安装「 IIS管理服务 」才能使用。

Windows 7 需透过[ 开启或关闭Windows 功能 ] 安装「 IIS 管理服务 」 Windows 7需透过[ 开启或关闭Windows功能 ]安装「 IIS管理服务

Windows Server 2008 需透过[ 网页服务器(IIS) ] 安装「 管理服务 」这个角色服务 Windows Server 2008需透过[ 网页服务器(IIS) ]安装「 管理服务 」这个角色服务

若要启用「远程部署」则还必须启用Web Deployment Agent Service服务才能正常运作。若要启用「远端部署」则还必须启用Web Deployment Agent Service服务才能正常运作。

IIS7 IIS7

若在Windows 7 使用Web Platform Installer 预设不会安装Web Deployment Agent Service,你必须手动安装MSI 档的方式才会安装进去,安装步骤请参见Installing Web Deploy说明。若在Windows 7使用Web Platform Installer预设不会安装Web Deployment Agent Service,你必须手动安装MSI档的方式才会安装进去,安装步骤请参见Installing Web Deploy说明。

IIS6 IIS6

接着我们来到Visual Studio 2010 设定[ Web 发行 ] 的「 发行配置文件 」( 记得先开启网站项目才能用)接着我们来到Visual Studio 2010设定[ Web发行 ]的「 发行设定档 」(记得先开启网站专案才能用)

如果没看见[ Web 单键发行 ] 工具栏,可以在工具栏的地方按下鼠标右键选取[ Web 单键发行 ] 即可:如果没看见[ Web单键发行 ]工具栏,可以在工具栏的地方按下鼠标右键选取[ Web单键发行 ]即可:

先设定一组发行的名称先设定一组发行的名称

设定以下参数并按下[ 储存 ] 或[ 发行 ] 按钮:设定以下参数并按下[ 储存 ]或[ 发行 ]按钮:

以上参数分项说明如下:以上参数分项说明如下:

1. 发行方法 :选择Web 部署 1.发行方法 :选择Web部署

2. 服务URL :这里的服务URL 有3 种格式: 2.服务URL :这里的服务URL有3种格式:

  • 输入IP 或网址,例如: localhost192.168.2.116输入IP或网址,例如: localhost192.168.2.116
    • 远程部署时,网址会自动展开成https://192.168.2.116:8172/msdeploy.axd?site=站台名称远端部署时,网址会自动展开成https://192.168.2.116:8172/msdeploy.axd?site=站台名称
    • 这种格式一定会要求使用SSL 联机,如果没有安装SSL 凭证的IIS 将无法成功安装这种格式一定会要求使用SSL 连线,如果没有安装SSL 凭证的IIS 将无法成功安装
    • 这种网址格式预设会透过The Web Management Service (WMSvc) Handler进行部署这种网址格式预设会透过The Web Management Service (WMSvc) Handler进行部署
    • 仅Windows Server 2008 上的IIS7 才提供此功能仅Windows Server 2008 上的IIS7 才提供此功能
  • 输入URL 网址,例如: http://localhosthttp://stage.example.com输入URL网址,例如: http://localhosthttp://stage.example.com
    • 远程部署时,网址会自动展开成http://stage.example.com/MSDEPLOYAGENTSERVICE/远端部署时,网址会自动展开成http://stage.example.com/MSDEPLOYAGENTSERVICE/
    • 这种网址格式预设会透过Web Deployment Agent Service进行部署这种网址格式预设会透过Web Deployment Agent Service进行部署
  • 输入完整URL 网址,例如: http://localhost/MsDeploy.axd输入完整URL网址,例如: http://localhost/MsDeploy.axd

若要发行至本机,上述三种任何一种都可以,只要网址是localhost 即可。若要发行至本机,上述三种任何一种都可以,只要网址是localhost 即可。

3. 网站/应用程序 :这里有特定格式: 3.网站/应用程序 :这里有特定格式:

  • 在第一个斜线( / ) 之前代表的是 站台名称 ,其 站台名称 必须已经存在IIS 中才能安装在第一个斜线( / )之前代表的是站台名称 ,其站台名称必须已经存在IIS中才能安装
  • 后面就是站台下的虚拟目录或应用程序路径 ,而 虚拟目录或应用程序路径 不一定要输入。后面就是站台下的虚拟目录或应用程序路径 ,而虚拟目录或应用程序路径不一定要输入。

4. 网站/应用程序:若要将安装的网站需要转换成「应用程序」则必须要勾选此选项。 4.网站/应用程序:若要将安装的网站需要转换成「应用程序」则必须要勾选此选项。

--- ---

发布成功后,下次要再发布网站就可以使用「单键发行」的功能了:发布成功后,下次要再发布网站就可以使用「单键发行」的功能了:

当你第一次发行过后,你将会发现之后的发行速度都会飞快,那是因为他只会发行更新过的档案,非常棒吧!当你第一次发行过后,你将会发现之后的发行速度都会飞快,那是因为他只会发行更新过的档案,非常棒吧! 若要多了解Web Deployment Tool可以参考以下相关连结或我之前发表过的文章 。若要多了解Web Deployment Tool可以参考以下相关连结或我之前发表过的文章

备注事项 备注事项

  • 虽然Web Deployment Tool有 支持IIS6 远程部署,可是部署时的检查项目并没有比IIS7 来的多,经测试,如果你的ASP.NET 4.0 网站要部署时,若网站发行到IIS7 时会检查目的站台的应用程序集区是否使用.NET Framework 4 版本,如果不是则会发行失败;若网站发行到IIS6 时则不会做这个检查,网站应用程序会安装完成,但可能会因为没有正确设定应用程序集区或没有安装.NET Framework 4.0 而无法执行。虽然Web Deployment Tool有 支持IIS6远端部署,可是部署时的检查项目并没有比IIS7来的多,经测试,如果你的ASP.NET 4.0网站要部署时,若网站发行到IIS7时会检查目的站台的应用程序集区是否使用.NET Framework 4 版本,如果不是则会发行失败;若网站发行到IIS6 时则不会做这个检查,网站应用程序会安装完成,但可能会因为没有正确设定应用程序集区或没有安装.NET Framework 4.0 而无法执行。
  • 若要在Windows Server 2008 上的IIS7 启用「管理服务」的远程联机可参考以下图示:若要在Windows Server 2008 上的IIS7 启用「管理服务」的远端连线可参考以下图示:


  • 在设定「管理服务」的时候必须先暂时停用Web Management Service服务才能变更设定在设定「管理服务」的时候必须先暂时停用Web Management Service服务才能变更设定
  • 若要透过「管理服务」进行远程部署时,若远程主机IIS 上的凭证是使用「自我签署凭证」的,那可能必须勾选「允许未受信任的凭证」选项才能成功部署。若要透过「管理服务」进行远端部署时,若远端主机IIS上的凭证是使用「自我签署凭证」的,那可能必须勾选「允许未受信任的凭证」选项才能成功部署。


    如果没有勾选可能会出现以下错误:如果没有勾选可能会出现以下错误:

    无法完成对远程代理程序URL 'https://stage.example.com:8172/msdeploy.axd?site=TEST' 的要求。无法完成对远端代理程序URL 'https://stage.example.com:8172/msdeploy.axd?site=TEST'的要求。
    基础连接已关闭: 无法为SSL/TLS 安全通道建立信任关系。基础连接已关闭: 无法为SSL/TLS 安全通道建立信任关系。
    根据验证程序,远程凭证是无效的。根据验证程序,远端凭证是无效的。
    无法部署发行。无法部署发行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值