2011-07-29 8 views
1

質問を始める前に、少し背景情報を入力してください。私はjquery.ajax経由で呼び出されているWCFサービスを持っています。私は、コンソールウィンドウで見ることができ、要求が一度だけ起こっていることを他のツールで確認することができます。WCFサービスの複数のメソッドが1つのAjaxリクエストを呼び出します

サーバー側では、メソッドを3回正確に実行しています。これはどうしてできますか?私は次の属性で装飾していたサービスと署名

[OperationContract] 
[WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] 
public ResponseEnvelope AddToCart(Order[] Order) //ResponseEnvelope 
{ 
    ..... 
} 

で興味深いのは、私がvoidResponseEnvelopeからの応答を変更すると、それが正常に動作していることです。

これは私のDataContractsとオブジェクトの階層と関係があると思われています。私はそれを今すぐテストしています。

何か助けていただければ幸いです。

+0

jqueryコードを投稿できますか? – VJAI

答えて

0

私は休暇中でしたが、誰かを助ける場合に備えて、この問題に対する答えです。問題には、問題を解決するのに十分な情報が含まれていない可能性があります。

問題が判明したのはシリアライザの内部です。 DataContract内の型としてオブジェクトを使用すると、最終的に取得できるエラーが生成されました。エラーメッセージは、実際に問題を解決する方法について非常に明示的なので、私はそれを残しておきます。

KnownTypeAttribute属性を使用するか、DataContractSerializerに渡される既知の型のリストに追加するなど、既知の型の一覧に静的に認識されない型を追加します。 System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.SerializeWithXsiTypeでSystem.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeAndVerifyType(のDataContractのDataContract、XmlWriterDelegatorたXmlWriter、オブジェクトobj、ブールverifyKnownType、RuntimeTypeHandle declaredTypeHandle) (XmlWriterDelegatorたXmlWriter、オブジェクトobj、RuntimeTypeHandle objectTypeHandleにおいて、型ObjectType、Int32 declaredTypeID、RuntimeTypeHandle declaredTypeHandle、型宣言型) ...

関連する問題