Я пытаюсь написать сервис WCF, который будет находиться в службе Windows. Эта служба WCF будет просто добавлять строки в список, а затем рабочий поток будет периодически обрабатывать этот список. Каков наилучший способ достичь этого? Я прочитал противоречивые примеры, которые привели меня в замешательство. Каков наилучший способ службы и потока совместно использовать объект списка?
Обновление:
Спасибо за ответы до сих пор. Просто чтобы уточнить, я не борюсь с синхронизацией списка или как сделать его потокобезопасным. Это все похоже на те же принципы, что и я в C ++. Я борюсь с тем, где определить этот список, чтобы он был доступен как из службы WCF, так и из рабочего потока. В C ++ я бы создал список в глобальной области видимости, но C # не имеет глобальной области видимости. Если я определю его в классе обслуживания WCF, поток не сможет его увидеть. Если я определю это в классе обслуживания (где функция потока определена и запущена), служба WCF не сможет его увидеть. Я уверен, что я сделал нечто подобное в ATL некоторое время назад, но сегодня пятница, и серые клетки отказались от этого дня.
Update2:
Где я должен определить рабочий поток? В классе службы Windows (т.е. хосте) или в службе WCF? Должна ли служба WCF быть единственной службой, имеющей член списка и функцию потока? Это решает проблему доступа. Сделав много COM, я думаю о WCF-сервисе как о COM-компоненте с экземпляром, умирающим после обращения к нему. Это привело меня к желанию поместить статический список и функцию потока в класс обслуживания Windows. Это все еще кажется более естественным для этого, но, возможно, я просто не думаю о .NET.