ServiceContractAttribute.Name 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定 Web 服務描述語言 (WSDL) 中的 <portType>
項目名稱。
public:
property System::String ^ Name { System::String ^ get(); void set(System::String ^ value); };
public string Name { get; set; }
member this.Name : string with get, set
Public Property Name As String
屬性值
預設值是套用 ServiceContractAttribute 之類別或介面的名稱。
例外狀況
值為 null。
值為空字串。
範例
下列程式碼範例示範如何使用 Name 的 ServiceContractAttribute 和 Namespace 屬性,在 WSDL 中設定對應的值。
using System;
using System.Collections.Generic;
using System.ServiceModel;
using System.Text;
namespace Microsoft.WCF.Documentation
{
[ServiceContract(
Name="HelloWorld",
Namespace="http://Microsoft.WCF.Documentation"
)]
public interface ISampleService{
[OperationContract]
string SampleMethod(string msg);
}
class SampleService : ISampleService
{
#region ISampleService Members
public string SampleMethod(string msg)
{
return "The service greets you: " + msg;
}
#endregion
}
}
Imports System.Collections.Generic
Imports System.ServiceModel
Imports System.Text
Namespace Microsoft.WCF.Documentation
<ServiceContract(Name:="HelloWorld", Namespace:="http://Microsoft.WCF.Documentation")> _
Public Interface ISampleService
<OperationContract> _
Function SampleMethod(ByVal msg As String) As String
End Interface
Friend Class SampleService
Implements ISampleService
#Region "ISampleService Members"
Public Function SampleMethod(ByVal msg As String) As String Implements ISampleService.SampleMethod
Return "The service greets you: " & msg
End Function
#End Region
End Class
End Namespace
下列程式碼範例顯示先前使用ServiceModel 中繼資料公用程式工具 (Svcutil.exe ) 匯入 WSDL 之上述服務的 Windows Communication Foundation (WCF) 用戶端。 此用戶端會使用 HelloWorldProxy
用戶端,而不是 SampleServiceProxy
用戶端 (,如同範例一節 ServiceContractAttribute 中的範例) 。
using System;
using System.ServiceModel;
using System.ServiceModel.Channels;
public class Client
{
public static void Main()
{
// Picks up configuration from the config file.
HelloWorldClient wcfClient = new HelloWorldClient();
try
{
// Making calls.
Console.WriteLine("Enter the greeting to send: ");
string greeting = Console.ReadLine();
Console.WriteLine("The service responded: " + wcfClient.SampleMethod(greeting));
// Done with service.
wcfClient.Close();
Console.WriteLine("Done!");
}
catch (TimeoutException timeProblem)
{
Console.WriteLine("The service operation timed out. " + timeProblem.Message);
wcfClient.Abort();
}
catch (CommunicationException commProblem)
{
Console.WriteLine("There was a communication problem. " + commProblem.Message);
wcfClient.Abort();
}
finally
{
Console.WriteLine("Press ENTER to exit:");
Console.ReadLine();
}
}
}
Imports System.ServiceModel
Imports System.ServiceModel.Channels
Public Class Client
Public Shared Sub Main()
' Picks up configuration from the config file.
Dim wcfClient As New HelloWorldClient()
Try
' Making calls.
Console.WriteLine("Enter the greeting to send: ")
Dim greeting = Console.ReadLine()
Console.WriteLine("The service responded: " & wcfClient.SampleMethod(greeting))
' Done with service.
wcfClient.Close()
Console.WriteLine("Done!")
Catch timeProblem As TimeoutException
Console.WriteLine("The service operation timed out. " & timeProblem.Message)
wcfClient.Abort()
Catch commProblem As CommunicationException
Console.WriteLine("There was a communication problem. " & commProblem.Message)
wcfClient.Abort()
Finally
Console.WriteLine("Press ENTER to exit:")
Console.ReadLine()
End Try
End Sub
End Class
備註
Name使用 和 Namespace 屬性來控制 WSDL 中專案的名稱和命名空間 <portType>
。