>故障排除C#WebBrowser控制掛斷,ajax
與完整的Internet Explorer實例不同,C#控制在Ajax呼叫中經常會凍結。本文探討了一個針對腳本兼容性的解決方案。 WebBrowser
解決腳本兼容性問題
問題的根通常在於WebBrowser
>
FEATURE_BROWSER_EMULATION
>實現特徵控制(註冊表修改)<code class="language-csharp">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); } }</code>
>基於測試,建議使用這些功能控制設置,以增強
應用程序步驟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中文網其他相關文章!