我们的WCF服务有问题,如果用户搜索像'aaaaa'那样愚蠢的东西,那么WCF服务最终会做一个疯狂的操作,在100%cpu下堵塞整个线程并使用大量的ram
显然,我们需要修复底层代码,但问题是这个线程似乎永远不会超时。默认情况下,5分钟后客户端将抛出异常,但这不会影响服务器。
这个特殊问题在很长一段时间内都没有被注意到,我想安装一个安全网,以确保不再发生这种情况。
我使用Unity设置AOP调用GetNext()来调用服务,所以也许我可以Task.Run
这个并且如果花费太长时间就杀掉线程,但是可以有一个更好的方法吗?