我有一个定义为ConcurrencyMode.Single的服务:
[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Single,
UseSynchronizationContext = false,
InstanceContextMode = InstanceContextMode.PerSession,
IncludeExceptionDetailInFaults = true)]
public class MyService : IMyService
此服务提供了一种告诉客户当前正在处理的内容的方法:
[OperationContract]
string GetCurrentTaskDescription();
有没有办法让这个特定方法允许,而另一个长时间运行的任务正在运行,而所有其他方法仍然遵循单线程并发模型?
答案 0 :(得分:4)
您无法使方法具有实例上下文模式。
如果您确实需要一组线程调用和一个多线程调用,则需要为此调用创建一个新的服务合同。