无法在 Windows Server 2012 上运行 WCF 服务 (.SVC)

无法在 Windows Server 2012 上运行 WCF 服务 (.SVC)

我有一台装有 Windows Server 2012 的服务器;但是,我无法用它运行 svc 文件。我能够在其上运行 asmx 文件。我决定弄清楚如何运行 svc 文件。我尝试了此链接的内容:http://msdn.microsoft.com/en-us/library/ms732012(v=vs.110).aspx

但是,这并没有解决我的问题。我决定尝试使用 aspnet_regiis.exe i;但是,我得到了一个错误,所以我的 asmx 文件现在无法工作了。

经过大约 5 个小时的谷歌搜索并试图解决这个问题后,我尝试从服务器上卸载 .net,然后重新安装它(http://blogs.technet.com/b/askcore/archive/2014/04/24/removing-net-framework-4-5-4-5-1-removes-windows-2012-2012r2-ui-and-other-features.aspx) 希望它能恢复原来的样子。

对我来说这失败了。所以现在我转到此链接以使用图形界面(这是我首先尝试的)https://stackoverflow.com/questions/14495429/alternative-for-the-registering-asp-net-4-5-on-windows-server-2012

但是当我尝试按照他的步骤操作时出现此错误: 在此处输入图片描述

编辑:为了澄清起见,这使我陷入了一个递归循环,它会给我这个消息,并且只要我重新启动它就会再次给我这个消息。https://www.jrssite.com/wordpress/?p=191

经过仔细检查,我发现了以下错误:

  1. 无法安装计数器字符串,因为无法打开或访问 SYSTEM\CurrentControlSet\Services\ASP.NET_64_2.0.50727\Performance 键。数据部分中的第一个 DWORD 包含 Win32 错误代码。
  2. 为服务 ASP.NET_64_2.0.50727 (ASP.NET_64_2.0.50727) 安装性能计数器字符串失败。数据部分中的第一个 DWORD 包含错误代码。

然后我决定检查没有 64 后缀的 ASP.NET 的寄存器。所以我决定尝试使用 lodctl 自己添加键。(http://blogs.msdn.com/b/tom/archive/2008/04/11/asp-net-performance-counters-missing.aspx

基本上,什么都行不通,我彻底不知所措了。我只希望我的 svc 文件和 asmx 文件可以在网络上看到。任何帮助都将不胜感激。

答案1

我认为您需要完全重新安装 IIS,然后在安装 Web 服务器功能时,请务必启用WCF 服务 | HTTP 激活正如@Michelz 指出的那样。

WCF 服务 | HTTP 激活

答案2

上述方法对我有用,但不要重新启动 Windows Server 2012。(死机黑屏)。卸载并重新安装。

等待待处理的重启图标....

然后卸载并等待,然后重新添加所有内容,包括 http 激活。不要重新启动!

走开1小时。

计算机可能会回滚一些失败的更新,但不要担心,只要远离计算机即可。

最终一切都正常!

进行全新备份!

相关内容