WebReference 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
描述 XML Web Service 集合的參考。
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) |
使用指定的描述文件集合和 Proxy 程式碼命名空間,初始化 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) |