将属性添加到参数时,.NET Web服务是否会中断?

时间:2009-01-20 09:36:35

标签: c# .net web-services

我有一个.NET Web服务,它托管一个名为AddMyObject的方法。

[WebMethod]
public void AddMyObject(MyObject[] objects){...}

将MyObject声明为

public class MyObject
{
    public string Pro1{get;set;}
    public string Pro2{get;set;}
}

如果我现在向MyObject添加一个属性,客户端从新的WSDL创建一个新的代理并使用此属性,Web服务的旧实例是否能够处理它?当然新的属性将是null,但是会有任何异常吗?

3 个答案:

答案 0 :(得分:1)

幸运的是,我刚刚找到时间为这个问题编写一些测试服务。

实际发生的情况是,如果在客户端添加了属性,则会在旧服务上忽略该属性。

即使在客户端删除了一个属性,服务器上也没有异常:该属性只是null

答案 1 :(得分:0)

是的,一般来说它会失败。不一定在.NET客户端上(它相当宽松),但其他客户端将失败。

答案 2 :(得分:0)

这是一个很好的问题,为此+1。

我从未尝试过,但我会说它可能会奏效。请告诉我们结果:)