如何将Visual Studio中的Web Service发布到IIS中?
我已经用C#编写了WCF Web服务。我最初自己托管它,然后决定将它托管在我的PC上本地运行的IIS上。虽然服务正在运行,但我不明白部署过程的几个方面:如何将Visual Studio中的Web Service发布到IIS中?
首先,在IIS中托管时此服务的URL与我在web.config中指定的内容不对应。我在那里指定了“http://localhost:8000/MyServices/OrderService”,这在我自行托管时使用。现在我已经部署到IIS,URL已变为“http://localhost/MyServices/OrderService”。为什么URL不能从我的配置文件中找到?其次,为了托管Web服务,我在IIS中创建了一个新的Web站点(除了现有的“默认Web站点”外)。我将物理路径设置为c:\ inetpub \ wwwroot(不知道这是否正确)并将其他参数保留为默认值。然后,我将我的/ bin文件夹,我的.svc文件和我的web.config复制到此文件夹中。这相当于一个'虚拟目录'吗?
最后,该服务没有工作,直到(在IIS内)我选择'转换为应用程序'。为什么需要选择“转换为应用程序”?
任何人都可以解释什么是正确的过程是从Visual Studio发布到IIS的简单的Web服务,或指向我的一些很好的文档,所以我可以理解的过程?
****编辑原始***** 有花更多的时间寻找到这一点,我已经找到了以下内容:
- 当我在IIS中创建一个网站,我给它一个物理目录的c:\ inetpub \ wwwroot ....等
- 如果我然后从Visual Studio中“发布”,它所做的就是复制所有必需的字段(如/ bin目录,web.config和.svc文件)到网站的物理目录即 - c:\ inetpub \ wwwroot ...
您可以手动执行复制以获得相同的效果。
- 最后,关于我的服务的URL与我的web.config文件的baseAddress部分不对应,这是answered on stackoverflow previously。
答案是在IIS上托管时baseAddress被完全忽略。
如果使用Visual Studio 2010,则可以右键单击该服务的项目,然后选择properties
。然后选择Web
选项卡。在Servers
部分下,您可以配置URL。还有一个按钮来创建虚拟目录。
我试图通过VS 2012托管一个Web服务,这对我有帮助。 – voddy 2014-03-18 00:59:45
使用VS2013也能完成这项工作 – Andez 2014-05-31 12:16:52