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 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

获取一个值,该值指示是同步还是异步处理传入请求。

适用于