实现这一目标的最佳方法是什么。
我正在构建将作为Web服务托管的应用程序。此应用程序采用employeeID并返回包含有关该员工的大量信息的员工对象。 (姓名,身份,全职/兼职等)
我希望我们拥有的两个现有应用程序(以及更多内容)能够调用Web服务将拥有的方法并返回employee对象。 (此时返回该对象的此Web服务可能会添加新字段 - 支付率等)
如何在现有应用程序中从此Web服务引用创建新对象。
我会像Dim Employee as new emp_webservice.employee
那样对其进行十分判断吗?
然后能够在应用程序中使用此对象?或者更好的做法是还包括相同的类文件?看起来这不是可行的方法,因为如果我改变那个课程,那么我必须在所有地方制作它
感谢您对此作出任何澄清。
答案 0 :(得分:2)
在.net应用程序中添加对Web服务的引用时,该Web服务公开的对象存在于为该Web服务添加到应用程序时为该Web服务创建的命名空间中。
因此,正如您所指出的那样,对该Web服务的类的任何引用都需要引用该Web服务的命名空间。如果您不想完全符合每个班级的资格,您也可以拥有Imports WebServiceNameSpace
。
如果您使用VS.Net提供的自动Web服务接口生成功能,则无法真正包含类文件。
此外,如果更改Web服务中的属性,则在更新项目中的Web服务引用之前,这些更新的属性不会传播到客户端。
最后,如果要在客户端向Web服务类添加方法或其他属性,可以使用Partial
类。
例如,假设网络服务仅提供小时工资率,但我想在客户端显示每周工资。我可以按如下方式扩展Web服务类:
Namespace emp_webservice
Partial Public Class employee
Public Function GetWeeklyPayRate() As Decimal
Return Me.HourlyRate * 8 * 5
End Function
End Class
End Namespace