asp.net-mvc – 如何创建ASP.NET MVC区域作为插件DLL?

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 如何创建ASP.NET MVC区域作为插件DLL?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我想要实现的,我想将ASP.NET MVC的AREAs分离为纯单个DLL.

> Blog.DLL
>论坛.DLL
> FAQ.DLL

他们每个都是单独的ASP.NET MVC区域,具有自己的默认CSHTML或ASPX页面.安装,迁移和维护许多页面,包括资源,javascripts等都是长期的痛苦.因为大多数这些几乎不会改变.

我的最终网站将是这样的.

\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放在bin文件夹中即可.但是web.config可能需要进行一些更改,但很有可能我们将在数据库中保存配置值,只有需要的东西是web.config中的“Entity Framework connection string”.

我的挑战(问题)

>是可能吗?它确实对我看,但会有任何反映/许可问题吗?
>如何在一个DLL中包含cshtml / aspx视图?大概编译版本?我已经看到几个基于文本模板的视图引擎在codeplex,但我很少困惑如何实际使用它们.
>如何让ViewEngine首先检查物理目录文件是否存在,然后查看dll本身的cshtml / aspx作为资源文件

解决方法

您可以查看 following article,说明如何使用自定义的VirtualPathProvider来检索作为资源嵌入到单独的程序集中的Razor视图.

猜你在找的asp.Net相关文章