这是我想要什么来实现的,我想ASP.NET MVC的地区分离纯单个DLL。
- Blog.DLL
- Forums.DLL
- FAQ.DLL
他们每个人都是个体ASP.NET MVC区,拥有自己的默认CSHTML或ASPX页面。 安装,迁移和维护大量的页面,包括资源,JavaScript和等等都是长期来看真正的痛苦。 由于其中大部分将难以改变。
我最后的网站会是这样。
\MvcApplication
\bin
\MvcApplication.bin
\Blog.dll
\Forums.dll
\Controllers
\..
\Models
\..
\Views
\..
\Global.asax
\Web.config
不添加任何东西,只是删除Blog.dll,我的应用程序应该支持/博客和它的所有页面。 如果我想自定义的东西,比我可以添加区,和只添加CSHTML页..
\MvcApplication
\bin
\MvcApplication.bin
\Blog.dll
\Forums.dll
\Areas
\Blog
\Views
\Shared
\BlogLayout.cshtml <-- this will override the look
\Controllers
\..
\Models
\..
\Views
\..
\Global.asax
\Web.config
这将有助于重用ASP.NET区插件,通过简单地丢弃在bin文件夹中的DLL。 然而web.config文件可能需要一些变化,但最有可能的,我们将保存在数据库中,仅会在web.config中“实体框架连接字符串”需要的东西配置值。
我的挑战(问题)
- 可能吗? 它看起来确实给我,但会不会有任何反射/权限问题?
- 如何包括一个DLL内CSHTML / ASPX看法? 也许编译的版本? 我见过几个CodePlex上的文本模板基于视图引擎,但我对如何实际使用它们有点困惑。
- 而且我怎么视图引擎首先检查物理目录文件存在与否,然后看看CSHTML / ASPX DLL本身的资源文件中?