WebReference 类

定义

说明对 XML Web services 集合的引用。Describes a reference to a collection of XML Web services.

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

示例

下面的代码示例演示如何使用此类。The following code example illustrates the use of this class.

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 服务的信息传递给类的静态 GenerateWebReferences 方法 ServiceDescriptionImporterA WebReference object is used to pass information about a set of Web services to the static GenerateWebReferences method of the ServiceDescriptionImporter class.

构造函数

WebReference()
WebReference(DiscoveryClientDocumentCollection, CodeNamespace)

使用给定的说明文档集合和代理代码命名空间初始化 WebReference 类的新实例。Initializes a new instance of the WebReference class with the given description document collection and proxy code namespace.

WebReference(DiscoveryClientDocumentCollection, CodeNamespace, String, String)

使用给定数据初始化 WebReference 类的新实例。Initializes a new instance of the WebReference class with the given data.

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

使用给定数据初始化 WebReference 类的新实例。Initializes a new instance of the WebReference class with the given data.

属性

AppSettingBaseUrl

获取 Web 引用的基 URL。Gets the base URL of the Web reference.

AppSettingUrlKey

获取 Web 引用的 URL 键。Gets the URL key of the web reference.

Documents

获取与 Web 引用关联的说明文档的集合。Gets the collection of description documents associated with the Web reference.

ProtocolName

获取或设置与 Web 引用关联的协议。Gets or sets the protocol associated with the Web reference.

ProxyCode

获取与 Web 引用关联的代码命名空间。Gets the code namespace associated with the Web reference.

ValidationWarnings

获取在验证说明文档时生成的警告的集合。Gets a collection of warnings generated when validating the description documents.

Warnings

获取导入 Web 服务描述语言 (WSDL) 服务说明文档时所生成警告的集合。Gets a collection of warnings generated when importing Web Services Description Language (WSDL) service description documents.

方法

Equals(Object)

确定指定对象是否等于当前对象。Determines whether the specified object is equal to the current object.

(继承自 Object)
GetHashCode()

用作默认哈希函数。Serves as the default hash function.

(继承自 Object)
GetType()

获取当前实例的 TypeGets the Type of the current instance.

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。Creates a shallow copy of the current Object.

(继承自 Object)
ToString()

返回表示当前对象的字符串。Returns a string that represents the current object.

(继承自 Object)

适用于