#c# #asp.net #multithreading
#c# #asp.net #многопоточность
Вопрос:
Внутри моего ASP.NET приложение, у меня длительный запущенный процесс, который я запускаю в новом потоке. Однако при попытке получить доступ к настройкам приложений в моем web.config выдается исключение с нулевой ссылкой. Я знаю, что проблема не в моем коде, потому что, когда я не запускаю новый поток, все работает нормально.
Есть предложения?
Спасибо, Дэн
Ответ №1:
Если вы не возражаете против обходного пути, попробуйте это.
Если у вас небольшой набор информации о настройках приложения, загрузите настройку приложения в память при событии запуска приложения, а затем передайте эту информацию в качестве значений инициализации для потока. если web.config изменен, приложение автоматически сбрасывается.
У меня была более приятная ситуация, и мне удалось решить ее с помощью вышеупомянутого обходного пути.
Ответ №2:
Я не ASP.NET эксперт, поэтому я не знаю тонкостей того, как загружаются настройки приложения, но одно из решений — просто передать данные из настроек вашего приложения в ваш длительный процесс при его запуске вместо чтения настроек вашего приложения из потока. В любом случае, это лучший дизайн, поскольку теперь ваш поток отделен от настроек приложения.