Asp.net mvc 3 ASP.NET MVC 3应用程序的扩展?

Asp.net mvc 3 ASP.NET MVC 3应用程序的扩展?,asp.net-mvc-3,dependency-injection,mef,autofac,Asp.net Mvc 3,Dependency Injection,Mef,Autofac,我需要编写一个可扩展的ASP.NET MVC 3应用程序,扩展是一个具有非常特定用途的.dll(即:论坛扩展、博客扩展、wiki扩展等) 但是,扩展不会有任何视图,这将使这个过程更加简单。它应该只有控制器和一些型号 我一直在考虑用MVC区域实现这一点,并像这样加载它们: // Global.asax public static void PreApplicationStartMethod() { foreach (var file in Directory.GetFiles(

我需要编写一个可扩展的ASP.NET MVC 3应用程序,扩展是一个具有非常特定用途的
.dll
(即:论坛扩展、博客扩展、wiki扩展等)

但是,扩展不会有任何视图,这将使这个过程更加简单。它应该只有控制器和一些型号

我一直在考虑用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();
    ...
}
现在,这种方法非常有效,但仍然是一种非常古老的静态方法。NET4已管理可扩展性框架。MVC3有依赖注入

我读过关于便携区和SharpArchitecture的文章。我试图从源代码和文档中理解Orchard插件框架。但我还是不知道该用什么

为了使我的问题更加实用,您将如何将外部项目中的控制器和模型包括到主MVC web应用程序中?最好的方法是什么?我应该在这里使用依赖注入吗


谢谢。

我之前已经看过了,如果这些有帮助,请告诉我:


  • 最近有人告诉我,这个社区不赞成只提供链接的答案。不知何故,我觉得这已经够矛盾的了。