我在Windows 2012 R2服务器上有一个IIS站点。该网站内有一个应用程序:
此站点的URL在我们的Active Directive服务器上设置,因为它只能从我们公司内部访问。 URL遵循以下结构:
http://NAMEoftheSERVICE.myCompanyServices.myCompany.local
此站点的服务位于内部文件夹中:
http://NAMEoftheSERVICE.myCompanyServices.myCompany.local/InternalFolder/Service.svc
我在根级别和内部文件夹中放置了许多测试文件:
http://NAMEoftheSERVICE.myCompanyServices.myCompany.local/HelloWorld.html http://NAMEoftheSERVICE.myCompanyServices.myCompany.local/InternalFolder/HelloWorld.html
我可以毫无问题地浏览这些文件。但是,我无法浏览http://NAMEoftheSERVICE.myCompanyServices.myCompany.local/InternalFolder/Service.svc的服务
但是文件就在那里,我确保在浏览器中放入的URL中没有拼写错误。
我看过类似的问题,但似乎没有像我遇到的问题那样。看起来很有希望的唯一问题是:WCF service file not visible但该帖子的答案并不适用于我的问题,因为我已经有了建议的帖子设置中提到的配置。
我已经检查了IIS级配置文件,以获取有关.svc文件或类似内容的任何排除,但无法找到任何内容。
您有什么建议可以解决这个问题吗?
在同一台服务器上的其他站点上运行了一些测试之后,我实际上意识到该问题是特定于.svc文件的。因此,我在Google上进行了另一次搜索,发现服务器缺少“HTTP激活”功能(WCF服务的一部分)。
因此,如果您在.svc文件上遇到相同的问题,请按照以下步骤操作,以确保在服务器上安装了正确的组件:
运行以下Powershell命令可以实现相同的目的:
Install-WindowsFeature -Name NET-WCF-HTTP-Activation45
这对我有用。我希望它可以对某人有所帮助。