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