【问题标题】:appending cdn to images in mvc app将 cdn 附加到 mvc 应用程序中的图像
【发布时间】:2013-01-04 09:58:16
【问题描述】:

我正在使用一个 asp.net mvc 4 应用程序。我想将我的网站图像设置为通过 cdn 呈现。

在 MVC 中是否有任何机制来设置解析为 cdn 的图像路径?我希望 CDN 是动态的,因此我可以通过应用设置对其进行配置。

我有几个想法可供选择

  • 使用 Html Helper 来解析所有带有 cdn 的图像。唯一的问题是我使用 spring.net 依赖注入并且不相信直接注入到静态类中
  • 创建我放置在控制器上的属性,该属性检查视图中的 html 输出,使用正则表达式查找所有未解析的域并解析它们。担心这方面的表现
  • 创建一个从我的视图返回的操作结果,与我之前的观点类似。

对此有何想法/提示?

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4 cdn


    【解决方案1】:

    在使用 CDN 时存在很大的问题,尤其是在 CSS 方面。

    这里的一些想法: http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification

    public static void RegisterBundles(BundleCollection bundles)
    {
        //bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        //            "~/Scripts/jquery-{version}.js"));
    
        bundles.UseCdn = true;   //enable CDN support
    
        //add link to jquery on the CDN
        var jqueryCdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js";
    
        bundles.Add(new ScriptBundle("~/bundles/jquery",
                    jqueryCdnPath).Include(
                    "~/Scripts/jquery-{version}.js"));
    
        // Code removed for clarity.
    }
    
    
    </footer>
    
            @Scripts.Render("~/bundles/jquery")
    
            <script type="text/javascript">
                if (typeof jQuery == 'undefined') {
                    var e = document.createElement('script');
                    e.src = '@Url.Content("~/Scripts/jquery-1.7.1.js")';
                    e.type = 'text/javascript';
                    document.getElementsByTagName("head")[0].appendChild(e);
    
                }
            </script> 
    
            @RenderSection("scripts", required: false)
        </body>
    </html>
    

    这很复杂,但可以通过一些努力来完成。

    关于这方面的一篇非常好的文章: http://ofps.oreilly.com/titles/9781449320317/ch_ClientOptimization.html

    希望对你有所帮助

    图像路径解析在这里处理: MVC4 StyleBundle not resolving images

    在控制器中:

    ViewBag.CDNPath= "http://thepathtomyddnserver";
    

    在视图中:

    <img src="@Html.Raw(@ViewBag.CDNPath)/logo1.png">
    

    这是简单的一点吗?

    【讨论】:

    • 感谢您提供此信息,但我正在考虑将 cdn 附加到图像路径。
    • 看最后一篇超链接-stackoverflow.com/questions/11355935/…
    • 在这方面看不到任何关于将 cdn 附加到 html 中的图像路径的内容。
    • 看看我最后添加的文字
    猜你喜欢
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多