NetNamedPipeBinding 類別

定義

提供針對電腦通訊最佳化,安全而可靠的繫結。Provides a secure and reliable binding that is optimized for on-machine communication.

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 的區段。The following example shows the part of the configuration file that contains the section for the NetNamedPipeBinding with values set to defaults.

下列範例會示範如何以程式設計的方式使用 NetNamedPipeBinding 類別。The following example shows how to programmatically use the NetNamedPipeBinding class.

[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 會產生執行階段通訊堆疊,此堆疊使用傳輸安全性、具名管道 (用於訊息傳遞) 和二進位訊息編碼。The NetNamedPipeBinding generates a run-time communication stack by default, which uses transport security, named pipes for message delivery, and a binary message encoding. 此繫結為適當的 Windows Communication Foundation (WCF) 系統提供的現成選擇,可用於電腦通訊。This binding is an appropriate Windows Communication Foundation (WCF) system-provided choice for on-machine communication. 它也支援交易。It also supports transactions.

NetNamedPipeBinding 的預設組態類似於 NetTcpBinding 所提供的組態,但較為簡單,因為 WCF 實作只針對電腦應用,所以公開的功能不多。The default configuration for the NetNamedPipeBinding is similar to the configuration provided by the NetTcpBinding, but it is simpler because the WCF implementation is only meant for on-machine use and consequently there are fewer exposed features. 最顯著的差異在於,SecurityMode 設定只提供 NoneTransport 選項。The most notable difference is that the SecurityMode setting only offers the None and Transport options. SOAP 安全性支援並非包含的選項。SOAP security support is not an included option. 您可以使用建構函式 securityMode 中的選擇性 NetNamedPipeBinding(NetNamedPipeSecurityMode) 參數,設定安全性行為。The security behavior is configurable using the optional securityMode parameter in NetNamedPipeBinding(NetNamedPipeSecurityMode) the constructor.

建構函式

NetNamedPipeBinding()

初始化 NetNamedPipeBinding 類別的新執行個體。Initializes a new instance of the NetNamedPipeBinding class.

NetNamedPipeBinding(NetNamedPipeSecurityMode)

使用指定的安全性模式,初始化 NetNamedPipeBinding 類別的執行個體。Initializes a new instance of the NetNamedPipeBinding class with a specified security mode.

NetNamedPipeBinding(String)

使用指定的組態名稱,初始化 NetNamedPipeBinding 類別的新執行個體。Initializes a new instance of the NetNamedPipeBinding class with a specified configuration name.

屬性

CloseTimeout

取得或設定針對連線所提供的時間間隔 (此連線要在傳輸引發例外狀況之前關閉)。Gets or sets the interval of time provided for a connection to close before the transport raises an exception.

(繼承來源 Binding)
EnvelopeVersion

取得 SOAP 的版本,用於由此繫結處理的訊息。Gets the version of SOAP that is used for messages processed by this binding.

HostNameComparisonMode

取得或設定值,這個值會指出在比對 URI 時此主機名稱是否會用來取用服務。Gets or sets a value that indicates whether the hostname is used to reach the service when matching the URI.

MaxBufferPoolSize

取得或設定記憶體中用於緩衝傳入訊息的位元組數目上限。Gets or sets the maximum number of bytes that are used to buffer incoming messages in memory.

MaxBufferSize

取得或設定記憶體中用於緩衝傳入訊息的位元組數目上限。Gets or sets the maximum number of bytes used to buffer incoming messages in memory.

MaxConnections

取得或設定允許具名管道繫結設定端點允許的連線數量上限,傳入和傳出都納入計算。Gets or sets the maximum number of connections, both inbound and outbound, that are allowed to endpoints configured with the named pipe binding.

MaxReceivedMessageSize

取得或設定由繫結處理之接收訊息的大小上限 (以位元組為單位)。Gets or sets the maximum size, in bytes, for a received message that is processed by the binding.

MessageVersion

取得用戶端所使用的訊息版本及使用繫結所設定的服務。Gets the message version used by clients and services configured with the binding.

(繼承來源 Binding)
Name

取得或設定繫結的名稱。Gets or sets the name of the binding.

(繼承來源 Binding)
Namespace

取得或設定繫結的 XML 命名空間。Gets or sets the XML namespace of the binding.

(繼承來源 Binding)
OpenTimeout

取得或設定針對連線所提供的時間間隔 (此連線要在傳輸引發例外狀況之前開啟)。Gets or sets the interval of time provided for a connection to open before the transport raises an exception.

(繼承來源 Binding)
ReaderQuotas

取得或設定 SOAP 訊息複雜性的條件約束,而這些條件約束可由以此繫結所設定的端點處理。Gets or sets constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding.

ReceiveTimeout

取得或設定連線中斷之前,可以維持非作用狀態的時間間隔 (在此期間未接收應用程式訊息)。Gets or sets the interval of time that a connection can remain inactive, during which no application messages are received, before it is dropped.

(繼承來源 Binding)
Scheme

取得使用這項繫結所設定之通道與接聽程式的 URI 傳輸配置。Gets the URI transport scheme for the channels and listeners that are configured with this binding.

Security

取得物件,指定與此繫結所設定之服務共用的安全性類型。Gets an object that specifies the type of security used with services configured with this binding.

SendTimeout

取得或設定針對寫入作業所提供的時間間隔 (此作業要在傳輸引發例外狀況之前完成)。Gets or sets the interval of time provided for a write operation to complete before the transport raises an exception.

(繼承來源 Binding)
TransactionFlow

取得或設定值,這個值會決定交易是否應流動至服務。Gets or sets a value that determines whether transactions should be flowed to the service.

TransactionProtocol

取得或設定服務用來使交易流動的交易通訊協定。Gets or sets the transactions protocol used by the service to flow transactions.

TransferMode

取得或設定值,這個值會指出以繫結設定的服務使用訊息傳輸的資料流處理模式 (單一或雙向) 或緩衝處理模式。Gets or sets a value that indicates whether the service configured with the binding uses streamed (in one or both directions) or buffered modes of message transfer.

方法

BuildChannelFactory<TChannel>(BindingParameterCollection)

在用戶端上建置通道處理站堆疊,此堆疊會建立指定的通道型別,並滿足繫結參數集合所指定的功能。Builds the channel factory stack on the client that creates a specified type of channel and that satisfies the features specified by a collection of binding parameters.

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

在用戶端上建置通道處理站堆疊,此堆疊會建立指定的通道型別,並滿足物件陣列所指定的功能。Builds the channel factory stack on the client that creates a specified type of channel and that satisfies the features specified by an object array.

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

在服務上建置通道接聽程式,此接聽程式會接受指定的通道型別,並滿足繫結參數集合所指定的功能。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified by a collection of binding parameters.

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

在服務上建置通道接聽程式,此接聽程式可接受指定的通道型別並滿足指定的功能。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

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

在服務上建置通道接聽程式,此接聽程式可接受指定的通道型別並滿足指定的功能。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

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

在服務上建置通道接聽程式,此接聽程式可接受指定的通道型別並滿足指定的功能。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

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

在服務上建置通道接聽程式,此接聽程式可接受指定的通道型別並滿足指定的功能。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

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

在服務上建置通道接聽程式,此接聽程式可接受指定的通道型別並滿足指定的功能。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

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

在服務上建置通道接聽程式,此接聽程式可接受指定的通道型別並滿足指定的功能。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

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

在服務上建置通道接聽程式,此接聽程式可接受指定的通道型別並滿足指定的功能。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

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

傳回值,這個值指出目前的繫結是否可以在用戶端上建置滿足指定之繫結參數集合的通道處理站堆疊。Returns a value that indicates whether the current binding can build a channel factory stack on the client that satisfies the collection of binding parameters specified.

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

傳回值,這個值指出目前的繫結程序是否可以在用戶端上建置滿足物件陣列指定之需求的通道處理站堆疊。Returns a value that indicates whether the current binding can build a channel factory stack on the client that satisfies the requirements specified by an object array.

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

傳回值,這個值指出目前的繫結是否可以在服務上建置滿足指定之繫結參數集合的通道接聽程式堆疊。Returns a value that indicates whether the current binding can build a channel listener stack on the service that satisfies the collection of binding parameters specified.

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

傳回值,這個值指出目前的繫結是否可以在服務上建置滿足物件陣列中指定之準則的通道接聽程式堆疊。Returns a value that indicates whether the current binding can build a channel listener stack on the service that satisfies the criteria specified in an array of objects.

(繼承來源 Binding)
CreateBindingElements()

建立含有繫結之繫結項目的集合。Creates a collection with the binding elements for the binding.

Equals(Object)

判斷指定的物件是否等於目前的物件。Determines whether the specified object is equal to the current object.

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。Serves as the default hash function.

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

從繫結堆疊的適當層次中,傳回要求的型別物件 (如果有)。Returns a typed object requested, if present, from the appropriate layer in the binding stack.

(繼承來源 Binding)
GetType()

取得目前執行個體的 TypeGets the Type of the current instance.

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。Creates a shallow copy of the current Object.

(繼承來源 Object)
ShouldSerializeMaxConnections()

傳回值,這個值表示 MaxConnections 屬性是否已變更為非預設值且應該序列化。Returns a value that indicates whether the MaxConnections property has changed from its default value and should be serialized.

ShouldSerializeName()

傳回繫結的名稱是否應該序列化。Returns whether the name of the binding should be serialized.

(繼承來源 Binding)
ShouldSerializeNamespace()

傳回繫結的命名空間是否應該序列化。Returns whether the namespace of the binding should be serialized.

(繼承來源 Binding)
ShouldSerializeReaderQuotas()

傳回值,這個值表示 ReaderQuotas 屬性是否已變更為非預設值且應該序列化。Returns a value that indicates whether the ReaderQuotas property has changed from its default value and should be serialized. 這項資訊會由 WCF 用於 XAML 整合。This is used by WCF for XAML integration.

ShouldSerializeSecurity()

傳回值,這個值表示 Security 屬性是否已變更為非預設值且應該序列化。Returns a value that indicates whether the Security property has changed from its default value and should be serialized. 這項資訊會由 WCF 用於 XAML 整合。This is used by WCF for XAML integration.

ShouldSerializeTransactionProtocol()

傳回值,這個值表示 TransactionProtocol 屬性是否已變更為非預設值且應該序列化。Returns a value that indicates whether the TransactionProtocol property has changed from its default value and should be serialized. 這項資訊會由 WCF 用於 XAML 整合。This is used by WCF for XAML integration.

ToString()

傳回代表目前物件的字串。Returns a string that represents the current object.

(繼承來源 Object)

明確介面實作

IBindingRuntimePreferences.ReceiveSynchronously

取得值,這個值會指出要以同步或非同步方式處理傳入要求。Gets a value that indicates whether incoming requests are handled synchronously or asynchronously.

適用於