如何从Visual Studio将Web服务发布到IIS?

JMc*_*JMc 26 iis iis-7 publish web-services

我用C#编写了一个WCF Web服务.我最初是自托管它,然后决定在我的PC上本地运行的IIS上托管它.虽然服务正在运行,但我不了解部署过程的几个方面:

首先,在IIS中托管时此服务的URL与我在web.config中指定的URL不对应.我在那里指定了" http:// localhost:8000/MyServices/OrderService ",这是我自我托管时使用的.现在我已经部署到IIS,URL已变为" http:// localhost/MyServices/OrderService ".为什么没有从我的配置文件中提取URL?

其次,为了托管Web服务,我在IIS中创建了一个新的网站(除了现有的"默认网站").我将物理路径设置为c:\ inetpub\wwwroot(不知道这是否正确)并将其他参数保留为默认值.然后我将我的/ bin文件夹,我的.svc文件和我的web.config复制到此文件夹中.这相当于"虚拟目录"吗?

最后,直到(在IIS中)我选择"转换为应用程序"之前,该服务才起作用.为什么有必要选择"转换为应用程序"?

任何人都可以解释将Visual Studio中的简单Web服务发布到IIS中的正确步骤,或者指出一些好的文档以便我能理解这个过程吗?

****编辑原创*****花了更多时间研究这个,我发现了以下内容:

  • 当我在IIS中创建一个网站时,我给它一个c:\ inetpub\wwwroot ....等物理目录
  • 如果我从Visual Studio中"发布",它所做的就是将所有必需的文件(如/ bin目录,web.config和.svc文件)复制到网站的物理目录中,即 - c:\ inetpub\wwwroot ...

您可以手动执行复制到相同的效果.

答案是在IIS上托管时完全忽略baseAddress.

Nil*_*nde 14

如果使用Visual Studio 2010,则可以右键单击服务的项目,然后选择properties.然后选择Web选项卡.在该Servers部分下,您可以配置URL.还有一个用于创建虚拟目录的按钮.