NetNamedPipeBinding 類別

定義

提供安全且可靠的綁定,並優化於機器上通訊。

public ref class NetNamedPipeBinding : System::ServiceModel::Channels::Binding
public ref class NetNamedPipeBinding : System::ServiceModel::Channels::Binding, System::ServiceModel::Channels::IBindingRuntimePreferences
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public class NetNamedPipeBinding : System.ServiceModel.Channels.Binding
public class NetNamedPipeBinding : System.ServiceModel.Channels.Binding, System.ServiceModel.Channels.IBindingRuntimePreferences
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
type NetNamedPipeBinding = class
    inherit Binding
type NetNamedPipeBinding = class
    inherit Binding
    interface IBindingRuntimePreferences
Public Class NetNamedPipeBinding
Inherits Binding
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 通訊基金會(WCF)系統提供的機器上通訊適宜選擇。 它也支援交易。

預設 NetNamedPipeBinding 配置與 所提供的 NetTcpBinding配置相似,但更簡單,因為 WCF 實作僅供機器上使用,因此暴露功能較少。 最顯著的差異是設定 SecurityMode 只提供 NoneTransport 選項。 SOAP 安全支援並非包含在內的選項。 安全性行為可透過建構子中的securityMode可選NetNamedPipeBinding(NetNamedPipeSecurityMode)參數進行配置。

建構函式

名稱 Description
NetNamedPipeBinding()

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

NetNamedPipeBinding(NetNamedPipeSecurityMode)

初始化類別的新實例 NetNamedPipeBinding ,並以指定的安全模式。

NetNamedPipeBinding(String)

初始化一個以指定配置名稱的 NetNamedPipeBinding 類別新實例。

屬性

名稱 Description
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

取得或設定一個值,指示以綁定設定的服務是否使用串流(單向或雙向)或緩衝模式的訊息傳輸。

方法

名稱 Description
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)

明確介面實作

名稱 Description
IBindingRuntimePreferences.ReceiveSynchronously

會獲得一個值,表示接收請求是同步處理還是非同步處理。

適用於