My.WebServices 对象

提供了用于创建和访问当前项目引用的每个 XML Web 服务实例的属性。

注解

My.WebServices 对象提供当前项目所引用的每个 Web 服务的实例。 按需实例化每个实例。 可以通过 My.WebServices 对象的属性访问这些 Web 服务。 该属性的名称与该属性所访问的 Web 服务的名称相同。 任何自 SoapHttpClientProtocol 继承的类均为 Web 服务。 有关将 Web 服务添加到项目的信息,请参阅访问应用程序 Web 服务

对象 My.WebServices 只公开与当前项目关联的 Web 服务。 它不会提供对引用 DLL 中声明的 Web 服务的访问权限。 若要访问 DLL 提供的 Web 服务,必须使用 Web 服务的限定名称,格式为 DllName.WebServiceName。 有关详细信息,请参阅访问应用程序 Web 服务

对象及其属性不适用于 Web 应用程序。

属性

My.WebServices 对象的每种属性都提供对当前项目引用的 Web 服务实例的访问。 属性的名称与属性访问的 Web 服务的名称相同,并且属性类型与 Web 服务类型相同。

注意

如果存在名称冲突,则用于访问 Web 服务的属性名称为 RootNamespace_Namespace_ServiceName。 例如,请考虑两个名为 Service1 的 Web 服务。 如果其中一种服务位于根命名空间 WindowsApplication1 和命名空间 Namespace1 中,则可以使用 My.WebServices.WindowsApplication1_Namespace1_Service1访问该服务。

第一次访问 My.WebServices 对象的其中一个属性时,它会创建 Web 服务的新实例并进行存储。 该属性的后续访问将返回 Web 服务的该实例。

可以通过将 Nothing 分配给该 Web 服务的属性来处置该 Web 服务。 属性资源库会将 Nothing 分配给存储的值。 如果将除 Nothing 之外的任何值分配给属性,则资源组会引发 ArgumentException 异常。

可以使用 IsIsNot 运算符测试 My.WebServices 对象的属性是否存储 Web 服务的实例。 可以使用这些运算符检查属性的值是否为 Nothing

注意

通常,IsIsNot 运算符必须读取属性的值才能进行比较。 但是,如果属性当前存储 Nothing,该属性便会创建 Web 服务的新实例,然后返回该实例。 但是,Visual Basic 编译器会专门处理 My.WebServices 对象的属性,并允许 IsIsNot 运算符无需更改属性的值即可检查属性的状态。

示例

此示例调用 TemperatureConverter XML Web 服务的 FahrenheitToCelsius 方法,并返回结果。

Function ConvertFromFahrenheitToCelsius(
    ByVal dFahrenheit As Double) As Double

    Return My.WebServices.TemperatureConverter.FahrenheitToCelsius(dFahrenheit)
End Function

若要使此示例正常工作,项目必须引用名为 Converter 的 Web 服务,并且该 Web 服务必须公开 ConvertTemperature 方法。 有关详细信息,请参阅访问应用程序 Web 服务

此代码在 Web 应用程序项目中不起作用。

要求

可用性(按项目类型)

项目类型 可用
Windows 应用程序
类库
控制台应用程序
Windows 控件库
Web 控件库
Windows 服务
网站

另请参阅