有没有办法有一个包名称的文件扩展名?(Is there any way to have a file

2019-08-01 13:46发布

我想有这样定义的捆绑产品:

bundles.Add(
    new StyleBundle("~/style.css").Include(
        //...
));

如果包名称就是"~/style"这个作品,但文件扩展名始终返回404我怀疑对CSS和JS文件服务器搜索的驱动器上,而忽略了捆绑系统,但是我无法找到任何人谁是试图包括束名称的文件扩展名。 这是可能的,而不像一个URL重写呢?

Answer 1:

您可以添加以下到您的<system.webServer> web.config中部分:

<modules runAllManagedModulesForAllRequests="true" />

这将确保静态资源的请求,如.js.css将通过管理模块和ASP.NET MVC拦截。

作为替代方案,以使runAllManagedModulesForAllRequests所有请求,你可以只为你需要使用的URL配置。 所以内部的<handlers>添加以下内容:

<handlers>
    <!-- ... -->
    <add name="scriptBundle" verb="*" path="script.js" type="System.Web.Optimization.BundleHandler, System.Web.Optimization" preCondition="managedHandler" />
    <add name="cssBundle" verb="*" path="style.css" type="System.Web.Optimization.BundleHandler, System.Web.Optimization" preCondition="managedHandler" />
</handlers>


文章来源: Is there any way to have a file extension in a bundle name?