ASP.NET strony pomocy domyślna Strona główna?
Chcę przejść do http://myserver
i być w stanie uzyskać strony pomocy jako domyślną stronę główną, więc pierwszą rzeczą, którą gość powinien zobaczyć, jest strona pomocy.
Mam domyślną trasę ustawioną tak:
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 }
);
}
Potem mam moją rejestrację obszaru pomocy ustawioną tak:
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);
}
Kiedy zmieniam routeconfig ' s controller
na "Help"
dostaję:
Widok 'Index' lub jego master nie został znaleziony lub nie ma silnika widoku obsługuje wyszukiwane lokalizacje
Kiedy Zmień trasę strony pomocy na "{controller}/{action}/{apiId}"
moje atrybuty przestają działać.
Czy jest jakiś łatwy sposób na ASP.NET strony pomocy domyślna Strona główna?
2 answers
Udało mi się to osiągnąć za pomocą następującego RouteConfig. Ja również używam ASP.Net strony pomocy do automatycznego generowania dokumentacji z wbudowanego XML komentarze:
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" });
}
}
Powinienem również wspomnieć, że nie mam żadnego innego routingu w tej klasie, ponieważ używam trasowania atrybutów w metodach API indywidualnie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-25 13:55:31
Dla tych, którzy szukają gdzie dodać trasę, przy bieżącej wersji WebApi i pakietu NuGet należy wyszukać plik o nazwie "Helppagearegistration" w folderze Area dodanym przez NuGet.
Oto mój raz został zakodowany, aby Strona pomocy z WebApi miała domyślną stronę internetową.
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);
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-20 19:17:30