我在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上托管时完全忽略了baseAddress。
答案 0 :(得分:14)
如果使用Visual Studio 2010,您可以右键单击该服务的项目,然后选择properties
。然后选择Web
标签。在Servers
部分下,您可以配置网址。还有一个用于创建虚拟目录的按钮。