WebReference Class
Describes a reference to a collection of XML Web services.
Assembly: System.Web.Services (in System.Web.Services.dll)
| Name | Description | |
|---|---|---|
![]() | WebReference(DiscoveryClientDocumentCollection, CodeNamespace) | Initializes a new instance of the WebReference class with the given description document collection and proxy code namespace. |
![]() | WebReference(DiscoveryClientDocumentCollection, CodeNamespace, String, String) | Initializes a new instance of the WebReference class with the given data. |
![]() | WebReference(DiscoveryClientDocumentCollection, CodeNamespace, String, String, String) | Initializes a new instance of the WebReference class with the given data. |
| Name | Description | |
|---|---|---|
![]() | AppSettingBaseUrl | Gets the base URL of the Web reference. |
![]() | AppSettingUrlKey | Gets the URL key of the web reference. |
![]() | Documents | Gets the collection of description documents associated with the Web reference. |
![]() | ProtocolName | Gets or sets the protocol associated with the Web reference. |
![]() | ProxyCode | Gets the code namespace associated with the Web reference. |
![]() | ValidationWarnings | Gets a collection of warnings generated when validating the description documents. |
![]() | Warnings | Gets a collection of warnings generated when importing Web Services Description Language (WSDL) service description documents. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
A WebReference object is used to pass information about a set of Web services to the static GenerateWebReferences method of the ServiceDescriptionImporter class.
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(); } }
Available since 2.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

