问题描述
我正在尝试在 ScriptManager 中使用 EnableCdn 属性.基本上我的母版页文件中有这段代码:
I am trying to user EnableCdn property in ScriptManager. Basically I have this piece of code in my master page file:
<asp:ScriptManager ID="MainScriptManager" runat="server" EnablePartialRendering="true"
EnableScriptGlobalization="true" EnableScriptLocalization="true" AsyncPostBackTimeout="3600" EnableCdn="True">
这适用于我们通过 HTTP 连接的开发环境 - 它引用了这样的脚本:
This works on the dev environment where we connect via HTTP - it references to such script:
<script src="http://ajax.aspnetcdn.com/ajax/4.5/5/WebForms.js" type="text/javascript"></script>
但是在我们使用 SSL 的生产服务器上,它试图包含这样的脚本:
But on the production server, where we use SSL it tries to include such script:
<script src="https://ajax.microsoft.com/ajax/4.0/2/WebForms.js" type="text/javascript"></script>
有两个不同点(版本和域),但大部分来自 4.0 版的文件不在 CDN 服务器上(通过 https!).
There are two differencies (version and the domain), but most of all this file from version 4.0 is not on the CDN server (via https!).
有人可以为这个问题提出某种解决方案吗?这是否意味着通过 https 不支持 4.0 版,但通过 http 支持(我可以通过两种方法从 4.5 版下载文件,但 4.0 只能通过 HTTP 获得).
Could anyone suggest some sort of resolution for this problem? Does that mean that version 4.0 is not supported via https, but it is via http (I can download file from version 4.5 by both methods, but 4.0 is only available via HTTP).
我发现了ajax.microsoft.com 已重命名为 ajax.aspnetcdn.com"的信息 - 这似乎是我的版本的问题,但我找不到有关如何将域更改为正确域的信息(尚).我们应该在生产中重新安装框架吗?
I have found information that "ajax.microsoft.com renamed to ajax.aspnetcdn.com" - this seems to be a problem with my version but I cannot find information (yet) how to change the domain into correct one. Should we reinstall framework on the production?
推荐答案
文件是在服务器上,但最近一直很烦躁(甚至无法访问任何文件)现在),所以总是使用本地故障转移.
The files are on the server, but it's just been acting very fidgety lately (can't even access any file at all right now), so always use a local failover.
对于 .Net 4.0,只需将其添加到您的 Global.asax 文件 - 它会使用新的 CDN 域更新所有 CDN 域(对于以前的版本,只需适当更改链接):
For .Net 4.0 just add this to your Global.asax file - it updates all the CDN domains with the new one (for previous versions just change the links appropriately):
protected void Application_Start(object sender, EventArgs e)
{
System.Reflection.Assembly web = typeof(HttpApplication).Assembly;
ScriptManager.ScriptResourceMapping.AddDefinition(
"WebForms.js",
web,
new ScriptResourceDefinition
{
ResourceName = "WebForms.js",
ResourceAssembly = web,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/WebForms.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/WebForms.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"Focus.js",
web,
new ScriptResourceDefinition
{
ResourceName = "Focus.js",
ResourceAssembly = web,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/Focus.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/Focus.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"SmartNav.js",
web,
new ScriptResourceDefinition
{
ResourceName = "SmartNav.js",
ResourceAssembly = web,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/SmartNav.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/SmartNav.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"WebUIValidation.js",
web,
new ScriptResourceDefinition
{
ResourceName = "WebUIValidation.js",
ResourceAssembly = web,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/WebUIValidation.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/WebUIValidation.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"TreeView.js",
web,
new ScriptResourceDefinition
{
ResourceName = "TreeView.js",
ResourceAssembly = web,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/TreeView.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/TreeView.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"Menu.js",
web,
new ScriptResourceDefinition
{
ResourceName = "Menu.js",
ResourceAssembly = web,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/Menu.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/Menu.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"MenuStandards.js",
web,
new ScriptResourceDefinition
{
ResourceName = "MenuStandards.js",
ResourceAssembly = web,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MenuStandards.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MenuStandards.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"WebParts.js",
web,
new ScriptResourceDefinition
{
ResourceName = "WebParts.js",
ResourceAssembly = web,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/WebParts.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/WebParts.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"GridView.js",
web,
new ScriptResourceDefinition
{
ResourceName = "GridView.js",
ResourceAssembly = web,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/GridView.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/GridView.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"DetailsView.js",
web,
new ScriptResourceDefinition
{
ResourceName = "DetailsView.js",
ResourceAssembly = web,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/DetailsView.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/DetailsView.js",
CdnSupportsSecureConnection = true
}
);
System.Reflection.Assembly ext = typeof(ScriptManager).Assembly;
ScriptManager.ScriptResourceMapping.AddDefinition(
"MicrosoftAjax.js",
ext,
new ScriptResourceDefinition
{
ResourceName = "MicrosoftAjax.js",
ResourceAssembly = ext,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjax.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjax.debug.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"MicrosoftAjaxApplicationServices.js",
ext,
new ScriptResourceDefinition
{
ResourceName = "MicrosoftAjaxApplicationServices.js",
ResourceAssembly = ext,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxApplicationServices.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxApplicationServices.debug.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"MicrosoftAjaxComponentModel.js",
ext,
new ScriptResourceDefinition
{
ResourceName = "MicrosoftAjaxComponentModel.js",
ResourceAssembly = ext,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxComponentModel.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxComponentModel.debug.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"MicrosoftAjaxCore.js",
ext,
new ScriptResourceDefinition
{
ResourceName = "MicrosoftAjaxCore.js",
ResourceAssembly = ext,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxCore.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxCore.debug.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"MicrosoftAjaxGlobalization.js",
ext,
new ScriptResourceDefinition
{
ResourceName = "MicrosoftAjaxGlobalization.js",
ResourceAssembly = ext,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxGlobalization.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxGlobalization.debug.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"MicrosoftAjaxHistory.js",
ext,
new ScriptResourceDefinition
{
ResourceName = "MicrosoftAjaxHistory.js",
ResourceAssembly = ext,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxHistory.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxHistory.debug.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"MicrosoftAjaxNetwork.js",
ext,
new ScriptResourceDefinition
{
ResourceName = "MicrosoftAjaxNetwork.js",
ResourceAssembly = ext,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxNetwork.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxNetwork.debug.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"MicrosoftAjaxSerialization.js",
ext,
new ScriptResourceDefinition
{
ResourceName = "MicrosoftAjaxSerialization.js",
ResourceAssembly = ext,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxSerialization.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxSerialization.debug.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"MicrosoftAjaxTimer.js",
ext,
new ScriptResourceDefinition
{
ResourceName = "MicrosoftAjaxTimer.js",
ResourceAssembly = ext,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxTimer.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxTimer.debug.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"MicrosoftAjaxWebForms.js",
ext,
new ScriptResourceDefinition
{
ResourceName = "MicrosoftAjaxWebForms.js",
ResourceAssembly = ext,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxWebForms.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxWebForms.debug.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"MicrosoftAjaxWebServices.js",
ext,
new ScriptResourceDefinition
{
ResourceName = "MicrosoftAjaxWebServices.js",
ResourceAssembly = ext,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxWebServices.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/MicrosoftAjaxWebServices.debug.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"Date.HijriCalendar.js",
ext,
new ScriptResourceDefinition
{
ResourceName = "Date.HijriCalendar.js",
ResourceAssembly = ext,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/Date.HijriCalendar.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/Date.HijriCalendar.debug.js",
CdnSupportsSecureConnection = true
}
);
ScriptManager.ScriptResourceMapping.AddDefinition(
"Date.UmAlQuraCalendar.js",
ext,
new ScriptResourceDefinition
{
ResourceName = "Date.UmAlQuraCalendar.js",
ResourceAssembly = ext,
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/Date.UmAlQuraCalendar.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/4.0/2/Date.UmAlQuraCalendar.debug.js",
CdnSupportsSecureConnection = true
}
);
}
这篇关于ScriptManager EnableCdn - 不适用于 SSL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!