加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 22:39:36 所属栏目:asp.Net 来源:网络整理
导读:这是我想要实现的,我想将ASP.NET MVC的AREAs分离为纯单个DLL. Blog.DLL 论坛.DLL FAQ.DLL 他们每个都是单独的ASP.NET MVC区域,具有自己的默认CSHTML或ASPX页面.安装,迁移和维护许多页面,包括资源,javascripts等都是长期的痛苦.因为大多数这些几乎不会改变.
这是我想要实现的,我想将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视图.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读