2012-11-07 10 views
6

Windows Server 2008 R2上でASP.Netアプリケーションを実行しています。 .NET Framework 4.5がインストールされています。 .NET Framework v2.0からv4.0への移行時に、私はWCFからランダムな動作を経験し始めました。無効なJSONがWCFによってランダムに返される

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

フィドラーは、生の応答が無効なJSONが含まれている実際にはないことを示しています。 JSONのレスポンスJSONがもう一度書き直されるようになり、何がそこにあるべきかを上書きして、プロセス中にマングルされたJSONを生成しているようです。 (だけJSONレスポンスの先頭に表示されます)「にResponseCodeは」突然、さらに上のJSONに再び表示方法

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

注:

は、この連結の例を参照してください。 "cdn{"responseCode":0はもちろん無効なJSONです。

私は、多くのパッチを試してみました。私は別の枠組みの下で、さまざまな組み合わせでからServiceModelReg.exeaspnet_regiis.exeを実行しようとしました。同じ振る舞い。以前のコードをv2.0に戻して、アプリケーションプールをv2.0に戻すと、すべて正常に動作します。

私は、これはWCFで深いバグであると信じます。何か案は?この時点で私が持っている

唯一の頼みの綱は、WCFをリッピングし、必要であれば、私はすべてのコードにデバッグすることができServiceStackのようなものに切り替えることです。

+1

は、バッファが送信/受信後にクリアされていないいくつかのバッファが再送され、バッファリング問題の一種、またはのように見えます。 –

+4

私はこれに関する既存の問題について認識していません。しかし、あなたが復興コードを投稿できるかどうかを理解することは役に立ちます。 – Praburaj

+0

あなたは失敗したリクエストを試してみましたか? JavaScriptSerializer()を使用してリターンオブジェクトを実行しようとしましたが、そこに不具合があるかどうかを確認しましたか?必要に応じて、フレームワークにデバッグすることができます(http://msdn.microsoft.com/en-us/library/cc667410.aspxを参照)。 – Pete

答えて

1

全く同じ問題がありました。私は私のweb.configファイルからこれらの2つのエントリを削除することによって、これを固定:

<system.serviceModel> 
    <diagnostics> 
     <messageLogging logEntireMessage="true" logMessagesAtTransportLevel="true" maxSizeOfMessageToLog="-1" maxMessagesToLog="-1" /> 
    </diagnostics> 
</system.serviceModel> 

<system.diagnostics> 
    <sources> 
     <source name="System.ServiceModel.MessageLogging"> 
      <listeners> 
       <add name="messages" type="MyCustomListener" /> 
      </listeners> 
     </source> 
    </sources> 
</system.diagnostics> 
+0

上記の解決策やコメントの一部が機能している可能性があります。知りません。私の最終的な解決策は、WCFを放棄してService Stackを使用することでした。これまでのところ、私はそれがWebサービスを実装するための優れたアーキテクチャであることを発見しています。 –

0

あなたはシングル/ PerSessionにInstanceContextModeを設定していますか?

これを参照してください... Mix up two responses

関連する問題