Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用包含XmlElement类型属性的对象时,DataContract序列化程序和Json.Net_C#_Json_Serialization_Signalr - Fatal编程技术网

C# 使用包含XmlElement类型属性的对象时,DataContract序列化程序和Json.Net

C# 使用包含XmlElement类型属性的对象时,DataContract序列化程序和Json.Net,c#,json,serialization,signalr,C#,Json,Serialization,Signalr,我们目前有一个对象,用来传递有关属性的传入API调用的信息的是消息本身。message属性是一个XmlElement,DataContract序列化程序很乐意使用XmlElement完成它的工作 我们没有添加到我们的API中,这些web服务正在通过Signal向美国各地的托管客户端制作RPC。我发现Json.Net库对XmlElement不满意,我得到以下消息“Xmlnodeconverter只支持反序列化xml文档”。好吧,那我就用一个XmlDocument来解决这个问题。。。但是等等,Dat

我们目前有一个对象,用来传递有关属性的传入API调用的信息的是消息本身。message属性是一个XmlElement,DataContract序列化程序很乐意使用XmlElement完成它的工作

我们没有添加到我们的API中,这些web服务正在通过Signal向美国各地的托管客户端制作RPC。我发现Json.Net库对XmlElement不满意,我得到以下消息“Xmlnodeconverter只支持反序列化xml文档”。好吧,那我就用一个XmlDocument来解决这个问题。。。但是等等,DataContract Serailizer不喜欢XML文档。这似乎是一种我既不能吃蛋糕又不能吃蛋糕的情况。如果我使用XmlDocument,signar客户机会满意,但其他应用程序则不会,如果我使用xmlement,SignlR客户机将无法接收消息

注意:SignalR客户端是自托管的windows服务,而不是javascript

所以我想知道的是。有没有一种方法可以将Json.net发送到except XmlElement,或者将DataContract序列化程序发送到except XmlDocument。对我们来说,更改信号器端会简单得多,因为这是新的,其他应用程序都理解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; }
[DataContract(Name=“AuditData”)]
公共类审核数据
{
[数据成员]
公共XmlElement消息{get;set;}
[数据成员]
公共XmlDocument消息v2{get;set;}
[数据成员]
公共IList错误{get;set;}
[数据成员]
公共字符串DealerCode{get;set;}
[数据成员]
公共日期时间{get;set;}
[数据成员]
公共集成TransactionTypeEnum TransactionType{get;set;}
[数据成员]
公共字符串BooksAccountNumber{get;set;}
[数据成员]
公共集成StepIdeNum步骤{get;set;}
[数据成员]
公共集成ErrorLevelEnum?ErrorLevel{get;set;}
[数据成员]
公共IEnumerable搜索{get;set;}
}