WebMethod扩展结果对象

时间:2014-03-25 15:16:36

标签: .net vb.net web-services webmethod

我有一个asmx网络服务被强行客户所消耗。客户端已在Visual Studio中将服务导入为服务引用。

现在我需要更改Response-object GetUnitDescription_Request以获得 new 客户端的额外属性,但是那些仍然有效的。

Public Class GetUnits_Result
    property Id()
    property Name() 'This and some more is new!
    property Timestamp()
End Class

现在,当我部署此服务并覆盖旧服务时,客户端获得Id权限,但Timestamp获取默认值 - 可能是因为它失败了新名称?我只想让服务说“嘿,绕过这个新的Name() - 属性并继续”。 我无法控制客户端,因此无法更新服务引用。

<System.Web.Services.WebMethod(True, Description:="Gets Units"), SoapHeader("sHeader")> _
Public Function GetUnits(ByVal req As GetUnits_Request) As GetUnits_Result
    return GetUnits(req)
End Function

1 个答案:

答案 0 :(得分:0)

为什么不简单地创建一个新的WebMethod来返回具有新属性的新响应对象。它应该能够重用大多数相同的业务逻辑。

这样,老客户就会得到他们期望的结果,新客户也会如此。