将 OperationContract 中的参数更改为等效的 Nullable<T> 是否被视为重大更改?

Is changing a parameter in a OperationContract to it's Nullable<T> equivalent considered a breaking change?

考虑以下 ServiceContract-接口:

[ServiceContract]
public interface ITest
{
    [OperationContract]
    void MyMethod(int a, int b);
}

现在我们将其更改为以下内容(有效地将参数 int a 更改为 int? a):

[ServiceContract]
public interface ITest
{
    [OperationContract]
    void MyMethod(int? a, int b);
}

使用此 WCF 服务的客户端是否需要进行其他更改才能使用新服务定义?

我终于有时间测试所有内容并找出我自己的答案。

不是以下框架的重大更改:

  • .NET(C#,4.5)
  • Java 8

我没有测试任何其他东西,因为它对我们的场景无关紧要。

这意味着即使在更新 Web 服务定义之后,每个客户端仍然可以工作(无需重新生成客户端)