WebReference 类

定义

说明对 XML Web services 集合的引用。

public ref class WebReference sealed
public sealed class WebReference
type WebReference = class
Public NotInheritable Class WebReference
继承
WebReference

示例

下面的代码示例演示了此类的用法。

using System;
using System.CodeDom;
using System.CodeDom.Compiler;
using System.Security.Permissions;
using System.Web.Services;
using System.Web.Services.Description;
using System.Web.Services.Discovery;
using System.Xml;
using System.Xml.Serialization;

class Test
{

    [SecurityPermissionAttribute(SecurityAction.Demand, Unrestricted=true)]
    static void Run(){

   // Get a WSDL file describing a service.
        ServiceDescription description = ServiceDescription.Read("DataTypes_CS.wsdl");

    // Initialize a service description importer.
    ServiceDescriptionImporter importer = new ServiceDescriptionImporter();
    importer.ProtocolName = "Soap12";  // Use SOAP 1.2.
    importer.AddServiceDescription(description,null,null);

    // Report on the service descriptions.
    Console.WriteLine("Importing {0} service descriptions with {1} associated schemas.",
                      importer.ServiceDescriptions.Count, importer.Schemas.Count);

    // Generate a proxy client.
    importer.Style = ServiceDescriptionImportStyle.Client;

    // Generate properties to represent primitive values.
    importer.CodeGenerationOptions = System.Xml.Serialization.CodeGenerationOptions.GenerateProperties;

    // Initialize a Code-DOM tree into which we will import the service.
    CodeNamespace nmspace = new CodeNamespace();
    CodeCompileUnit unit1 = new CodeCompileUnit();
    unit1.Namespaces.Add(nmspace);

    // Import the service into the Code-DOM tree. This creates proxy code
    // that uses the service.
    ServiceDescriptionImportWarnings warning = importer.Import(nmspace, unit1);

    if (warning == 0)
    {
        // Generate and print the proxy code in C#.
        CodeDomProvider provider1 = CodeDomProvider.CreateProvider("CSharp");
        provider1.GenerateCodeFromCompileUnit(unit1, Console.Out, new CodeGeneratorOptions());
    }
    else
    {
        // Print an error message.
        Console.WriteLine("Warning: " + warning); 
    }

        string url = "AddNumbers.wsdl";

        // Read in a WSDL service description.
        XmlTextReader reader = new XmlTextReader(url);
        ServiceDescription wsdl = ServiceDescription.Read(reader);

        // Create a WSDL collection.
        DiscoveryClientDocumentCollection wsdlCollection = new DiscoveryClientDocumentCollection();
        wsdlCollection.Add(url, wsdl);

        // Create a namespace and a unit for compilation.
        CodeNamespace space = new CodeNamespace();
        CodeCompileUnit unit = new CodeCompileUnit();
        unit.Namespaces.Add(space);

        // Create a web referernce using the WSDL collection.
        WebReference reference = new WebReference(wsdlCollection, space);
        reference.ProtocolName = "Soap12";

        // Print some information about the web reference.
        Console.WriteLine("Base Url = {0}", reference.AppSettingBaseUrl);
        Console.WriteLine("Url Key = {0}", reference.AppSettingUrlKey);
        Console.WriteLine("Documents = {0}", reference.Documents.Count);

        // Create a web reference collection.
        WebReferenceCollection references = new WebReferenceCollection();
        references.Add(reference);

        // Compile a proxy client and print out the code. 
        CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");
        WebReferenceOptions options = new WebReferenceOptions();
        options.Style = ServiceDescriptionImportStyle.Client;
        options.CodeGenerationOptions = CodeGenerationOptions.GenerateNewAsync;
        ServiceDescriptionImporter.GenerateWebReferences(
            references,
            provider,
            unit,
            options        
        );
        provider.GenerateCodeFromCompileUnit(unit, Console.Out, new CodeGeneratorOptions() );          
    }

    static void Main ()
    {

        Test.Run();
    }
}

注解

WebReference对象用于将有关一组 Web 服务的信息传递给 类的ServiceDescriptionImporter静态GenerateWebReferences方法。

构造函数

WebReference(DiscoveryClientDocumentCollection, CodeNamespace)

使用给定的说明文档集合和代理代码命名空间初始化 WebReference 类的新实例。

WebReference(DiscoveryClientDocumentCollection, CodeNamespace, String, String)

使用给定数据初始化 WebReference 类的新实例。

WebReference(DiscoveryClientDocumentCollection, CodeNamespace, String, String, String)

使用给定数据初始化 WebReference 类的新实例。

属性

AppSettingBaseUrl

获取 Web 引用的基 URL。

AppSettingUrlKey

获取 Web 引用的 URL 键。

Documents

获取与 Web 引用关联的说明文档的集合。

ProtocolName

获取或设置与 Web 引用关联的协议。

ProxyCode

获取与 Web 引用关联的代码命名空间。

ValidationWarnings

获取在验证说明文档时生成的警告的集合。

Warnings

获取导入 Web 服务描述语言 (WSDL) 服务说明文档时所生成警告的集合。

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于