Я создал библиотеку, которая использует переменные потока, которые будут использоваться различными классами одной и той же библиотеки. После инициализации для thread все эти классы работают вместе, чтобы выполнить задачу, используя эти переменные.
Теперь мне нужно использовать эту же библиотеку в приложении ASP.NET, и я узнал, что threadstatic не сделает мои переменные глобальными для одного потока, но они будут общими для всех потоков.
Я избегаю передачи переменных в функции, потому что это не очень хороший подход. Поэтому мне нужно решение, чтобы сделать мою библиотеку пригодной для обоих типов приложений (winforms + webforms), то есть альтернативы для threadstatic и session.
Как насчет реализации моего собственного управления с использованием словаря в библиотеке? Зная, кто вызвал меня (библиотеку), т. Е. Настольное приложение или asp.net, а затем, используя идентификатор потока или идентификатор сессии, соответственно, чтобы получить переменные из словаря. Сейчас я не знаю, возможно ли это или нет.
А что, если для этой библиотеки будет создан веб-сервис, который будет размещаться в exe-файле вместо IIS, чтобы избежать совместного использования потоков ASP.NET, что приведет к неисправности threadstatic?
Пожалуйста, предложите решение.