我有一个遗留的asp.net网站我正在迁移到asp.net mvc。
我想将现有网址永久重定向到asp.net mvc控制器。我有控制器,可以查看这些链接的新位置,我想在现有页面上进行301重定向到新视图。
我有两种不同类型的网址:
类型2网址是asp.net mvc路由处理之前现有网址重写器模块的结果。
我有现有的重定向代码:
Response.Clear();
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", url);
Response.End();
我应该在哪里进行重定向?
我看到两个选项:
Application_BeginRequest - 使用正则表达式解析网址
我喜欢它:
我不喜欢它:
控制器操作 - 使用路线&控制器进行重定向
我喜欢它:
我不喜欢它:
任何建议都会很棒,谢谢。
答案 0 :(得分:3)
在这两个选择中,我会选择Controller操作。控制器不是必需来返回视图 - 我相信你甚至可以使用ASP.NET MVC使控制器方法返回void
。我喜欢这个选项的原因是因为数据库交互 - 我认为在BeginRequest中启动数据库会影响整体性能。
如果这不是一个问题,我认为将其与其余的路由信息放在一起是最有意义的(即使用BeginRequest)。