2011-11-18 32 views
1

最佳实现方法是什么?将一个类引用为一个Web服务

我正在构建将作为Web服务托管的应用程序。这个应用程序需要一个employeeID并返回一个员工对象,其中包含许多关于该员工的信息。 (名称,状态,全职/兼职等)

我希望我们现有的两个应用程序(还有更多)能够调用Web服务将要使用的方法并返回雇员目的。 (同样在返回对象的这个Web服务时,可能会添加新的字段 - 支付率等)

我该如何去从现有应用程序中的这个Web服务引用中创建一个新对象。

我会像Dim Employee as new emp_webservice.employee那样去除它吗?

然后就可以在应用程序中使用这个对象?或者更好的做法是否也包括相同的类文件?看起来这不会是要走的路,因为如果我改变这个班,那么我必须在所有地方做到这一点

感谢您对此的任何澄清。

回答

2

当您在.net应用程序中添加对Web服务的引用时,该Web服务公开的对象存在于您为该Web服务添加到应用程序时为其创建的名称空间中。

因此,如您所指出的,任何对该Web服务中的类的引用都需要引用该Web服务的名称空间。如果您不想完全符合每班的资格,您也可以有Imports WebServiceNameSpace

如果使用VS.Net提供的自动Web服务接口生成功能,则不能真正包含类文件。另外,如果更改Web服务中的属性,那些更新的属性将不会传播到客户端,除非更新项目中的Web服务引用。

最后,如果您想在客户端的Web服务类中添加方法或附加属性,则可以使用Partial类。

例如,假设Web服务只提供小时工资率,但我想在客户端显示每周工资。我可以扩展Web服务类如下:

Namespace emp_webservice 
    Partial Public Class employee 
     Public Function GetWeeklyPayRate() As Decimal 
      Return Me.HourlyRate * 8 * 5 
     End Function 
    End Class 
End Namespace