Ich glaube, die Standard-ASP.NET-Ressourcenanbieter greift lokale Seitenressourcen mit einer Eins-zu-eins-Beziehung zwischen den Seiten selbst und den zugehörigen * .resx-Dateien in Ihrem App_LocalResources-Ordner. Ich bin mir nicht sicher, ob es eine Möglichkeit gibt, dieses Standardverhalten zu ändern.
Es ist jedoch möglich; um Ihre eigene Ressourcenanbieter- und Ressourcenanbieter-Factory zu implementieren. Dazu wird die Schnittstelle IResourceProvider implementiert, um eigene Methoden für die Ressourcenabfrage zu definieren und eine zugehörige ResourceProviderFactory Instanz zu erstellen, um Instanzen Ihres benutzerdefinierten Anbieters zu instanziieren.
Sobald Sie dies getan haben, können Sie den benutzerdefinierten Anbieter Fabrik verweisen das folgende in der Datei Web.config durch Zusatz:
<system.web>
<globalization resourceProviderFactoryType="Company.Product.CustomResourceProviderFactory" />
</system.web>
Mit diesem konnte man - zum Beispiel - Schalter auf Ihrem Lokalisierungen in einen Speicher Datenbank (wie in der Anleitung beschrieben here) statt sie mit Ihrer Anwendung jedes Mal zu kompilieren, hoffentlich die Baugeschwindigkeit zu verbessern.
Typisch für mich ist die langatmige Lösung! – Dougc
Lieber Mahdi, wo sollte ich diese Konfiguration hinzufügen? und ist es möglich, Build oder nicht zu erzwingen, eine oder einige Resx-Datei zu erstellen? –
Die 'buildProviders' sind in der' web.config' Konfigurationseigenschaft des 'compilation' Bereichs verfügbar. IMO, es ist unmöglich, spezielle Dateien zu ignorieren. ASP.NET-Buildanbieter generieren Code für eine angegebene Erweiterung. –