【发布时间】:2021-01-08 12:57:40
【问题描述】:
我有一个 WCF 请求,在某些 Windows 更新之前工作正常。之后我收到此错误,我无法找到解决方法。
错误是:尝试反序列化参数http://tempuri.org/:CommandRequestResult时出错。有关详细信息,请参阅 InnerException。
InnerException:此处不允许输入“NEntities.IPAElement, NEntities, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”。请参阅https://go.microsoft.com/fwlink/?linkid=2132227 了解更多信息。
这是我的 IPAElement 类和其中包含的枚举。即使我用字符串更改枚举,我仍然会遇到同样的错误,所以这应该不是问题
[Serializable()]
[DataContract(IsReference = true)]
public class IPAElement//:ISerializable
{
public IPAElement(List<string> bodyElNames, List<ElementType> bodyElTypes)
{
BodyElement = bodyElNames;
BodyRowElementType = bodyElTypes;
}
public IPAElement()
{ }
[DataMember]
public List<string> HeaderElement;
[DataMember]
public List<string> BodyElement;
[DataMember]
public List<string> FooterElement;
[DataMember]
public List<ElementType> HeaderRowElementType;
[DataMember]
public List<ElementType> BodyRowElementType;
[DataMember]
public List<ElementType> FooterRowElementType;
}
[可序列化]
公共枚举元素类型
{
[XmlEnum("1")]
ElementName = 1,
[XmlEnum("2")]
Material = 2,
[XmlEnum("3")]
MaterialColor = 3,
[XmlEnum("4")]
Notes_1 = 4,
[XmlEnum("5")]
Notes_2 = 5,
[XmlEnum("6")]
Notes_3 = 6,
};
关于如何解决它的任何想法? 谢谢 安德烈亚
【问题讨论】:
-
App.config 可用于扩展允许的类型列表。我认为您可以尝试将 NEntities.IPAElement 添加到允许的类型列表中。
标签: c# wcf serialization