WCF如何使用netTcp绑定对单向操作进行排队

时间:2011-02-17 08:51:05

标签: wcf sockets tcp

我有一台通过回叫频道回拨给客户端的服务器。

回调合约操作全部标记为IsOneWay。绑定是netTcp。

我有时会遇到服务器生成的消息多于客户端可以处理的消息的情况(我可以通过将睡眠放入客户端方法来模拟这个消息)。

最终我收到了“CommunicationException: The socket connection was aborted

不幸的是,我不知道幕后发生了什么。

  • 操作是否在发送中排队 或接收方,或两者兼而有之?
  • 我可以监控这些队列吗?
  • 导致超时的原因是什么?
  • WCF是否有不断写入/读取套接字的线程?
  • 接收端的WCF最终会停止从套接字读取因此超时吗?

1 个答案:

答案 0 :(得分:0)

要获得有关最新信息的更多信息,请尝试打开W​​CF跟踪,并使用跟踪查看器查看输出。 here`s如何启用跟踪,并使用MS跟踪视图实用程序SvcTraceViewer.exe

更直接地回答了这个问题--WCF有一个默认的10个并发会话队列,所以我觉得这是你在服务器强调客户端时遇到的问题。但是,可以使用maxConcurrentSessions行为参数来配置更大的值。