【发布时间】:2016-07-05 23:22:08
【问题描述】:
我有两个应用程序使用命名管道公开 WCF 端点进行通信。
一个应用程序是 WPF 用户应用程序,另一个是 Windows 服务,当我从用户应用程序调用 win 服务时它很好,但是每当 Windows 服务调用 WPF 的应用程序端点时,我都会收到 System. ServiceModel.CommunicationObjectFaultedException 说明通信对象在故障异常中无法使用。
有趣的是,如果我将代码复制并粘贴到控制台应用程序,它就可以正常工作。
这是我用来创建通信对象的代码
public void CallService()
{
using (var channel = GetServiceClient())
{
channel.Open();
var service = channel.CreateChannel();
service.DoFoo();
}
}
private static ChannelFactory<IFooService> GetServiceClient()
{
return new ChannelFactory<IFooService>(
new NetNamedPipeBinding
{
Security = new NetNamedPipeSecurity { Mode = NetNamedPipeSecurityMode.None }
},
@"net.pipe://barAddress/fooService");
}
【问题讨论】:
标签: c# wpf wcf named-pipes self-hosting