我正在以编程方式创建一个命名管道WCF服务和客户端。
服务代码执行以下操作:
客户端代码:
带有、具有、伴随着。
为了确保客户端和服务保持不变。但是,如果我删除Names.Binding,这样就没有指定绑定配置了,那么我会收到错误消息,提示在端点上找不到侦听器。如果我包括它,我会得到“在配置元素集合中找不到匹配键的元素”的错误消息......我没有使用.config文件。还缺少什么?
服务代码执行以下操作:
serviceHost = new ServiceHost(typeof(CFCAccessPointService), new Uri(Names.Address));
serviceHost.AddServiceEndpoint(typeof (ICfcAccessPoint), new NetNamedPipeBinding(Names.Binding), Names.Contract);
serviceHost.Open();
客户端代码:
var ctx = new InstanceContext(new StatusHandler());
s_proxy = new DuplexChannelFactory<ICfcAccessPoint>(ctx, new NetNamedPipeBinding(Names.Binding), new EndpointAddress(Names.Address));
带有、具有、伴随着。
public static class Names
{
public const string Address = "net.pipe://localhost/CFC/Plugins/GuestAccessService";
public const string Binding = "netNamedPipeBinding_ICfcAccessPoint";
public const string Contract = "GuestAccessClientServerInterface.ICfcAccessPoint";
}
为了确保客户端和服务保持不变。但是,如果我删除Names.Binding,这样就没有指定绑定配置了,那么我会收到错误消息,提示在端点上找不到侦听器。如果我包括它,我会得到“在配置元素集合中找不到匹配键的元素”的错误消息......我没有使用.config文件。还缺少什么?