有没有办法在包名称中包含文件扩展名?

2024-01-01

我想定义一个像这样的包:

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

如果包名称只是"~/style"这是可行的,但对于文件扩展名,它总是返回 404。我怀疑服务器在驱动器上搜索 CSS 和 JS 文件并忽略捆绑系统,但我找不到任何其他人试图在捆绑包中包含文件扩展名名称。如果不进行 URL 重写之类的操作,是否可以做到这一点?


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

<modules runAllManagedModulesForAllRequests="true" />

这将确保对静态资源的请求,例如.js and .css将穿过托管模块并被 ASP.NET MVC 拦截。

作为启用的替代方案runAllManagedModulesForAllRequests对于所有请求,您只能为需要使用的网址配置它们。所以里面<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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法在包名称中包含文件扩展名? 的相关文章

随机推荐