使用客户端和服务器类包装了wcf dll。
当我的服务器使用回调时,我的客户端需要10秒以上的时间才能得到它。
怎么一回事?
仅获得最简单的NetNamedPipeBinding端点。
我有很多代码,所以我不确定要在这里粘贴什么。
是什么导致了这么长的时间。
编辑:仅第一次回调需要10秒。
在此之后,它的工作速度很快。
有人知道为什么吗?
发布于 2015-05-07 15:32:48
什么都没有用。我最后添加了一个假的呼叫装饰器。它在系统启动时发送第一个调用。
发布于 2012-03-06 19:35:02
我也遇到过类似的问题。这对我的情况很有帮助:
NetNamedPipeSecurity security = new NetNamedPipeSecurity() { Mode = NetNamedPipeSecurityMode.None };创建绑定时传递此安全对象:
new NetNamedPipeBinding() { Security = security }最初的想法来自here。这个主题是关于TCP绑定的,但在我的例子中,最后给出的解决方案似乎对命名管道也有帮助。
更简单的做法是:
new NetNamedPipeBinding(NetNamedPipeSecurityMode.None)发布于 2015-09-05 03:22:05
无意中,我发现了一个可以极大地提高第一个WCF请求性能的设置。时间从> 10秒下降到~2秒。
在服务器和客户端上将绑定的TransferMode属性设置为Streamed:
var binding = new NetNamedPipeBinding(NetNamedPipeSecurityMode.None);
binding.TransferMode = TransferMode.Streamed;然后将绑定传递到AddServiceEndpoint服务器端和Channelfactory构造器客户端。
https://stackoverflow.com/questions/8868479
复制相似问题