У меня есть класс (ZogCheckPublisher), который реализует многопоточный одноэлементный шаблон. Этот класс используется в открытом методе (PrintZogChecks) службы WCF, размещенной службой Windows.
public class ProcessKicker : IProcessKicker
{
public void PrintZogChecks(ZogCheckType checkType)
{
ZogCheckPublisher.Instance.ProcessCheckOrCoupon(checkType);
}
}
ZogCheckPublisher отслеживает, какой 'checkType' в данный момент находится в процессе печати, и отклоняет запросы, дублирующие текущий активный запрос на печать. Я пытаюсь понять ServiceBehaviors и подходящее поведение для использования. Я думаю, что это уместно:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple)]
Один многопоточный экземпляр службы. Если я правильно понимаю?