0

ich weiterhin mit einem MVC Web App, und jetzt bin ich zwischen den Konzepten der DRY (Dont sich wiederholen) und Entkopplung (unabhängig)..NET MVC Lokalisierung und Globalisierung

Ich habe meine große Website in verschiedene Projekte innerhalb einer Lösung unterteilt, und wie Sie vielleicht bereits wissen, werden die Validierungen im Model oder Service Layer durchgeführt, in meinem Fall in einem anderen Projekt App_GLobalResources, und hier ist die Sache:

Wie kann ich auf die GLobalResources von einem anderen Projekt zugreifen, damit ich auf die Zeichenfolgen zugreifen kann, um die Fehler auf dem Modell in der Service-Schicht zu setzen?

Bisher habe ich ein neues Projekt wie Stand-alone resx Dateien erstellt und sie erfüllt, um den Verweis auf die DLL zu setzen, aber es funktioniert nicht, weil die wichtigsten resx Dateien Interna oder Privates sind.

Ich habe versucht, eine dieser benutzerdefinierten Tools resx Dateien öffentlich (Kreuzmontage avaiblable) zu machen, aber es hat nicht funktioniert, weil es wirft:

keine passende Kultur

gefunden

Die Der beste Weg bis jetzt ist, eine resx-Datei nur für das Model Project zu erstellen, und es funktioniert gut, aber ich wiederhole die gleichen Strings zweimal, einen für die Views (um die jQuery-String-Validierungsfehler auf der Client-Seite zu setzen) und einen anderen für die Model Validations (serverseitig), diese geben mir den Vorteil der Entkopplung, aber was passiert mit DRY in diesem Fall?

Irgendwelche Ratschläge oder Tipps?

Antwort

1

Nun, ich habe beschlossen, zwei separate resx (für Strings), eine für die Ansichten & Controller und eine andere für die Model-> Service-Schicht, Im mit einer Service-Schicht für die Validierung, so dass ich diese Schicht isolieren, in diesem So kann ich den Layer "Service" oder (BLL) wiederverwenden, so dass ich ihn später in etwas wie einer WPF-App wiederverwenden kann, ohne Bezug auf das Resx der Ansichten oder des Controllers. SO Entkopplung gewonnen hier ... =)