NetNamedPipeBinding 类   
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供一个既安全又可靠且针对计算机上的通信进行了优化的绑定。
public ref class NetNamedPipeBinding : System::ServiceModel::Channels::Bindingpublic ref class NetNamedPipeBinding : System::ServiceModel::Channels::Binding, System::ServiceModel::Channels::IBindingRuntimePreferences[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public class NetNamedPipeBinding : System.ServiceModel.Channels.Bindingpublic class NetNamedPipeBinding : System.ServiceModel.Channels.Binding, System.ServiceModel.Channels.IBindingRuntimePreferences[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
type NetNamedPipeBinding = class
    inherit Bindingtype NetNamedPipeBinding = class
    inherit Binding
    interface IBindingRuntimePreferencesPublic Class NetNamedPipeBinding
Inherits BindingPublic Class NetNamedPipeBinding
Inherits Binding
Implements IBindingRuntimePreferences- 继承
- 属性
- 实现
示例
下面的示例显示配置文件的一部分,其中包含值设置为默认值的 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 设置只提供 None 和 Transport 选项。 不包括 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 | 获取或设置一个值,该值指示采用此绑定配置的服务是使用消息传输的流处理模式(单向或双向),还是缓冲模式。 | 
方法
显式接口实现
| IBindingRuntimePreferences.ReceiveSynchronously | 获取一个值,该值指示是同步处理传入请求还是异步处理传入请求。 |