私は AttributeRouting を使用しており、AttributeRouting.NET のローカリゼーションの例に従い、カルチャ ハンドラーを追加しました。
routes.MapAttributeRoutes(config => {
config.ConstrainTranslatedRoutesByCurrentUICulture = true;
config.CurrentUICultureResolver = (httpContext, routeData) => {
return (string)routeData.Values["culture"] ?? Thread.CurrentThread.CurrentUICulture.Name;
};
config.UseRouteHandler(() => new CultureRouteHandler());
});
CultureRouteHandler とリゾルバーにブレークポイントを追加しました。
サイトを起動すると、ブレークポイントが発生しません...
そのため、最初のリクエストでデフォルトのカルチャを選択できません。
私の CultureRouteHandler は次のとおりです。
protected override IHttpHandler GetHttpHandler(RequestContext context) {
String culture = (String)context.RouteData.Values[_culture];
if (culture == null) {
culture = "en";
}
if (culture != null) {
Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
context.RouteData.Values[_culture] = culture;
}
return base.GetHttpHandler(context);
} // GetHttpHandler
これはどのように解決できますか?
ありがとう、ミゲル