My.WebServices 对象

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

注解

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

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

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

属性

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

注释

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

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

可以通过分配给 Nothing 该 Web 服务的属性来释放 Web 服务。 属性 setter 分配给 Nothing 存储的值。 如果将除属性以外的 Nothing 任何值赋给,则 setter 将引发异常 ArgumentException

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

注释

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

示例:

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

Function ConvertFromFahrenheitToCelsius(
    ByVal dFahrenheit As Double) As Double

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

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

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

要求

按项目类型提供可用性

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

另请参阅