我已经在本地计算机上的IIS上开发并发布了(通过VS 2013中的“发布”功能)简单的WCF Web服务。物理部署路径是文件夹:c:\ inetpub \ wwwroot \ MyWCF_Service_On_IIS \我在IIS上看到虚拟文件夹已在“默认网站”下创建(名称相同:MyWCF_Service_On_IIS)。默认网站在端口80上侦听。为什么无法访问该服务?路径和网址的任何组合都会失败。我试过了:
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
localhost
127.0.0.1
即使我不公开元数据端点,我也希望至少能看到有关该服务以及如何获取元数据的帮助页面。但是我只会得到错误我所做的任何尝试都会失败。我想一劳永逸地知道IIS用于将虚拟文件夹映射到物理文件夹的规则是什么。
我们应该使用文件系统模式直接将所有相关文件/文件目录部署到网站的根文件夹。
C:\ inetpub \ wwwroot
此外,我们需要启用Windows功能来处理SVC
扩展名以支持WCF服务。在这种情况下,无需使用虚拟文件夹。这是我身边wwwroot
文件夹的内容。
bin文件夹PrecompiledApp.configService.svcWeb.config
服务网址为http://localhost/service.svc如果我们通过使用虚拟路径指定URL。我们应该将虚拟路径转换为应用程序。然后,服务URL为http://localhost/MyWCF/Service1.svc。请随时让我知道问题是否仍然存在。