对于某些人来说,这肯定是一个微不足道的问题,但我还没有找到任何关于此的实际信息。
我有一个 ASP.NET MVC Web 应用程序。由于我喜欢编写可重用的代码,因此我想将 Controller 放入单独的库程序集中,并在多个 Web 应用程序中重用它们。
问题是,我如何告诉 ASP.NET MVC 它应该在其他程序集中查找 Controller 而不是 Web 应用程序本身?
最佳答案
您需要创建自己的ControllerFactory。
查看this链接
基本上,如上所述创建 ControllerFactory,然后在 Global.asax 中添加以下行:
ControllerBuilder.Current.SetControllerFactory(new YourFactory());
这告诉 ASP.NET MVC 使用您的 ControllerFactory。
最重要的是,当您定义路由时,您需要向 ASP.NET MVC 提供有关此程序集所在位置的“提示”:
yourRoute.DataTokens = new RouteValueDictionary(
new
{
namespaces = new[] { "SomeAssembly.Controllers" }
});
如果没有找到,则会在常规命名空间(Web 应用程序)中查找。
Here是另一个展示如何创建自定义 Controller 工厂的链接。
祝你好运!
关于.net - 如何告诉 ASP.NET MVC 在库中查找 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3722708/