【问题标题】:Is changing a WCF data member to nullable a breaking change?将 WCF 数据成员更改为可为空的是否是一项重大更改?
【发布时间】:2020-02-24 14:04:35
【问题描述】:

我有一个由客户端调用的 WCF 服务。

如果我当前的返回值数据协定是:

[Serializable]
[DataContract]
public class StatisticsDto
{
    [DataMember]
    public int EmployeeId { get; set; }
}

我只将服务器实现更改为:

[Serializable]
[DataContract]
public class StatisticsDto
{
    [DataMember]
    public int? EmployeeId { get; set; }
}

在我更新客户端之前,这是否会导致不兼容?还是该值会自动转换为 int,除非它为 null?

【问题讨论】:

  • 是的,它是...客户端无法反序列化null ...但只要您不发送 null 就不应该有问题...当然这可能取决于使用消息序列化程序

标签: c# .net wcf


【解决方案1】:

同意评论者@Selvin。在您更新客户端以处理 EmployeeId 字段中的空值之前,这对客户端来说无疑是一个重大更改。

【讨论】:

    猜你喜欢
    • 2021-08-13
    • 1970-01-01
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-26
    • 1970-01-01
    相关资源
    最近更新 更多