2009-10-29 5 views
14

Sto lavorando a un'applicazione web di grandi dimensioni costruita in C# (asp.net). Ho una semplice pagina di aspx che serve stringhe localizzate al browser client per l'uso nei controlli javascript. Per ottenere le corde, faccio la seguente:Perché ResourceManager.GetResourceSet restituisce null sulla prima richiesta dopo una generazione? (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 

Tutto questo funziona bene, tranne che per la prima richiesta alla pagina immediatamente dopo un Clean/costruire o una ricostruzione (se ho semplicemente fare alcune modifiche, quindi costruire, funziona bene). Quindi alla prima richiesta ottengo un'eccezione di riferimento null quando provo ad iterare il ResourceSet. Se aggiorno la pagina dopo l'errore, tuttavia, funziona bene da quel momento in poi.

Qualcuno sa perché questo potrebbe accadere?

risposta

33

Secondo parametro "createIfNotExist" del metodo GetResourceSet deve essere true, che indica a ResourceManager di caricare il ResourceSet se non ancora caricato.

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

Ha funzionato per me. Grazie – hikalkan

+0

molto bello, dovrebbe essere contrassegnato come la risposta corretta. –

Problemi correlati