.NET 4.0路由和应用程序启动
对,我在Global.asax中使用application_start事件,如下所示:.NET 4.0路由和应用程序启动,.net,.net,对,我在Global.asax中使用application_start事件,如下所示: void Application_Start(object sender, EventArgs e) { // Code that runs on application startup RegisterRoutes(RouteTable.Routes); } public static void RegisterRoutes(RouteCollec
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
var context = new QuestionEntities();
var questionquery = from c in context.Questions where c.Alias != null select c;
string alias = "";
foreach (Question q in questionquery.ToList())
{
try
{
alias = q.QuestionText.Replace(" ", "-").Replace("?", "").ToLower();
}
catch { }
routes.MapPageRoute("", alias, "~/Default.aspx");
}
routes.MapPageRoute("", "home", "~/Default.aspx");
routes.MapPageRoute("", "rss", "~/rss.aspx");
}
这一切都很好,但当我创建一个新问题并添加一个别名时,它不会重新出现。我已经尝试停止和启动网站。是否有办法强制重新启动此事件
我使用的是reinvent主机,所以没有直接访问IIS的权限来重新设置它的样式
谢谢你的帮助
Rob应用程序\u仅在应用程序池启动后首先启动第一个请求。当bin文件夹或web.config中发生更改时,应用程序池将重新启动。否则,尽管您的代码不会启动 要执行您想要的操作,您可能需要一个IHttpModule,或者在每个请求上运行的其他东西
或者,您可能需要一条catchall路线。使用
{*catchall}
作为路径。Andy-谢谢,午餐后我会看一看,然后再给你回复。