1

J'ai une application Web asp.net que je veux avoir un support multilingue maintenant. Pour certaines raisons, la gestion n'est pas prête à utiliser des assemblys satellites ou des fichiers de ressources. Ils veulent l'avoir piloté par table. J'ai donc créé des tables pour stocker le texte pour chaque partie de la page. Je ne veux pas appeler DB à chaque fois que le contrôle de page se charge. Ex: si ma page a 10 étiquettes, je ne veux pas appeler mon db 10 fois pour aller chercher le texte d'étiquette approprié. Au lieu de cela, je veux charger les étiquettes une seule fois et les stocker en mémoire et y accéder par la suite.Prise en charge multilingue dans ASP.NET sans fichiers de ressources: quelle est la meilleure approche et structure de données?

Quelles sont les meilleures approches pour ce faire? Où dois-je le stocker? Dans la variable Application? ou le cache de l'application? Quelle structure de données est la meilleure pour gérer cela? Une liste de classe LabelText personnalisée? Je suis confus.

Répondre

1

Je serais vous, je voudrais vraiment vraiment pousser pour la gestion de payer pour une licence de la WestWind WebToolkit. Il contient un gestionnaire de ressources piloté par base de données qui vous permet de modifier tout ce qui est lié aux ressources dans votre application. Vous pouvez même exporter les données vers des fichiers de ressources si vous le souhaitez.

J'ai réussi à faire en sorte que notre projet actuel l'utilise, et cela a vraiment fait gagner du temps.

Même si vous ne voulez pas/ne pouvez pas l'acheter, Rick Strahl a basé un article sur ce même sujet, que vous pouvez trouver here et qui est très intéressant.


modifier: pour l'enregistrement, je ne suis pas affilié à Rick Strahl de quelque façon, à l'exception d'être un client satisfait :)