Почему ResourceManager.GetResourceSet возвращает нулевое значение в первом запросе после сборки? (С #) - PullRequest
16 голосов
/ 29 октября 2009

Я работаю над веб-приложением большого размера, созданным на C # (asp.net). У меня есть простая страница aspx, которая предоставляет локализованные строки клиентскому браузеру для использования в элементах управления javascript. Чтобы получить строки, я делаю следующее:

ResourceManager _resources = new ResourceManager(_pathname, typeof(ARM).Assembly);
ResourceSet rs = _resources.GetResourceSet(culture, false, false);

//loop through rs and write the keys & values out to the client in plaintext

Это все работает нормально, за исключением первого запроса к странице сразу после Clean / Build или Rebuild (если я просто внесу некоторые изменения, то Build, он отлично работает). Таким образом, при первом запросе я получаю исключение нулевой ссылки при попытке выполнить итерацию ResourceSet. Однако если я обновлю страницу после ошибки, то с этого момента она будет работать нормально.

Кто-нибудь знает, почему это может происходить?

1 Ответ

41 голосов
/ 28 декабря 2009

Второй параметр «createIfNotExist» метода GetResourceSet должен быть истинным, что говорит ResourceManager загрузить ResourceSet, если он еще не загружен.

ResourceSet rs = _resources.GetResourceSet(culture, true, false);
...