WebReference Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Содержит описание ссылки на коллекцию веб-служб XML.
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 используется для передачи сведений о наборе веб-служб в статический GenerateWebReferencesServiceDescriptionImporter метод класса .
Конструкторы
WebReference(DiscoveryClientDocumentCollection, CodeNamespace) |
Инициализирует новый экземпляр класса WebReference заданной коллекцией документов описания и пространством имен кода прокси. |
WebReference(DiscoveryClientDocumentCollection, CodeNamespace, String, String) |
Инициализирует новый экземпляр класса WebReference с указанными данными. |
WebReference(DiscoveryClientDocumentCollection, CodeNamespace, String, String, String) |
Инициализирует новый экземпляр класса WebReference с указанными данными. |
Свойства
AppSettingBaseUrl |
Получает базовый URL-адрес веб-ссылки. |
AppSettingUrlKey |
Получает ключ URL-адреса веб-ссылки. |
Documents |
Получает коллекцию документов описания, сопоставленных веб-ссылке. |
ProtocolName |
Получает или задает протокол, сопоставленный веб-ссылке. |
ProxyCode |
Получает пространство имен кода, сопоставленное веб-ссылке. |
ValidationWarnings |
Получает коллекцию предупреждений, создаваемых в ходе проверки документов описания. |
Warnings |
Получает коллекцию предупреждений, создаваемых при импорте документов описания службы на языке WSDL. |
Методы
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |