Cra*_*ste 6 asp.net-mvc asp.net-mvc-3
我们有一个已部署的ASP.NET MVC 3应用程序,并在其中一个控制器操作中发现了一个错误.出于政治原因,我们不允许替换任何现有的代码,如果没有一个需要数周头痛的大流程.即我们无法重建MVC应用程序.
我们被允许部署一个新的程序集,其中包含一个只有一个固定动作的新控制器.
有没有办法添加或编辑MVC应用程序的路由来映射新的控制器操作?
我正在考虑将我的MVC应用程序子类化在修复程序DLL中并更新global.asax以引用子类应用程序.
public class HotfixApplication : RealApplication
{
public override void Init()
{
base.Init();
var badRoute = RouteTable.Routes.Where(...);
var badRoute.FixIt();
}
}
Run Code Online (Sandbox Code Playgroud)
它将路由到修补程序DLL中的控制器操作.
这听起来有道理吗?安全?
如果我错了,有人会纠正我,但我很确定,除非您的项目设计为动态加载程序集,否则您将无法在没有某种部署的情况下修改运行时。
话虽这么说,您可以利用 ISS 重定向或添加到 Web.config 文件中的 HttpModule,将对违规控制器的请求指向您选择的新位置。
| 归档时间: |
|
| 查看次数: |
1585 次 |
| 最近记录: |