2011-10-18 17 views
0

私はEntity Framework 4.0を使用しているASP.NET Webサービスを持っています。ASP.NET WebService - Entity Framework

のSystem.InvalidOperationException::私はローカルWebサービス上のいずれかの方法を実行すると

、それは以下の例外をスローして XMLドキュメントを生成するエラーが発生しました。 ---> System.InvalidOperationException:XML シリアライズ可能であるためには、IEnumerableから継承する型は、 継承階層のすべてのレベルで、Add(System.Object)の 実装を持たなければなりません。 System.Data.Objects.ObjectQuery`1 [testGoogleEarth、Version = 1.0.0.0、Culture =ニュートラル、 PublicKeyToken = null]]は、Add(System.Object)を実装していません。 System.Xml.Serialization.TypeScope.GetEnumeratorElementType(タイプtype、 TYPEFLAGS &フラグ)で System.Xml.Serialization.TypeScope.ImportTypeDesc(タイプtype、 のMemberInfoのMemberInfo、ブールdirectReference)で System.Xml.Serializationで。 System.Xml.Serialization.XmlSerializationWriter.WriteTypedPrimitive(文字列 名、文字列で System.Xml.Serialization.XmlSerializationWriter.CreateUnknownTypeException(タイプ タイプ)でTypeScope.GetTypeDesc(タイプタイプ、のMemberInfo ソース、ブールdirectReference、ブールthrowOnError) ns、Object o、Boolean xsiType): Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.W rite1_Object(文字列 N、ストリングNS、オブジェクトo、ブールISNULLABLE、ブールneedType) Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write7_JsonResultで(文字列 N、ストリングNS、化するJsonResult O、ブールISNULLABLE、ブールneedType)
System.Xml.Serialization.XmlSerializer.Serialize(たXmlWriter たXmlWriter、オブジェクトo、XmlSerializerNamespaces名前空間、文字列 encodingStyleを、文字列ID)で Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write9_JsonResult(オブジェクト O)で---エンド内部例外スタックトレース --- System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter、Object o、XmlSerializerNamespaces名前空間、文字列) System.Web.Services.Protocols.XmlReturnWriter.Write(のHttpResponse 応答、ストリームのOutputStream、物体を System.Xml.Serialization.XmlSerializer.Serialize(たTextWriter たTextWriter、オブジェクトo、XmlSerializerNamespaces名前空間)でencodingStyleを、文字列ID) System.Web.Services.Protocols.WebServiceHandler.WriteReturnsでのreturnValue)(オブジェクト[] System.Web.Services.Protocols.WebServiceHandler.Invoke()

私はこのサンプルを実行している時 returnValues) Windows Server 2008. .NET 4.0がインストールされています。

おかげ

+1

あなたはExceptionのページを与える必要はなく、代わりにコードを最初に掲示し、あなたの例外に主要な感情を与えてください。それで、私たちはあなたを助けることができます。 –

+0

これは私が持っているすべての例外です!私はEf 4.0でASP.NET Webサービスを使用しています。 – Bill

答えて

0

あなたは、ワイヤ全体でWCF要求をシリアル化するために使用しているのXmlSerializerに問題があります。オブジェクトグラフのIEnumerableクラスにはパブリックメソッドを追加する必要があります。
http://www.hanselman.com/blog/YouMustImplementTheAddSystemObjectMethodOnMyClassBecauseItInheritsFromIEnumerable.aspx

+0

ASP.NET Webサービスではなく、EF 4.0を使用しているWCF – Bill

+0

残念ですが、この問題はシリアライザに関連しており、WCFサービス\ asmxサービスには関連していません。オブジェクトグラフを確認しましたか? – Chandermani

+0

オブジェクトグラフの確認方法は?実際には考えていない。ありがとう – Bill

関連する問題