3

ここではアイデアが不足しているので、誰かが助けてくれることを願っています。これが私が持っているものです:

  • 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
4

1 に答える 1

1

私はそれを考え出した!WCFとは何の関係もありませんでした。サーバーに移動すると、データベース接続文字列が無効になりました。エラー ログ (電子メールへの) 構成も無効になり、例外が発生していました。応答に 15 秒かかったのは、それが SQL サーバー接続のタイムアウトにかかった時間だからです。

于 2010-04-15T20:16:38.027 に答える