Я разрабатываю приложение, которое использует ASP.NET MVC3 для внешнего интерфейса, который взаимодействует с уровнем обслуживания через интерфейсы. Все интерфейсы / сервисы внедряются в контроллеры через инъекцию и конструктор.
Я хотел бы направить всю локализацию через службу определения местоположения, которую предоставляет ninject.
Достаточно просто на стороне контроллера, я добавил функцию Localize в базовый класс контроллера и добавил ILocalizeService в конструктор, и вот, готово. В любое время, когда мне нужно локализовать строку, я могу просто вызвать функцию локализации, которая, в свою очередь, вызывает сервис.
Теперь я пытаюсь найти чистый способ сделать это на стороне просмотра. У меня есть базовый класс View, который предоставляет функцию Localize, как в контроллере, так что я могу передать любой статический текст в представление, но я не могу найти чистый способ получить экземпляр моей службы локализации. Я читал многочисленные посты о том, что DI в представлении является плохой практикой, но в этом случае я думаю, что базовое представление является наиболее чистым местом для централизации локализации текста в представлении (конечно, я был бы открыт для любого другого варианта, который не требует, чтобы я передавал свое ядро)
Любые примеры, на которые кто-то мог бы указать мне, или совет, как сделать это чисто.