>故障排除C#WebBrowser控制挂断,ajax
与完整的Internet Explorer实例不同,C#控制在Ajax呼叫中经常会冻结。本文探讨了一个针对脚本兼容性的解决方案。WebBrowser
解决脚本兼容性问题
问题的根通常在于WebBrowser
>
FEATURE_BROWSER_EMULATION
>实现特征控制(注册表修改)private void SetBrowserFeatureControlKey(string feature, string appName, uint value) { using (var key = Registry.CurrentUser.CreateSubKey( $@"Software\Microsoft\Internet Explorer\Main\FeatureControl\{feature}", RegistryKeyPermissionCheck.ReadWriteSubTree)) { key.SetValue(appName, (uint)value, RegistryValueKind.DWord); } }
>基于测试,建议使用这些功能控制设置,以增强
应用程序步骤WebBrowser
<code>FEATURE_BROWSER_EMULATION = 11000 FEATURE_AJAX_CONNECTIONEVENTS = 1 FEATURE_ENABLE_CLIPCHILDREN_OPTIMIZATION = 1 FEATURE_MANAGE_SCRIPT_CIRCULAR_REFS = 1 FEATURE_DOMSTORAGE = 1 FEATURE_GPU_RENDERING = 1 FEATURE_IVIEWOBJECTDRAW_DMLT9_WITH_GDI = 0 FEATURE_DISABLE_LEGACY_COMPRESSION = 1 FEATURE_LOCALMACHINE_LOCKDOWN = 0 FEATURE_BLOCK_LMZ_OBJECT = 0 FEATURE_BLOCK_LMZ_SCRIPT = 0 FEATURE_DISABLE_NAVIGATION_SOUNDS = 1 FEATURE_SCRIPTURL_MITIGATION = 1 FEATURE_SPELLCHECKING = 0 FEATURE_STATUS_BAR_THROTTLING = 1 FEATURE_TABBED_BROWSING = 1 FEATURE_VALIDATE_NAVIGATE_URL = 1 FEATURE_WEBOC_DOCUMENT_ZOOM = 1 FEATURE_WEBOC_POPUPMANAGEMENT = 0 FEATURE_WEBOC_MOVESIZECHILD = 1 FEATURE_ADDON_MANAGEMENT = 0 FEATURE_WEBSOCKET = 1 FEATURE_WINDOW_RESTRICTIONS = 0 FEATURE_XMLHTTP = 1</code>
>之前调用此方法> 的控件是初始化的,通常在表单的构造函数内。 这样可以确保在提出任何AJAX请求之前应用设置。
>通过正确配置功能控件,您可以显着提高
以上是为什么我的C#WebBrowser控件在Ajax呼叫期间悬挂,我该如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!