我有一个使用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或中的站点级别配置。-> System.InvalidOperationException:没有任何协议绑定与给定的地址'http://localhost/MyService.svc'匹配。协议绑定在IIS或中的站点级别配置。
我有什么办法解决这个问题吗?
发布于 2013-01-19 23:10:02
我是通过SVN服务连接到EMS服务器来完成这一任务的,因此它应该可以工作。如果它没有创建一个ASPX页面,它可以执行类似下面的操作,甚至可以执行您的服务。
<%@ Page aspcompat=true Language="VBScript" %>
Dim objSvrHTTP
Dim PostData
Dim WebName
Dim SoapAction
SoapAction = "Your Soap Action"
WebName = Request.URL.Host & ":" & Request.URL.Port
objSvrHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP")
PostData = "Soap Post XML (Recoreded probably)"
objSvrHTTP.open("POST", "http://" & WebName & "/path/SVCFile.svc", false)
objSvrHTTP.setRequestHeader("Content-Type", "text/xml" )
' set SOAPAction as appropriate for the operation '
objSvrHTTP.setRequestHeader("SOAPAction", SoapAction )
objSvrHTTP.Send(cstr(PostData))
dim serviceResponse
dim ExpectedResponse
ExpectedResponse = "asdf"
serviceResponse = objSvrHTTP.responseText
if (serviceResponse <> ExpectedResponse) then
Response.Write("The Service Didn't return false and should have. it returned: " )
Response.Write(serviceResponse)
else
Response.Write("OK")
end ifhttps://stackoverflow.com/questions/11903452
复制相似问题