404在现有.svc文件上

问题描述 投票:1回答:1

我在Windows 2012 R2服务器上有一个IIS站点。该网站内有一个应用程序:

IIS folder structure for the site

此站点的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的服务

浏览器返回Browser error screenshot

但是文件就在那里,我确保在浏览器中放入的URL中没有拼写错误。

我看过类似的问题,但似乎没有像我遇到的问题那样。看起来很有希望的唯一问题是:WCF service file not visible但该帖子的答案并不适用于我的问题,因为我已经有了建议的帖子设置中提到的配置。

我已经检查了IIS级配置文件,以获取有关.svc文件或类似内容的任何排除,但无法找到任何内容。

您有什么建议可以解决这个问题吗?

web-services wcf http iis http-status-code-404
1个回答
2
投票

解决方案:安装HTTP激活功能

在同一台服务器上的其他站点上运行了一些测试之后,我实际上意识到该问题是特定于.svc文件的。因此,我在Google上进行了另一次搜索,发现服务器缺少“HTTP激活”功能(WCF服务的一部分)。

因此,如果您在.svc文件上遇到相同的问题,请按照以下步骤操作,以确保在服务器上安装了正确的组件:

  • Open Server Manager
  • 在服务器管理器中,单击“管理”菜单,然后单击“添加角色和功能”
  • 在“添加角色和功能”向导中,单击“下一步”。选择安装类型并单击“下一步”。选择目标服务器并单击“下一步”。
  • 跳过“服务器角色”页面。
  • 在“选择功能”页面上,展开“.Net Framework 4.5功能”,展开“WCF服务”并选择“HTTP激活”。点击下一步。 HTTP Activation module on the Server Manager
  • 在“确认安装选择”页面上,单击“安装”。
  • 在“结果”页面上,单击“关闭”。

运行以下Powershell命令可以实现相同的目的:

Install-WindowsFeature -Name NET-WCF-HTTP-Activation45

这对我有用。我希望它可以对某人有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.