我们目前有一个对象,我们用来传递有关属性的传入API调用的信息是消息本身。 message属性是一个XmlElement,DataContract序列化程序很乐意使用XmlElement。
我们没有添加到我们的API,这些Web服务正在通过SignalR将RPC发送到美国各地的托管客户端。我发现Json.Net库对XmlElement不满意我得到以下消息“Xmlnodeconverter只支持反序列化xml文档”。好的,所以我将使用XmlDocument然后解决这个问题...但是等待DataContract Serailizer对XmlDocument不满意。这似乎是我不能吃蛋糕并且吃它的情况。如果我使用XmlDocument,SignalR客户端很高兴,但其他应用程序不是,如果我使用XmlElement,则SignlR客户端无法重新收到消息。
注意:SignalR客户端是一个自托管的Windows服务,而不是javascript。
所以我想知道的是。除了XmlDocument之外,有没有办法让除了XmlElement或DataContract Serializer之外的Json.net。对于我们来说,改变SignalR方面会更简单,因为这是新的,而其他应用程序通常会理解XmlElement。
以下是包含XmlElement的对象:
[DataContract(Name = "AuditData")]
public class AuditData
{
[DataMember]
public XmlElement Message { get; set; }
[DataMember]
public XmlDocument MessageV2 { get; set; }
[DataMember]
public IList<ErrorMessage> Errors { get; set; }
[DataMember]
public string DealerCode { get; set; }
[DataMember]
public DateTime Time { get; set; }
[DataMember]
public IntegrationTransactionTypeEnum TransationType { get; set; }
[DataMember]
public string BooksAccountNumber { get; set; }
[DataMember]
public IntegrationStepIdEnum Step { get; set; }
[DataMember]
public IntegrationErrorLevelEnum? ErrorLevel { get; set; }
[DataMember]
public IEnumerable<Criteria> Search { get; set; }
}