NetNamedPipeBinding 類別

定義

提供針對電腦通訊最佳化,安全而可靠的繫結。

public ref class NetNamedPipeBinding : System::ServiceModel::Channels::Binding, System::ServiceModel::Channels::IBindingRuntimePreferences
public class NetNamedPipeBinding : System.ServiceModel.Channels.Binding, System.ServiceModel.Channels.IBindingRuntimePreferences
type NetNamedPipeBinding = class
    inherit Binding
    interface IBindingRuntimePreferences
Public Class NetNamedPipeBinding
Inherits Binding
Implements IBindingRuntimePreferences
繼承
NetNamedPipeBinding
實作

範例

下列範例會示範部分組態檔,其中包含值設為預設值之 NetNamedPipeBinding 的區段。

下列範例會示範如何以程式設計的方式使用 NetNamedPipeBinding 類別。

[ServiceContract(Namespace = "http://UE.Samples")]
public interface ICalculator
{
    [OperationContract]
    double Add(double n1, double n2);
}

// Service class which implements the service contract.
public class CalculatorService : ICalculator
{
    public double Add(double n1, double n2)
    {
        return n1 + n2;
    }

    public static void Main()
    {
        Uri baseAddress = new Uri("http://localhost:8000/uesamples/service");
        string address = "net.pipe://localhost/uesamples/calc";

        // Create a ServiceHost for the CalculatorService type and provide the base address.
        using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress))
        {
            NetNamedPipeBinding binding = new NetNamedPipeBinding(NetNamedPipeSecurityMode.None);
            serviceHost.AddServiceEndpoint(typeof(ICalculator), binding, address);

            // Add a mex endpoint
            ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
            smb.HttpGetEnabled = true;
            smb.HttpGetUrl = new Uri("http://localhost:8001/uesamples");
            serviceHost.Description.Behaviors.Add(smb);

    long maxBufferPoolSize = binding.MaxBufferPoolSize;

    int maxBufferSize = binding.MaxBufferSize;

    int maxConnections = binding.MaxConnections;

    long maxReceivedMessageSize =
        binding.MaxReceivedMessageSize;

    NetNamedPipeSecurity security = binding.Security;

    string scheme = binding.Scheme;

    XmlDictionaryReaderQuotas readerQuotas =
        binding.ReaderQuotas;

    BindingElementCollection bCollection = binding.CreateBindingElements();

    HostNameComparisonMode hostNameComparisonMode =
        binding.HostNameComparisonMode;

    bool TransactionFlow = binding.TransactionFlow;

    TransactionProtocol transactionProtocol =
        binding.TransactionProtocol;

    EnvelopeVersion envelopeVersion =
        binding.EnvelopeVersion;

    TransferMode transferMode =
        binding.TransferMode;

            serviceHost.Open();

            Console.WriteLine("The service is ready.");
            Console.WriteLine("Press <ENTER> to terminate service.");
            Console.WriteLine();
            Console.ReadLine();

            serviceHost.Close();
        }
    }

static void SnippetReceiveSynchronously ()
{

    NetNamedPipeBinding binding = new NetNamedPipeBinding();
    IBindingRuntimePreferences s  =
           binding.GetProperty<IBindingRuntimePreferences>
           (new BindingParameterCollection());
    bool receiveSynchronously = s.ReceiveSynchronously;

}
}

備註

根據預設,NetNamedPipeBinding 會產生執行階段通訊堆疊,此堆疊使用傳輸安全性、具名管道 (用於訊息傳遞) 和二進位訊息編碼。 此繫結為適當的 Windows Communication Foundation (WCF) 系統提供的現成選擇,可用於電腦通訊。 它也支援交易。

NetNamedPipeBinding 的預設組態類似於 NetTcpBinding 所提供的組態,但較為簡單,因為 WCF 實作只針對電腦應用,所以公開的功能不多。 最顯著的差異在於,SecurityMode 設定只提供 NoneTransport 選項。 SOAP 安全性支援並非包含的選項。 您可以使用建構函式 securityMode 中的選擇性 NetNamedPipeBinding(NetNamedPipeSecurityMode) 參數,設定安全性行為。

建構函式

NetNamedPipeBinding()

初始化 NetNamedPipeBinding 類別的新執行個體。

NetNamedPipeBinding(NetNamedPipeSecurityMode)

使用指定的安全性模式,初始化 NetNamedPipeBinding 類別的執行個體。

NetNamedPipeBinding(String)

使用指定的組態名稱,初始化 NetNamedPipeBinding 類別的新執行個體。

屬性

CloseTimeout

取得或設定針對連線所提供的時間間隔 (此連線要在傳輸引發例外狀況之前關閉)。

(繼承來源 Binding)
EnvelopeVersion

取得 SOAP 的版本,用於由此繫結處理的訊息。

HostNameComparisonMode

取得或設定值,這個值會指出在比對 URI 時此主機名稱是否會用來取用服務。

MaxBufferPoolSize

取得或設定記憶體中用於緩衝傳入訊息的位元組數目上限。

MaxBufferSize

取得或設定記憶體中用於緩衝傳入訊息的位元組數目上限。

MaxConnections

取得或設定允許具名管道繫結設定端點允許的連線數量上限,傳入和傳出都納入計算。

MaxReceivedMessageSize

取得或設定由繫結處理之接收訊息的大小上限 (以位元組為單位)。

MessageVersion

取得用戶端所使用的訊息版本及使用繫結所設定的服務。

(繼承來源 Binding)
Name

取得或設定繫結的名稱。

(繼承來源 Binding)
Namespace

取得或設定繫結的 XML 命名空間。

(繼承來源 Binding)
OpenTimeout

取得或設定針對連線所提供的時間間隔 (此連線要在傳輸引發例外狀況之前開啟)。

(繼承來源 Binding)
ReaderQuotas

取得或設定 SOAP 訊息複雜性的條件約束,而這些條件約束可由以此繫結所設定的端點處理。

ReceiveTimeout

取得或設定連線中斷之前,可以維持非作用狀態的時間間隔 (在此期間未接收應用程式訊息)。

(繼承來源 Binding)
Scheme

取得使用這項繫結所設定之通道與接聽程式的 URI 傳輸配置。

Security

取得物件,指定與此繫結所設定之服務共用的安全性類型。

SendTimeout

取得或設定針對寫入作業所提供的時間間隔 (此作業要在傳輸引發例外狀況之前完成)。

(繼承來源 Binding)
TransactionFlow

取得或設定值,這個值會決定交易是否應流動至服務。

TransactionProtocol

取得或設定服務用來使交易流動的交易通訊協定。

TransferMode

取得或設定值,這個值會指出以繫結設定的服務使用訊息傳輸的資料流處理模式 (單一或雙向) 或緩衝處理模式。

方法

BuildChannelFactory<TChannel>(BindingParameterCollection)

在用戶端上建置通道處理站堆疊,此堆疊會建立指定的通道型別,並滿足繫結參數集合所指定的功能。

(繼承來源 Binding)
BuildChannelFactory<TChannel>(Object[])

在用戶端上建置通道處理站堆疊,此堆疊會建立指定的通道型別,並滿足物件陣列所指定的功能。

(繼承來源 Binding)
BuildChannelListener<TChannel>(BindingParameterCollection)

在服務上建置通道接聽程式,此接聽程式會接受指定的通道型別,並滿足繫結參數集合所指定的功能。

(繼承來源 Binding)
BuildChannelListener<TChannel>(Object[])

在服務上建置通道接聽程式,此接聽程式可接受指定的通道型別並滿足指定的功能。

(繼承來源 Binding)
BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

在服務上建置通道接聽程式,此接聽程式可接受指定的通道型別並滿足指定的功能。

(繼承來源 Binding)
BuildChannelListener<TChannel>(Uri, Object[])

在服務上建置通道接聽程式,此接聽程式可接受指定的通道型別並滿足指定的功能。

(繼承來源 Binding)
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

在服務上建置通道接聽程式,此接聽程式可接受指定的通道型別並滿足指定的功能。

(繼承來源 Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

在服務上建置通道接聽程式,此接聽程式可接受指定的通道型別並滿足指定的功能。

(繼承來源 Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

在服務上建置通道接聽程式,此接聽程式可接受指定的通道型別並滿足指定的功能。

(繼承來源 Binding)
BuildChannelListener<TChannel>(Uri, String, Object[])

在服務上建置通道接聽程式,此接聽程式可接受指定的通道型別並滿足指定的功能。

(繼承來源 Binding)
CanBuildChannelFactory<TChannel>(BindingParameterCollection)

傳回值,這個值指出目前的繫結是否可以在用戶端上建置滿足指定之繫結參數集合的通道處理站堆疊。

(繼承來源 Binding)
CanBuildChannelFactory<TChannel>(Object[])

傳回值,這個值指出目前的繫結程序是否可以在用戶端上建置滿足物件陣列指定之需求的通道處理站堆疊。

(繼承來源 Binding)
CanBuildChannelListener<TChannel>(BindingParameterCollection)

傳回值,這個值指出目前的繫結是否可以在服務上建置滿足指定之繫結參數集合的通道接聽程式堆疊。

(繼承來源 Binding)
CanBuildChannelListener<TChannel>(Object[])

傳回值,這個值指出目前的繫結是否可以在服務上建置滿足物件陣列中指定之準則的通道接聽程式堆疊。

(繼承來源 Binding)
CreateBindingElements()

建立含有繫結之繫結項目的集合。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetProperty<T>(BindingParameterCollection)

從繫結堆疊的適當層次中,傳回要求的型別物件 (如果有)。

(繼承來源 Binding)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ShouldSerializeMaxConnections()

傳回值,這個值表示 MaxConnections 屬性是否已變更為非預設值且應該序列化。

ShouldSerializeName()

傳回繫結的名稱是否應該序列化。

(繼承來源 Binding)
ShouldSerializeNamespace()

傳回繫結的命名空間是否應該序列化。

(繼承來源 Binding)
ShouldSerializeReaderQuotas()

傳回值,這個值表示 ReaderQuotas 屬性是否已變更為非預設值且應該序列化。 這項資訊會由 WCF 用於 XAML 整合。

ShouldSerializeSecurity()

傳回值,這個值表示 Security 屬性是否已變更為非預設值且應該序列化。 這項資訊會由 WCF 用於 XAML 整合。

ShouldSerializeTransactionProtocol()

傳回值,這個值表示 TransactionProtocol 屬性是否已變更為非預設值且應該序列化。 這項資訊會由 WCF 用於 XAML 整合。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

明確介面實作

IBindingRuntimePreferences.ReceiveSynchronously

取得值,這個值會指出要以同步或非同步方式處理傳入要求。

適用於