我有一个Windows Azure应用程序。当我在本地运行时,我希望从jQuery的本地版本运行。当在Microsoft服务器上运行时,我想使用Google CDN。
根据我的应用是在本地运行还是在jQuery服务器上运行,有没有一个好方法让我的剃须刀视图在本地和CDN版本之间切换?
发布于 2012-09-09 09:11:57
内容分发网络(CDN)可用于将内容卸载到全球分布的服务器网络,确保最终用户获得更快的吞吐量。
所以CDN就是把数据放在离用户尽可能近的地方,我不确定Google CDN是如何工作的,但如果它像Azure一样,那么你需要把你的内容放到CDN中,并获得内容的URL。然后,在您的Web应用程序中,指向Google CDN URL以通过CDN提供地理上的上下文。
看看this的博客文章“使用Windows Azure内容分发网络”如何在Azure上工作。
您应该能够使用相同的方法,但在谷歌CDN位置?
发布于 2012-09-10 02:04:21
你可以添加一个新的助手:
@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程序集需要将“复制本地”设置为true。我还必须关闭并重新打开解决方案,以使更改生效(而不仅仅是构建);否则,Microsoft.WindowsAzure.ServiceRuntime无法解决问题。

https://stackoverflow.com/questions/12332497
复制相似问题