C# 参数对象[type]的类型不是基元
我正在尝试使用ASP.NET web服务创建一个简单的留言簿web服务 尝试序列化对象列表时,出现以下异常:C# 参数对象[type]的类型不是基元,c#,asp.net,web-services,asmx,C#,Asp.net,Web Services,Asmx,我正在尝试使用ASP.NET web服务创建一个简单的留言簿web服务 尝试序列化对象列表时,出现以下异常: System.InvalidOperationException: The type of the argument object 'GuestBookService.GuestBookEntry' is not primitive. 如何修复此错误?留言簿是否标记为可序列化? 留言簿是否标记为可序列化? 我有相同的精确错误,但在我的情况下,解决方案不同。 我的错误是,我创建了一个返回
System.InvalidOperationException: The type of the argument object 'GuestBookService.GuestBookEntry' is not primitive.
如何修复此错误?留言簿是否标记为可序列化?
留言簿是否标记为可序列化?
我有相同的精确错误,但在我的情况下,解决方案不同。 我的错误是,我创建了一个返回基类类型的web方法,并试图返回派生类
public BaseClass MyMethod() { /*...*/ }
我会尝试返回BaseClassDerivativeA、BaseClassDerivativeB等。派生类将自己的字段添加到基类的字段中。
我注意到多态性在这个意义上似乎是
我将我的派生类推广到一个类,从而删除了返回类型中的这种多态性。这修复了我的错误。我有相同的错误,但在我的情况下,解决方案不同。 我的错误是,我创建了一个返回基类类型的web方法,并试图返回派生类
public BaseClass MyMethod() { /*...*/ }
我会尝试返回BaseClassDerivativeA、BaseClassDerivativeB等。派生类将自己的字段添加到基类的字段中。
我注意到多态性在这个意义上似乎是
我将我的派生类推广到一个类,从而删除了返回类型中的这种多态性。这修复了我的错误。如果GuestBookService是一个子类,并且保存它的属性是其超类的类型,那么您必须为序列化程序提供以下额外类型:
Type[] extraTypes = {typeof(GuestBookService)};
XmlSerializer serializer = new XmlSerializer(typeof(DataContainerClass),extraTypes);
如果GuestBookService是一个子类,并且保存它的属性是其超类的类型,那么您必须为序列化程序提供以下额外类型:
Type[] extraTypes = {typeof(GuestBookService)};
XmlSerializer serializer = new XmlSerializer(typeof(DataContainerClass),extraTypes);
你能不能在抛出这个错误的那一行周围贴一些代码?很难单独诊断。请在引发此错误的行周围发布一些代码,好吗?很难单独诊断。出于某种原因,即使父类中有
xmlclude
和KnownType
,在尝试从android应用程序与WCF服务通信时,我仍然必须这样做以清除错误。出于某种原因,即使父类中有xmlclude
和KnownType
,我仍然有要执行此操作,请清除尝试从android应用程序与WCF服务通信时出现的错误。