如何在 IIS 7 上发布 WCF 服务

How to publish WCF service on IIS 7

我已经在本地计算机的 IIS 上开发并发布了一个简单的 WCF Web 服务(通过 VS 2013 中的 "publish" 功能)。 物理部署路径是文件夹:c:\inetpub\wwwroot\MyWCF_Service_On_IIS\ 我在 IIS 上看到虚拟文件夹已在 "default Web site" 下创建(同名:MyWCF_Service_On_IIS)。默认网站在端口 80 上侦听。 为什么无法访问该服务?路径和 url 的任何组合都会失败。 我试过了:

localhost/MyWCF_Service_On_IIS/Service1.svc(Service1.svc 是托管唯一端点的 .svc 文件);

localhost/Service1.svc

127.0.0.1/MyWCF_Service_On_IIS/Service1.svc

127.0.0.1/Service1.svc

本地主机

127.0.0.1

即使我不公开元数据端点,我也希望至少看到一个关于该服务以及如何获取元数据本身的帮助页面。 但我只得到错误 无论我做什么尝试都惨遭失败。 我想一劳永逸地知道 IIS 使用什么规则将虚拟文件夹映射到物理文件夹。

我们应该使用FileSystem方式直接将所有相关的files/file目录部署到网站的根目录下。

C:\inetpub\wwwroot

此外,我们需要启用 windows 功能来处理 SVC 扩展以支持 WCF 服务。

在这种情况下无需使用虚拟文件夹。 这是我这边wwwroot文件夹的内容。

bin folder
PrecompiledApp.config
Service.svc
Web.config

服务 URL 是 http://localhost/service.svc
如果我们使用虚拟路径指定 URL。我们应该将虚拟路径转换为应用程序。

那么服务URL就是http://localhost/MyWCF/Service1.svc.
如果问题仍然存在,请随时告诉我。