0

我有一个 Windows Azure 应用程序。当我在本地运行时,我想从本地版本的 jQuery 运行。在 Microsoft 服务器上运行时,我想使用 Google CDN。

根据我的应用程序是在本地运行还是在 Azure 服务器上运行,我的 razor 视图是否有一种在本地和 CDN 版本之间切换的好方法?

4

2 回答 2

0

内容交付网络 (CDN) 可用于将内容卸载到全球分布式服务器网络,从而确保为最终用户提供更快的吞吐量。

所以 CDN 就是把数据尽可能靠近用户,我不确定 Google CDN 是如何工作的,但如果它像 Azure,那么你需要将你的内容放入 CDN 并获取内容的 URL . 然后,在您的 Web 应用程序中,指向 Google CDN URL 以通过 CDN 在地理上提供上下文。

查看这篇博客文章,了解 Azure 的“使用 Windows Azure 内容交付网络”是如何工作的。

您应该能够使用相同的方法,但替换为 Google CDN 位置?

于 2012-09-09T01:11:56.843 回答
0

您可以添加一个新的助手:

@helper ScriptPath(string path)
{
    <script src="@fnScriptPath(path)" type="text/javascript"></script>
}

@functions 
{
    static string fnScriptPath(string path)
    {
        if (Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.IsEmulated)
            return "/Scripts/" + path;
        else
            return "http://ajax.aspnetcdn.com/ajax/jQuery" + path;
    }
}

那么您的页面将具有:

@ScriptHelper.ScriptPath("jquery-1.7.1.js")

例如。

重要提示:为此,您的参考资料中的 Microsoft.WindowsAzure.ServiceRuntime 程序集需要将 Copy Local 设置为 true。我还必须关闭并重新打开解决方案以进行更改(而不仅仅是构建);否则,Microsoft.WindowsAzure.ServiceRuntime 无法解析。

在此处输入图像描述

于 2012-09-09T18:04:21.283 回答