一段时间以来,我们已经能够成功地自动将 MVC 和 WebApi 部署到 Win2008 R2 上的 IIS7.5。就在本周,MSDeploy 停止工作。尝试在目标 Win200 R2 服务器上重新启动 Web 管理服务时,系统事件日志显示此错误:
The Web Management Service service terminated with service-specific error %%-2147483640.
应用程序日志在上述错误发生的同一时间显示此错误。
IISWMSVC_STARTUP_UNABLE_TO_ACTIVATE_HWC
Failed to activate the Hostable Web Core (HWC). Web Management Service startup failed. Please reference the Win32 error in this event for further information. Exception:System.Runtime.InteropServices.COMException (0x8007007F): The specified procedure could not be found. (Exception from HRESULT: 0x8007007F) at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) at Microsoft.Web.Management.Server.WebServer.Microsoft.Web.Management.Server.Interop.IWebServer.Start() Process:WMSvc User=NT AUTHORITY\LOCAL SERVICE
上述错误之前有此警告:
A listener channel for protocol 'http' in worker process '7164' serving application pool 'WMSvcAppPool' reported a listener channel failure. The data field contains the error number.
前面有这个错误:
Failed to find the RegisterModule entrypoint in the module DLL C:\Windows\Microsoft.NET\Framework64\v4.0.30319\webengine.dll. The data is the error.
我们尝试使用 https://ourservername:8172/MsDeploy.axd
访问目标服务器。响应是:
Error 102 (net::ERR_CONNECTION_REFUSED): The server refused the connection
发生这种情况是因为端口被阻止还是因为 Web 管理服务未运行? (具有高级安全性的 Windows 防火墙对话框显示“Windows 防火墙已关闭”,并且防火墙日志 (C:\Windows\System32\LogFiles\Firewall) 中没有任何条目。
我们看到一些帖子表明证书可能是问题所在。虽然不确定如何实际判断是否是这种情况。我们拥有的 CERT 表示其有效期至 2029 年。
最佳答案
我通过更改设置为原始主机的 SSL 证书解决了克隆 Win2012 VM 上的问题。我用的是self-cert。
我把它作为一个可能的答案放在这里,因为我没有仔细阅读这个问题,看不到结尾处的 SSL 评论 ;) 尽管修复花费了 30 秒,但我们至少花了 2 天时间尝试其他一切。
关于IISWMSVC_STARTUP_UNABLE_TO_ACTIVATE_HWC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29987583/