IIS8上的WCF; * .svc处理程序映射不起作用

时间:2012-06-20 09:02:51

标签: asp.net wcf iis-8 iis-8.5

我正试图在2012年版本8400上运行IIS8中的wcf服务。

安装网络角色时,没有像2008年那样找到wcf内容(3.51以下)。

安装时缺少svc处理程序映射,所以我做了一个:

%windir%\Microsoft.NET\Framework\v3.0\WindowsCommunication Foundation\ServiceModelReg.exe –i

现在处理程序映射已存在,但我仍然得到:

The resource you are looking for does not have a handler associated with it.

(我删除了静态文件处理程序。)

网站正在使用传统渠道来使用模拟。

12 个答案:

答案 0 :(得分:526)

更具体地说:

  1. 运行Server Manager(在任务栏和开始菜单上)
  2. 选择要管理的服务器(可能是本地服务器)
  3. 向下滚动到“Roles and Features”部分。
  4. 从“任务”下拉列表中选择“Add Role or Feature
  5. 在“Add Role or Feature Wizard”对话框中,点击左侧页面列表中的“Features”。
  6. 展开".Net 3.5"".Net 4.5",具体取决于您安装的内容。 (如果您没有,可以返回“roles”屏幕添加。
  7. 在“WCF Services”下,选中“HTTP-Activation”复选框。如果您知道需要它们(tcp,命名管道等),也可以添加非http类型。
  8. 点击"Install"按钮。

答案 1 :(得分:207)

我必须在HTTP Activation>中启用.NET Framework 4.5 Advanced Services WCF Services

Enable HTTP Activation

答案 2 :(得分:43)

在“打开或关闭Windows功能”上打开以下内容

a).Net Framework 3.5 - WCF HTTP激活和非Http激活

b)所有WCF服务

答案 3 :(得分:37)

带有IIS8的Windows 8

  • 点击Windows+X
  • 选择Programs and Features(列表中的第一项)
  • 选择左侧的Turn Windows Features on or off
  • 展开.NET Framework 4.5 Advanced Services
  • 展开WCF Services
  • 启用HTTP Activation

答案 4 :(得分:28)

我现在更喜欢通过脚本来做这件事

REM install the needed Windows IIS features for WCF
dism /Online /Enable-Feature /FeatureName:WAS-WindowsActivationService
dism /Online /Enable-Feature /FeatureName:WAS-ProcessModel
dism /Online /Enable-Feature /FeatureName:WAS-NetFxEnvironment
dism /Online /Enable-Feature /FeatureName:WAS-ConfigurationAPI
dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation
dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45

REM Feature Install Complete
pause

答案 5 :(得分:10)

我们设法通过以下方式解决Windows Server 2012下的错误:

  1. 从“删除角色和功能向导”中删除.NET Framework 4.5功能/ ASP.NET 4.5及其所有相关功能
  2. 重新安装已删除的功能。
  3. 它接缝的安装顺序是原因。

    另外,请确保在WCF服务下安装了HTTP激活。

答案 6 :(得分:3)

对于Windows 8计算机,没有“服务器管理器”应用程序(至少我无法找到它)。

虽然我能够解决问题。我不确定我做了以下操作的顺序,但看起来像以下一些/几个操作有帮助:

  1. 在“打开或关闭Windows功能”上打开以下内容a).Net Framework 3.5 - WCF HTTP激活和非Http激活b)所有WCF服务下(在其中一个答案中指定)问题)

  2. 在“%windir%\ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation \”文件夹中执行“ServiceModelReg.exe -i”

  3. 通过两个命令注册ASP.NET 2.0(在文件夹C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727中):

    aspnet_regiis -ga“NT AUTHORITY \ NETWORK SERVICE” aspnet_regiis -iru

  4. 重新启动PC ...看起来像是因为## 3和4中的操作在我的ASP.NET配置中被破坏了

  5. 重复行动#2

  6. 从“程序和功能”中安装另外两个选项:.Net Framework 4.5高级服务。我检查了两个子选项:ASP.NET 4.5和WCF服务

  7. 重新启动应用程序池。

  8. 序列有点疯狂,但这对我有帮助,可能会有助于其他

答案 7 :(得分:2)

在Windows 8或Windows Server 2012上配置IIS 8时,安装顺序非常重要。

我在配置IIS 8时面临很多问题,但最后这些链接帮助了我

答案 8 :(得分:2)

使用PowerShell,您可以使用以下命令安装所需的功能:

Add-WindowsFeature 'NET-HTTP-Activation'

答案 9 :(得分:1)

在Windows 10(客户端)上,您也可以使用

编写脚本
Enable-WindowsOptionalFeature -Online -NoRestart -FeatureName WCF-HTTP-Activation45 -All

请注意,这是与服务器skus不同的命令

答案 10 :(得分:0)

它是.NET框架的HTTP激活功能 Windows Process Activation功能也是必需的

答案 11 :(得分:0)

这对我来说真的很愚蠢。在此处添加此内容,因为它是svc 404问题上最受欢迎的主题之一。

我的项目设置' \ Web \ Project URL,粘贴:

http://blah.webservice.local.blahblah.com/Blah.svc

由于某些未知原因(已经完成了这一千次)并没有直接发现.svc文件的名称在最后。

DOH!

我刚刚从我的WCF测试客户端粘贴了该地址,并且没有对其进行充分检查。这在后台做的是在.svc地址创建一个IIS应用程序,我从IIS中得不到任何东西。我无法理解我甚至无法点击.svc文件。

简单的修复,显然,只需删除IIS中的应用程序并更改项目URL。

经过近20年的努力,你仍然可以犯学生错误/新手错误。希望这有助于某人。