我们有一个 WCF 服务,比如
Public Class MyService
{
[OperationContract]
Public void OpperationA()
{
}
[OperationContract]
Public void OpperationB()
{
}
[OperationContract]
Public void OpperationC()
{
}
[OperationContract]
Public void OpperationD()
{
}
}
我们有这个 WCF 服务的客户端,它是一个 Windows 服务,它使用新的代理调用 OperationA/B/C/D 以上的所有操作。
对于当前的实现,我们遇到了客户端同时调用所有操作的问题。
InstanceContextMode = PerCall 和 ConcurrencyMode = Single
InstanceContextMode 和 COncurrency 是否有任何组合可以将我的服务更改为一次只接受一个请求,我的意思是如果客户端代理 A 已调用 OPerationA 并且服务正在处理请求并且客户端代理 B 尝试调用 OperationB(或任何其他操作),它应该被阻止,直到第一个请求完成。
谢谢