gpt4 book ai didi

asp.net - 我们可以在同一个服务(ServiceContract)中为不同的方法(OperationContract)使用 DataContractSerializer 和 XMLFormatSerializer 吗?

转载 作者:行者123 更新时间:2023-12-01 15:40:19 27 4
gpt4 key购买 nike

代码:

        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 和数据契约(Contract)序列化时,我应该提供什么解决方法?任何帮助表示赞赏。

注意:我有非常更新的代理。我在代理中没有看到任何问题。即使我尝试了一个样本并遇到了同样的问题

最佳答案

添加 XmlSerializerFormat 属性后,您是否刷新了客户端服务引用?可能是契约(Contract)不再匹配。

关于asp.net - 我们可以在同一个服务(ServiceContract)中为不同的方法(OperationContract)使用 DataContractSerializer 和 XMLFormatSerializer 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15229195/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com