Новый поток в ASP.NET приложение не может видеть web.config appsettings ‘m

#c# #asp.net #multithreading

#c# #asp.net #многопоточность

Вопрос:

Внутри моего ASP.NET приложение, у меня длительный запущенный процесс, который я запускаю в новом потоке. Однако при попытке получить доступ к настройкам приложений в моем web.config выдается исключение с нулевой ссылкой. Я знаю, что проблема не в моем коде, потому что, когда я не запускаю новый поток, все работает нормально.

Есть предложения?

Спасибо, Дэн

Ответ №1:

Если вы не возражаете против обходного пути, попробуйте это.

Если у вас небольшой набор информации о настройках приложения, загрузите настройку приложения в память при событии запуска приложения, а затем передайте эту информацию в качестве значений инициализации для потока. если web.config изменен, приложение автоматически сбрасывается.

У меня была более приятная ситуация, и мне удалось решить ее с помощью вышеупомянутого обходного пути.

Ответ №2:

Я не ASP.NET эксперт, поэтому я не знаю тонкостей того, как загружаются настройки приложения, но одно из решений — просто передать данные из настроек вашего приложения в ваш длительный процесс при его запуске вместо чтения настроек вашего приложения из потока. В любом случае, это лучший дизайн, поскольку теперь ваш поток отделен от настроек приложения.