我可以禁用编译路由和其他asax文件吗? 在应用程序运行时已经改变它们
答案 0 :(得分:0)
没有。任何扩展名为.cs的东西(如global.asax.cs)都必须编译。你真的想做什么?编译器非常快。如果您只是尝试调试路线,可以使用something like the route debugger(精彩,精彩的工具)。
根据评论进行更新
您的评论表明您希望在已编译代码之外存储路由。
This link describes how to store them in a database,我觉得这是最好的地方。这个例子是从2008年开始的,所以它可能与MVC3不兼容,但它应该让你知道从哪里开始。
如果您不想经历构建编辑器的麻烦(或者更糟糕的是,在数据库中手动输入它们),则可以使用XML文件。 This link describes loading routes from an XML file。
这些技术几乎都是一样的:
但您可能希望包含控制器名称,操作名称等的默认值。
...
List<Route> routes = MyRouteLoader.Load(routeXmlFileName);
foreach(Route route in routes)
{
routes.add(route);
}
唯一的半复杂部分是从XML加载路由,但您可以使用System.Xml.Serialization.XmlSerializer
类通过少量自定义代码读取和写入XML路由。