Я настроил хост WCF, который работает с экземпляром объекта.Когда из WCF-клиента вызывается следующий метод, выдается сообщение об ошибке «Вызывающий поток не может получить доступ к этому объекту, поскольку он принадлежит другому потоку».
public List<PrintQueueData> getPrintQueues()
{
List<PrintQueueData> resultQueues = new List<PrintQueueData>();
List<PrintQueue> queues = queueCollection;
foreach (PrintQueue q in queues)
{
// This throws an exception
resultQueues.Add(new PrintQueueData(q.HostingPrintServer.ToString(), q.Name));
// This does NOT throw any exceptions
resultQueues.Add(new PrintQueueData("1", "2");
}
return resultQueues;
}
Что нужно сделать, чтобы исправить эту ошибку?
EDIT: queueCollection - это поле класса, содержащего этот метод.
EDIT: queueCollection объявляется в начале этого класса, а его тип представляет собой список очереди печати, такой же, какему присваивается этот метод.
РЕДАКТИРОВАТЬ: у меня был запущен таймер, который использовал queueCollection, однако я установил для Timer.Enabled значение false, и ошибка все еще произошла.