Маршрутизируемая локализация на страницах удостоверений в ASP.NET Core MVCC#

Место общения программистов C#
Ответить
Anonymous
 Маршрутизируемая локализация на страницах удостоверений в ASP.NET Core MVC

Сообщение Anonymous »

В настоящее время я разрабатываю веб-приложение в ASP.NET Core MVC, где пользователи должны зарегистрироваться. Это локализованное веб-приложение, которое должно работать на нескольких языках. Чтобы быть оптимизированным для SEO, я выбрал маршрутизируемую локализацию, поэтому мой URL-адрес выглядит так:
https://localhost:5001/en/Catalogue или https://localhost:5001/ fr/catalogue.
Чтобы сделать это, я добавил этот фрагмент кода в свой метод ConfigurationServices в Startup.cs:

Код: Выделить всё

services.AddLocalization(options => options.ResourcesPath = "Resources");

services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddViewLocalization()
.AddDataAnnotationsLocalization();
В моем методе Configure я добавил это:

Код: Выделить всё

IList supportedCultures = new List
{
new CultureInfo("en"),
new CultureInfo("fr"),
};
var localizationOptions = new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("en"),
SupportedCultures = supportedCultures,
SupportedUICultures = supportedCultures
};
var requestProvider = new RouteDataRequestCultureProvider();
localizationOptions.RequestCultureProviders.Insert(0, requestProvider);

app.UseRouter(routes =>
{
routes.MapMiddlewareRoute("{culture=en}/{*mvcRoute}", subApp =>
{
subApp.UseRequestLocalization(localizationOptions);

subApp.UseMvc(mvcRoutes =>
{
mvcRoutes.MapRoute(
name: "areaRoute",
template: "{culture=en}/{area:exists}/{controller=Home}/{action=Index}/{id?}");

mvcRoutes.MapRoute(
name: "default",
template: "{culture=en}/{controller=Home}/{action=Index}/{id?}");
});
});
});
Это работает как шарм. Я могу перевести свои страницы MVC в любой вариант, какой захочу. Моя проблема связана с идентификационными страницами. Я добавил эти страницы как элементы каркаса. Их URL-адреса указывают на

Код: Выделить всё

https://localhost:5001/Identity/Account/Register
Пытаемся получить к ним доступ с помощью

Код: Выделить всё

https://localhost:44339/en/Identity/Account/Register
не работает. Как реализовать маршрутизируемую локализацию с помощью идентификационных страниц?

Подробнее здесь: https://stackoverflow.com/questions/542 ... t-core-mvc
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»