ここではアイデアが不足しているので、誰かが助けてくれることを願っています。これが私が持っているものです:
- basicHttpBinding エンドポイントのみを持つ WCF サービス。
- サービス インターフェイスのみがあり、他のすべての [DataMember]、[FaultContract] は具象型です。
- (WCF テスト クライアントまたはカスタム アプリを使用して) Visual Studio から直接実行すると、すべてが機能します (要求を送信して応答を取得します)。通常、これには 1 ~ 2 秒かかります。
- IIS 6 サーバーに公開しました。
- http://server/WebService/WebService.svc?WSDLを正常に開くことができます
- http://server/WebService/WebService.svc/mexを正常に開くことができます(上記と同じ出力) 。
- WCF テスト クライアントとカスタム アプリは、サービス参照を正常に追加できます
- サービス メソッドを呼び出そうとすると、約 15 秒間待機し、恐ろしい「無意味な応答」エラーが発生します。
- Fiddler を実行したところ、202 という結果が得られました。これは成功したように見えます。
- 65536 バイトを超える値が返されない
- 配列を返していますが、小さいです
- リモート デバッグを試みましたが、おそらくファイアウォールが原因で動作しません (ただし、ポート 80 が開いているため、WSDL を取得できます)。
- system.diagnostics を有効にしましたが、何も有効にしませんでした。
- 通常は何もログに記録しない IErrorHandler があります。
エンドポイントの構成は次のとおりです。
<endpoint address="" binding="basicHttpBinding" contract="Enterprise.IMyService" bindingNamespace="http://ourdomain.com/MyService/">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
他に試せることはありますか?おそらくどこかの簡単な設定なのですが、わかりません。
編集:
生のフィドラーの応答:
HTTP/1.1 202 Accepted
Date: Thu, 15 Apr 2010 19:02:45 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Length: 0