1

ASP.NET Web サイトから WCF 4.0 カスタム サービス エンドポイントまで、VS10 内から Web サービス参照を作成します。すべてがサンドボックスで実行/展開されている場合は正常に動作しますが、別のサーバーに展開すると次のエラーが発生します。

System.ServiceModel.CommunicationException: の受信中にエラーが発生しました

http://mywcfservices.com:888/SvcLibrary.MyService.svcへの HTTP 応答 。

これは、サービス エンドポイント バインディングが HTTP プロトコルを使用していないことが原因である可能性があります。

これは、HTTP 要求コンテキストがサーバーによって中止されたことが原因である可能性もあります

(おそらくサービスのシャットダウンが原因です)。

ASP.NET クライアント Web サイトで VS10 によって生成されたweb.config セクションを次に示します。また、HttpBasicBinding ではなく wsHttpBinding バインディングが生成されることに気付きましたが、それは私の問題ですか? これは HTTPS デプロイメントではありません。

  <system.serviceModel>

<bindings>

<wsHttpBinding>

<binding name="WSHttpBinding_IXRMService" closeTimeout="00:01:00"

openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"

bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"

maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text"

textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">

<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"

maxBytesPerRead="4096" maxNameTableCharCount="16384" />

<reliableSession ordered="true" inactivityTimeout="00:10:00"

enabled="false" />

<security mode="Message">

<transport clientCredentialType="Windows" proxyCredentialType="None"

realm="" />

<message clientCredentialType="Windows" negotiateServiceCredential="true"

algorithmSuite="Default" />

</security>

</binding>

</wsHttpBinding>

</bindings>

<client>

<endpoint address="http://mywcfservices.com:888/SvcLibrary.MyService.svc"

binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IXRMService"

contract="XRMService.IXRMService" name="WSHttpBinding_IXRMService">

<identity>

<dns value="localhost" />

</identity>

</endpoint>

</client>

</system.serviceModel>
4

1 に答える 1

0

wsHttpBindings は必ずしも Web サービス呼び出し全体で HTTPS を実行するためだけのものではありません。これは、basicHttp でも同様に実行できるためです。wsHttp は、WS-* 仕様 (特にアドレス指定、メッセージレベルのセキュリティなど)。

サーバー側/サービス側の構成 xml を送信できますか? これは、WCF 自体 (<service> タグ内のもの) を構成する構成セクションになります。これは、IIS がサービス呼び出しを好まない理由を確認するのに役立ちます。

于 2012-10-08T20:26:57.043 に答える