404 在现有的 .svc 文件上
404 On existing .svc file
我在 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
的服务
浏览器returns
但是文件在那里,我已经确保我在浏览器中输入的 URL 中没有拼写错误。
我看过类似的问题,但似乎没有任何问题与我遇到的问题相似。唯一看起来很有希望的问题是:
WCF service file not visible
但是 post 的答案不适用于我的问题,因为我已经按照建议的 post 设置中提到的配置。
我已经检查了 IIS 级配置文件是否有任何关于 .svc 文件或类似文件的排除项,但找不到任何内容。
你有什么建议可以解决这个问题吗?
解决方案:安装 HTTP 激活功能
运行 在同一台服务器上的其他站点上进行更多测试后,我实际上意识到问题是特定于 .svc 文件的。因此,我在 Google 上进行了另一次搜索,发现服务器缺少 "HTTP Activation" 功能(WCF 服务的一部分)。
因此,如果您在 .svc 文件上遇到同样的问题,请按照以下步骤确保您在服务器上安装了正确的组件:
- 打开服务器管理器
- 在服务器管理器中,单击“管理”菜单,然后单击“添加角色”
和功能
- 在“添加角色和功能”向导中,单击“下一步”。 Select
安装类型,然后单击下一步。 Select 目标服务器和
单击下一步。
- 跳过服务器角色页面。
- 在 Select 功能页面上,展开“.Net Framework 4.5 功能”,
展开 "WCF Services" 和 select "HTTP Activation"。点击下一步。
- 在“确认安装”selections 页面上,单击“安装”。
- 在“结果”页面上,单击“关闭”。
同样可以通过 运行 以下 Powershell 命令实现:
Install-WindowsFeature -Name NET-WCF-HTTP-Activation45
这对我有用。希望对大家有所帮助。
我在 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
的服务浏览器returns
但是文件在那里,我已经确保我在浏览器中输入的 URL 中没有拼写错误。
我看过类似的问题,但似乎没有任何问题与我遇到的问题相似。唯一看起来很有希望的问题是: WCF service file not visible 但是 post 的答案不适用于我的问题,因为我已经按照建议的 post 设置中提到的配置。
我已经检查了 IIS 级配置文件是否有任何关于 .svc 文件或类似文件的排除项,但找不到任何内容。
你有什么建议可以解决这个问题吗?
解决方案:安装 HTTP 激活功能
运行 在同一台服务器上的其他站点上进行更多测试后,我实际上意识到问题是特定于 .svc 文件的。因此,我在 Google 上进行了另一次搜索,发现服务器缺少 "HTTP Activation" 功能(WCF 服务的一部分)。
因此,如果您在 .svc 文件上遇到同样的问题,请按照以下步骤确保您在服务器上安装了正确的组件:
- 打开服务器管理器
- 在服务器管理器中,单击“管理”菜单,然后单击“添加角色” 和功能
- 在“添加角色和功能”向导中,单击“下一步”。 Select 安装类型,然后单击下一步。 Select 目标服务器和 单击下一步。
- 跳过服务器角色页面。
- 在 Select 功能页面上,展开“.Net Framework 4.5 功能”,
展开 "WCF Services" 和 select "HTTP Activation"。点击下一步。
- 在“确认安装”selections 页面上,单击“安装”。
- 在“结果”页面上,单击“关闭”。
同样可以通过 运行 以下 Powershell 命令实现:
Install-WindowsFeature -Name NET-WCF-HTTP-Activation45
这对我有用。希望对大家有所帮助。