Jak*_*all 11 c# asp.net ssl cdn scriptmanager
我们在网络服务器场上提供了一个站点.该农场是处理加密的SSL Accellerator的幕后推手.这意味着我们的IIS服务器将所有传入连接视为http,即使用户都通过https连接到该站点.
我们开始使用ScriptManager的EnableCDN = true属性.在没有SSL Accellerator的开发环境中,CDN上的js文件的引用是使用https呈现的,在生产环境中,它们通过http不安全地呈现,导致js被阻止,"仅显示安全内容"错误.
如果没有手动更新scriptmanager中的所有脚本引用或通过模块重新编写HTML,有没有人知道强制脚本管理器通过https呈现其引用的方法?
编辑:
在做了一些反射器审查后,我不相信这是可能的.我已经将下面的hack放到了适当位置,但是这显然是脆弱的,因为它涉及访问私有字段.如果有人能看到更好的方式我会喜欢听到它.
var secureConnectionField = ScriptManager.GetType().GetField("_isSecureConnection", BindingFlags.Instance | BindingFlags.NonPublic);
if (secureConnectionField != null)
secureConnectionField.SetValue(ScriptManager, true);
Run Code Online (Sandbox Code Playgroud)