我已经实现了一个自定义路由(从RouteBase继承),以便根据存储在数据库中的数据实现动态路由。处理之后,该路径最终含有 1返回的RouteData)一种EF实体 2)动作 3)控制器每个路由的控制器工厂
所有作品如预期所不同的是,我想用于控制器值是任一的一个完整的类型名控制器(我允许我的用户从管理面板中选择它)或单词“自动”。如果选择“自动”,则使用结构图查找实现通用控制器的控制器,该控制器为<TEntityType>。为此,我使用路由数据返回一个MvcRouteHandler,并将自定义控制器工厂传递给它的构造函数。
经过一点挖掘,我意识到MvcRouteHandler不会将该控制器工厂传递给它创建的MvcHandler,因此我的自定义控制器工厂从不会被调用,并且路由总是失败。 我不确定我有什么替代品,如果有的话。我想我大概可以设置控制器工厂,但我觉得这是错误的,因为只有我的自定义路由处理的请求应该有自定义控制器工厂。
由于提前, 约翰