【发布时间】:2011-06-06 14:42:48
【问题描述】:
收到此消息:
这个请求操作发送到 net.pipe://127.0.0.1/MyService 做了 内收不到回复 配置超时 (00:01:00)。这 分配给此操作的时间可能 已经是较长时间的一部分 暂停。这可能是因为 服务仍在处理中 操作或因为服务是 无法发送回复消息。 请考虑增加 操作超时(通过铸造 通道/代理到 IContextChannel 和 设置 OperationTimeout 属性) 并确保服务能够 连接到客户端。
任何想法,为什么会发生?
UPD:我的服务器代码没有挂起。即使该服务器方法为空,我也有同样的例外。实际上,它不会调用事件,它开头的日志消息永远不会显示并且断点永远不会被命中。
UPD2:我的代码非常简单,在隔离的测试应用程序中运行正常
private static void ServerStart(string channelUri)
{
var host = new ServiceHost(typeof(Service), new Uri(channelUri));
host.AddServiceEndpoint(typeof(IServiceContract),
new NetNamedPipeBinding(NetNamedPipeSecurityMode.Transport),
new Uri(channelUri));
host.Open();
}
private static void ClientStart(string channelUri)
{
var factory = new ChannelFactory<IServiceContract>
(new NetNamedPipeBinding(), new EndpointAddress(channelUri));
var proxy = factory.CreateChannel();
proxy.StartOnServer();
}
【问题讨论】:
-
你调用的方法是什么?你能调试到服务中吗?