6

Windows Server 2008 R2 で ASP.Net アプリを実行しています。.NET Framework 4.5 までがインストールされています。.NET Framework v2.0 から v4.0 に移行すると、WCF のランダムな動作が発生し始めました。

私の Web サービスは JSON を返します。IIS を再起動すると、サービスは完全に有効な JSON を約 3 ~ 5 回返します。その後、JSON は無効になります。私は、Fiddler を介して何が送信されているかを調べました。また、クライアント アプリ (サービスを呼び出す Adob​​e AIR アプリ) とサーバー自体の両方で自分のログを調べました。

Fiddler は、生の応答に実際に無効な JSON が含まれていることを示しています。JSON のランダムなポイントから応答 JSON が再び書き出され始め、そこにあるはずのものを上書きし、その過程で破損した JSON が生成されるようです。

この連結例を参照してください。

{"responseCode":0,"actionCode":"OK","cdn{"responseCode":0, "actionCode".....

"responseCode" (JSON 応答の先頭にのみ表示されるはずです) が、JSON のさらに先で突然再び表示されることに注意してください。"cdn{"responseCode":0もちろん無効なJSONです。

私は多くのパッチを試しました。さまざまなフレームワークとさまざまな組み合わせで実行してみましたServiceModelReg.exeaspnet_regiis.exe同じ動作。v2.0 の下の以前のコードに戻り、アプリケーション プールを v2.0 に戻すと、すべて正常に動作します。

これは WCF の奥深いバグだと思います。何か案は?

この時点で私が持っている唯一の手段は、WCF を取り除き、必要に応じてすべてのコードをデバッグできる ServiceStack のようなものに切り替えることです。

4

2 に答える 2

0

InstanceContextMode を Single/PerSession に設定していますか?

これを参照してください... 2つの回答を混同してください

于 2014-04-03T19:23:17.747 に答える