Контекст операции WCF - загрязнение
Я смотрю на проблему, из-за которой кажется, что существует некоторая перекрестная контаминация между различными операциями при извлечении экземпляра расширения из OperationContext. Это один из тех раздражающих параллелизмов, которые трудно копировать. Я сильно подозреваю какую-то проблему с многопоточностью. Мы запускаем службы WCF в интегрированном режиме IIS7.0/.NET 4. Соответствующий раздел нашего расширения выглядит следующим образом:
public class CustomContext : IExtension<OperationContext>, ICustomContext
{
public CustomContext Current
{
get
{
return OperationContext.Current != null ? OperationContext.Current.Extensions.Find<CustomContext>() : null;
}
}
...
}
Выше приведено с точки зрения PostSharp, я не уверен, если это имеет отношение к нет? Учитывая вышесказанное, существуют ли очевидные условия, при которых вызов current может вернуть неправильный экземпляр CustomContext? Извиняюсь за такой открытый вопрос.