0

私は 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  

これはどのように解決できますか?

ありがとう、ミゲル

4

0 に答える 0