gpt4 book ai didi

asp.net-mvc - asp.net mvc 将 Controller 放入单独的项目中

转载 作者:行者123 更新时间:2023-12-03 04:50:31 25 4
gpt4 key购买 nike

我刚刚学习 asp.net mvc,我正在尝试弄清楚如何将我的 Controller 移动到一个单独的项目中。通常,当我以前设计 ASP.NET Web 应用程序时,我会为我的模型创建一个项目,为我的逻辑创建另一个项目,然后就是 Web。

现在我正在学习 asp.net mvc,我希望遵循类似的模式,将模型和 Controller 放入各自单独的项目中,并将 View /脚本/css 留在网络中。模型部分很简单,但我不明白的是如何让我的 Controller 在单独的项目中被“找到”。另外,我想知道这是否可取。谢谢!

最佳答案

首先,将模型放入单独的项目中当然是个好主意。正如您所发现的,这很简单。

关于 Controller 和 View ,我认为对于大多数基本项目来说将它们分开没有任何明显的优势,尽管您可能在特定应用程序中特别需要这样做。

如果您选择这样做,那么您将需要告诉框架如何找到您的 Controller 。执行此操作的基本方法是提供您自己的 ControllerFactory。您可以查看 DefaultControllerFactory 的源代码以了解这是如何完成的。对此类进行子类型化并重写 GetControllerType(string controllerName) 方法可能足以完成您所要求的任务。

创建自己的自定义 ControllerFactory 后,将以下行添加到 global.asax 中的 Application_Start 中,以告诉框架在哪里可以找到它:

ControllerBuilder.Current.SetControllerFactory(new MyControllerFactory());

更新:阅读 this post 它链接到的帖子以获取更多信息。另请参阅 Phil Haack 对该帖子的评论:

ControllerBuilder.Current.DefaultNamespaces.Add(
"ExternalAssembly.Controllers");

...这不是一个完整的解决方案,但对于简单的情况来说可能足够好了。

关于asp.net-mvc - asp.net mvc 将 Controller 放入单独的项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/401376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com