http://myserver
に移動して、デフォルトのホームページとしてヘルプページを取得できるようにしたいので、http://myserver
のゲストが最初に表示するのはヘルプページです。
私はこのように設定されたデフォルトルートを持っています:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
次に、ヘルプページ領域の登録を次のように設定します。
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"HelpPage_Default",
"doc/{action}/{apiId}",
new { controller = "Help", action = "Index", apiId = UrlParameter.Optional });
HelpPageConfig.Register(GlobalConfiguration.Configuration);
}
RouteConfigのcontroller
を"Help"
に変更すると、次のようになります。
ビュー「インデックス」またはそのマスターが見つからなかったか、検索された場所をサポートするビューエンジンがありません
ヘルプページのルートを"{controller}/{action}/{apiId}"
に変更すると、AttributeRoutesが機能しなくなります。
ASP.NETヘルプページをデフォルトのホームページにする簡単な方法はありますか?
私は次のRouteConfigでこれを達成しました。また、ASP.Netヘルプページを使用して、インラインXMLコメントからドキュメントを自動生成しています。
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
// By default route the user to the Help area if accessing the base URI.
routes.MapRoute(
"Help Area",
"",
new { controller = "Help", action = "Index" }
).DataTokens = new RouteValueDictionary(new { area = "HelpPage" });
}
}
また、APIメソッドで属性ルーティングを個別に使用しているため、このクラスには他のルーティングはありません。
ルートを追加する場所を検索する場合は、現在のバージョンのWebApiとNuGetパッケージを使用して、NuGetによって追加されたAreaフォルダーで「HelpPageAreaRegistration」という名前のファイルを検索する必要があります。
WebApiのヘルプページにデフォルトのWebページがあるようにコーディングされた後の私のものです。
public class HelpPageAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "HelpPage";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"HelpPage_Default",
"Help/{action}/{apiId}",
new { controller = "Help", action = "Index", apiId = UrlParameter.Optional });
context.MapRoute(
"Help Area",
"",
new { controller = "Help", action = "Index" }
);
HelpPageConfig.Register(GlobalConfiguration.Configuration);
}
}