2009-10-29 6 views
14

Ich arbeite an einer großen Web-Anwendung in C# (asp.net) gebaut. Ich habe eine einfache Aspx-Seite, die lokalisierte Strings für den Client-Browser zur Verwendung in Javascript-Steuerelementen dient. Um die Saiten zu bekommen, ich folgend:Warum gibt ResourceManager.GetResourceSet bei der ersten Anforderung nach einem Build null zurück? (C#)

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 

Das alles funktioniert gut, mit Ausnahme der ersten Anfrage an der Seite unmittelbar nach einem Säubern/Build oder ein Rebuild (wenn ich nur ein paar Änderungen vornehmen, dann bauen, es funktioniert gut). Bei der ersten Anfrage bekomme ich eine Null-Referenz-Ausnahme, wenn ich versuche, das ResourceSet zu iterieren. Wenn ich die Seite nach dem Fehler jedoch aktualisiere, funktioniert es ab jetzt gut.

Weiß jemand, warum dies passieren könnte?

Antwort

33

Der zweite Parameter "createIfNotExist" der Methode GetResourceSet muss true sein, damit ResourceManager das ResourceSet lädt, wenn es noch nicht geladen ist.

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

Arbeitete für mich. Danke – hikalkan

+0

sehr nett, sollte als die richtige Antwort markiert werden. –