Geroutete Lokalisierung in Identitätsseiten in ASP.NET Core MVCC#

Ein Treffpunkt für C#-Programmierer
Guest
 Geroutete Lokalisierung in Identitätsseiten in ASP.NET Core MVC

Post by Guest »

Ich entwickle derzeit eine Webanwendung in ASP.NET Core MVC, bei der sich Benutzer registrieren sollten. Dabei handelt es sich um eine lokalisierte Webanwendung, die in mehreren Sprachen ausgeführt werden kann. Um SEO-freundlich zu sein, habe ich mich für die geroutete Lokalisierung entschieden, sodass meine URLs so aussehen:
https://localhost:5001/en/Catalogue oder https://localhost:5001/ fr/catalogue.
Um dies zu ermöglichen, habe ich diesen Code in meine Methode „ConfigureServices“ in Startup.cs eingefügt:

Code: Select all

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

services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddViewLocalization()
.AddDataAnnotationsLocalization();
In meiner Methode „Configure“ habe ich Folgendes hinzugefügt:

Code: Select all

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?}");
});
});
});
Das funktioniert wie ein Zauber. Ich kann meine MVC-Seiten in jede gewünschte Variante übersetzen. Mein Problem sind die Identitätsseiten. Ich habe diese Seiten als Gerüstelemente hinzugefügt. Ihre URLs verweisen auf

Code: Select all

https://localhost:5001/Identity/Account/Register
Ich versuche, darauf zuzugreifen

Code: Select all

https://localhost:44339/en/Identity/Account/Register
funktioniert nicht. Wie kann ich die geroutete Lokalisierung mit Identitätsseiten implementieren?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post