Vas*_*ssi 9 asp.net-mvc-3-areas asp.net-mvc-3
我有一个MVC3应用程序,有几个区域和一个便携式区域(使用MVCContrib)
通常,我将所有内容文件保存在〜/ Content和我的脚本下〜/ Scripts.
但是,我正在为我的网站上的另一个服务构建一个相当复杂的webclient,我想在Area的文件夹结构下组织这些javascript和图像文件(很多图像文件和资源),看起来像这样,在〜/ Areas/Web客户端
我有一个资源聚合器控制器(我的一个可移植区域),能够很好地进入CSS/JS文件夹以提供该内容.但是,CSS文件直接引用images/fonts文件夹,所有这些链接都显示为已损坏.我有两次和三次检查路径,并确保一切正常,但我仍然得到404错误.
据我所知,MVC3应该忽略路由,只要那里有静态文件.此外,据我所知,只有App_*文件夹享有特殊保护.我错过了什么?如果我可以完全避免它,我宁愿不将我的图像和资源与我的主应用程序混合在一起.
举个例子:http://localhost/Areas/WebClient/Content/images/knownimage.png不起作用,但应该存在!
Vas*_*ssi 17
所以在经过一段时间的睡眠之后,更重要的是,摒弃了这个问题,我记得MVC确实为你提供了直接下载视图的保护,这让我记住了Areas文件夹中所需的Web.config文件.果然,有一个httphandler基本上将所有请求发送到FileNotFound处理程序.
我所要做的就是将web.config文件放在我想要公开的内容文件夹中,其中包含以下内容:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="BlockViewHandler" />
</handlers>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
问题解决了.
| 归档时间: |
|
| 查看次数: |
2864 次 |
| 最近记录: |