Sitecore MVC RouteTablesについて説明したように、Sitecore6.6を使用していると想定しています。WebActivatorを使用して、ハブマッピングをRouteTableに登録してみてください。WebActivatorには、このブートストラップコードをaPreApplicationStartMethod
またはaに追加するオプションがありPostApplicationStartMethod
、ルートを登録して、Sitecoreのワイルドカードルートが優先されるのを防ぐことができます。私はこのアプローチを使用して、SitecoreでWebAPIルートをブートストラップしました。
using System;
[assembly: WebActivator.PreApplicationStartMethod(
typeof($rootnamespace$.App_Start.MySuperPackage), "PreStart")]
namespace $rootnamespace$.App_Start {
public static class MySuperPackage {
public static void PreStart() {
// Add your start logic here
}
}
}
別のアプローチは、登録コードをカスタムパイプラインプロセッサに追加し、このプロセッサをの初期化イベントパイプラインに追加することです。App_Config\Include\Sitecore.Mvc.config
<pipelines>
<!-- Loader -->
<initialize>
<processor type="Sitecore.Mvc.Pipelines.Loader.InitializeGlobalFilters, Sitecore.Mvc"/>
<processor type="Sitecore.Mvc.Pipelines.Loader.InitializeControllerFactory, Sitecore.Mvc"/>
<processor type="Sitecore.Mvc.Pipelines.Loader.InitializeRoutes, Sitecore.Mvc"/>
</initialize>