2009-10-29 14 views
14

Je travaille sur une application web de grande taille construite en C# (asp.net). J'ai une page aspx simple qui sert des chaînes localisées au navigateur client pour une utilisation dans les contrôles javascript. Pour obtenir les chaînes, je fais ce qui suit:Pourquoi ResourceManager.GetResourceSet renvoie null sur la première requête après une génération? (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 

Tout cela fonctionne très bien, sauf pour la première demande à la page immédiatement après un Clean/Créer ou Reconstruire (si je fais simplement quelques changements, puis construire, ça fonctionne bien). Donc, à la première requête, je reçois une exception de référence NULL lorsque j'essaie d'itérer le ResourceSet. Si je rafraîchis la page après l'erreur, cependant, cela fonctionne bien à partir de maintenant.

Est-ce que quelqu'un sait pourquoi cela pourrait se produire?

Répondre

33

Le deuxième paramètre "createIfNotExist" de la méthode GetResourceSet doit être true, ce qui indique à ResourceManager de charger le ResourceSet s'il n'est pas encore chargé.

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

J'ai travaillé pour moi. Merci – hikalkan

+0

très agréable, devrait être marqué comme la bonne réponse. –