NetNamedPipeBinding 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供针对计算机通信进行优化的安全可靠绑定。
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 类。
[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 |
获取一个值,该值指示是同步还是异步处理传入请求。 |