0

IIS でホストされている MSMQ を使用する WCF サービスがあります。サービスは起動せず、サービスの SVC ページへの URL がブラウザーでヒットされるまで、キューからメッセージを読み取りません。これは、展開とアプリ プールのリサイクル後に問題になります。これを解決するために、次のように Web.config で指定されたページに偽の要求を送信するIIS アプリケーション初期化モジュールをインストールしました。

<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 構成のサイト レベルで構成されます。

これを解決する方法はありますか?

4

1 に答える 1

0

EMSサーバーに接続するSVNサービスでこれを行ったので、動作するはずです。サービスを実行することさえできる次のようなことを行う 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 if
于 2013-01-19T23:10:02.390 に答える