abp 嵌入资源(视图、css、js)的访问

最近在做的基于abp作为框架的一个项目,将一些属于框架功能的页面写在了一个独立程序集中,然后在web项目中引用该程序集达到访问框架页面目的。

这样一来发布web之后,在发布目录中是看不到写在另一个程序集中的页面,这样有利于框架功能与业务功能的分离。在框架做了修改以后,只需要在业务项目中替换引用的框架dll文件即可,维护起来比较方便。


这种想法还是比较好的,但在实施时遇到一个情况:web发布以后,如果直接挂在IIS的网站上能够访问内嵌视图(完全正常),但如果挂载在网站下的应用程序下(虚拟网站)就不能访问内嵌视图了(测试了下 ,在此情况下能够访问内嵌的css和jis文件)。

这种不能访问嵌入视图(js、css可正常访问)

 

这种可以访问嵌入视图(js、css可正常访问)

 


 

猜测原因:因为挂在虚拟目录的网站会多出一个层级目录,影响到了控制器查找对应的内嵌视图。 以下给出截图:

解决办法:

1、重写视图解析。 源码下载

2、在控制器的action中返回的视图为完全限定名方式。格式:程序集名+视图目录。截图如下:


发布后的网站,可能会遇到嵌入资源无法问题。请参考文章:abp 将abp项目发布之后挂在IIS上无法访问嵌入资源的问题

posted on 2017-08-23 11:59  儿时精神  阅读(909)  评论(0编辑  收藏  举报

导航