Ответ 1
Второй параметр "createIfNotExist" метода GetResourceSet должен быть правдой, который сообщает ResourceManager загружать ResourceSet, если он еще не загружен.
ResourceSet rs = _resources.GetResourceSet(culture, true, false);
Я работаю над крупным веб-приложением, созданным на С# (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. Однако, если я обновляю страницу после ошибки, она отлично работает с этого момента.
Кто-нибудь знает, почему это может произойти?
Второй параметр "createIfNotExist" метода GetResourceSet должен быть правдой, который сообщает ResourceManager загружать ResourceSet, если он еще не загружен.
ResourceSet rs = _resources.GetResourceSet(culture, true, false);