4
我需要编写一个可扩展的ASP.NET MVC 3应用程序,而扩展是一个.dll
具有非常具体的目的(即:论坛扩展,博客扩展,维基扩展等)。ASP.NET MVC 3应用程序的扩展?
虽然扩展名不会有任何意见,但应该使这个过程更简单。它应该只有控制器和几个型号。
我一直在思考与MVC地区实现这一点,并加载它们,像这样:
// Global.asax
public static void PreApplicationStartMethod()
{
foreach (var file in Directory.GetFiles(
Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Extensions/"), "*.dll"))
{
BuildManager.AddReferencedAssembly(Assembly.LoadFile(file));
}
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
...
}
现在这个完美工作了,不过,这似乎是一个很老的和静态的方式......。 NET 4具有托管扩展性框架。 MVC 3具有依赖注入。
我读过关于Portable Areas和SharpArchitecture。我试图从源代码和文档中了解Orchard插件框架。但我仍然不确定我应该使用什么。
为了让我的问题更实际一点 - 如何将外部项目中的控制器和模型包含到主MVC Web应用程序中?做这个的最好方式是什么?我应该在这里使用依赖注入吗?
谢谢。
最近有人告诉我,链接只有答案在这个社区中不满。不知何故,我发现这足够矛盾。 – 2012-03-23 10:32:06