首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >方法"Bundle.Include“(在与ASP.NET MVC一起使用的System.Web.Optimization中)可以抛出异常,而不是静默地忽略丢失的文件吗?

方法"Bundle.Include“(在与ASP.NET MVC一起使用的System.Web.Optimization中)可以抛出异常,而不是静默地忽略丢失的文件吗?
EN

Stack Overflow用户
提问于 2013-01-26 07:26:06
回答 5查看 2.4K关注 0票数 19

如果一个javascript或css文件丢失了,有没有可能抛出异常?

我已经尝试了下面的代码,但它从来没有抛出异常...

代码语言:javascript
复制
    public class BundleConfig {
    public static void RegisterBundles(BundleCollection bundles) {  
        ....

        bundles.Add(new ScriptBundle("~/bundles/something").Include("~/Scripts/nonExistingFile.js"));
        // I would like the above usage of Include method with 
        // a non-existing file  to throw an exception to make it 
        // obvious that an expected file is missing ...
        // but since it does not I tried to implement a method as below ...
        ...
        AssertThatAllFilesExist(bundles);
        // but unfortunately an exception is never thrown but when 
        // iterating the files in the method below, 
        // the non-existing file seems to never become retrieved ...
    }   

    private static void AssertThatAllFilesExist(BundleCollection bundles) {
        HttpContext currentHttpContext = HttpContext.Current;
        var httpContext = new HttpContextWrapper(currentHttpContext);
        foreach (var bundle in bundles) {
            var bundleContext = new BundleContext(httpContext, bundles, bundle.Path);
            IEnumerable<FileInfo> files = bundle.EnumerateFiles(bundleContext);
            foreach (var file in files) {
                if (!file.Exists) {
                    // if this problem would occur then it should 
                    // indicate that one of the arguments of the 
                    // method "Bundle.Include" does not 
                    // correspond to an existing file ...
                    throw new ArgumentException("The following file does not exist: " + file.FullName);
                }
            }
        }
    }
}   
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14531934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档