我有一个使用 MSMQ 的 WCF 服务,托管在 IIS 中。在浏览器中点击服务的 SVC 页面的 URL 之前,服务不会启动并从队列中读取消息,这是部署和应用程序池回收后的问题。为了解决这个问题,我安装了IIS 应用程序初始化模块,它将向 Web.config 中指定的页面发送虚假请求,如下所示:
<system.webServer>
<applicationInitialization remapManagedRequestsTo="Startup.htm" skipManagedModules="true" >
<add initializationPage="/MyService.svc" />
</applicationInitialization>
</system.webServer>
我遇到的问题是当我的站点绑定到另一个域时它会访问 localhost,所以我看到了这个错误:
WebHost 未能处理请求。发件人信息:System.ServiceModel.Activation.HostedHttpRequestAsyncResult/42715336 异常:System.ServiceModel.ServiceActivationException:没有协议绑定与给定地址“http://localhost/MyService.svc”匹配。协议绑定在 IIS 或 WAS 配置中的站点级别进行配置。---> System.InvalidOperationException:没有协议绑定与给定地址“http://localhost/MyService.svc”匹配。协议绑定在 IIS 或 WAS 配置中的站点级别进行配置。
有什么想法可以解决这个问题吗?