2010-08-18 4 views
0

Я хотел бы предоставить локализацию для моего сайта в Azure. Я пошел с классическим веб-сайтом aspx, так как локализация поддерживается классическим asp из коробки, и у меня есть только несколько страниц. Я хочу, чтобы это было просто, так что MVC может быть излишним.Azure виртуальные пути для локализации

Я планирую зарегистрировать только 1 веб-роль Azure для сайта (foo.com), но хотел бы виртуальных путей для локализации, например. foo.com/de-de и т. д. Azure не разрешает виртуальные папки, такие как IIS, поэтому я думаю, что могу использовать Request.Path и делать некоторые фокусы, чтобы обнаружить виртуальный (локализованный) путь.

Можете ли вы придумать какой-либо другой чистый метод? Возможно, некоторые теги web.config?

Thanks

ответ

0

Возможно, вы можете что-то сделать с помощью маршрутизации ASP.NET?

0

Да, извините, я не видел ваш ответ раньше, и это именно то, что я использовал. Я не знал, что мы можем использовать маршрутизацию в веб-формах: http://msdn.microsoft.com/en-us/library/cc668177.aspx

Я определил мой рисунок локализации в RegisterRoutes, как:
routes.MapPageRoute ("LOC", «{язык} - {страна}/{action} ", " ~/default.aspx ", true)

Вместо загрузки страницы я использую событие InitializeCulture() и устанавливаю культуру потока на основе значений, полученных из спецификации маршрута, например string lang = Page.RouteData.Values ​​["lang"]. ToString(); Не забудьте проверить нули и т. Д. Подумайте о том, чтобы поместить это в базовый класс.