我不确定 WCF 代理类将如何处理通过 plinq 发送的请求。下面的代码片段看起来不错,还是看起来可能会导致跨多个线程的共享状态出现问题?(另外,我已经明白 using 块并不理想,这只是一个例子)
using (var proxy = new ServiceProxyOfSomeSort())
{
_aBunchOfMessagesToSend.AsParallel()
.WithDegreeOfParallelism(SomeDegree).ForAll(m =>
{
proxy.SomeOperation(m);
}
}
我应该为每个线程创建一次代理吗?可以跨线程共享代理吗?我不想创建比我需要的更多的代理,因为这是一个有点昂贵的操作。
编辑:
我真的没有服务器端服务的任何实现细节。从需求的角度来看,他们应该开发它以便多个客户端可以随时调用它(异步)。假设他们可以处理异步调用(这可能是一个很大的假设),我只是想弄清楚这是否是客户端可以接受的方法。它正在工作,我只是不知道这种方法是否有任何问题。