3
public interface IServices
{
[OperationContract]
[XmlSerializerFormat]
GetProductsResponse Getproducts(GetProductsRequest productsrequest);
[OperationContract]
SaveProductsResponse SaveProducts1(SaveProductsRequest1 productsrequest);
}
[DataContract]
public class SaveProductsRequest1
{
[DataMember]
public List<Person> Persons;
}
[DataContract]
public class Person
{
[DataMember]
public int Id;
}
客戶:
ServicesClient client = new ServicesClient();
SaveProductsRequest1 req = new SaveProductsRequest1();
req.Persons = new List<Person> { new Person { Id = 10 } }.ToArray();
client.SaveProducts1(req);
我調用來自客戶端的SaveProducts1
呼叫並不能在我的服務端來獲取值「10」(似乎反序列化問題)。但是,當我從Getproducts
呼叫中刪除[XmlSerializerFormat]
屬性時,它只是正常工作,我能夠看到值10.
爲什麼會發生(爲什麼SaveProducts1取決於Getproducts OperationContract)?當我想使用xml和datacontract序列化時,我應該提供哪種解決方法?任何幫助讚賞。
注:我有非常新的代理。我沒有看到任何代理問題。即使我嘗試了一個樣本並得到同樣的問題
更新了問題 – 2013-03-05 17:01:15