Wcf NetNamedPipesBinding在重负载时回复缓慢

时间:2013-08-25 14:49:47

标签: c# multithreading performance wcf pipe

我有一个使用NetNamedPipesBinding的wcf服务器。 我可以看到服务器加载请求时回复非常慢(1-7秒)。 应用程序代码运行速度非常快,但发送回复和接收回复之间的时间很长。 这是因为管道上有很多消息,它们是按顺序处理的吗?有没有办法改善它?

只有2个进程涉及(调用者和服务),并且调用是2路,调用者进程使用不同的线程来调用。

感谢。

1 个答案:

答案 0 :(得分:0)

如果要为每个请求创建单独的线程,则可能会使系统匮乏。由于客户端和服务器都在同一台机器上,因此服务器运行缓慢可能是客户端的错误。

在.NET中有很多方法可以进行多线程处理,而新线程可能是最糟糕的。在最坏的情况下,您应该将调用移动到线程池(http://msdn.microsoft.com/en-us/library/3dasc8as.aspx

或者您可能希望使用代理的异步方法(http://msdn.microsoft.com/en-us/library/ms730059.aspx)。