Penyelesaian Masalah AJAX dalam Kawalan Webbrowser C#
Kawalan C# Kadang -kadang berjuang dengan panggilan Ajax, yang membawa kepada kekecewaan "Permintaan anda sedang diproses" hang. Tingkah laku ini berbeza dengan ketara dari penyemak imbas IE penuh, yang biasanya mengendalikan panggilan ini tanpa masalah. WebBrowser
dengan lebih baik daripada contoh IE standard. Secara kritis, menetapkan ciri WebBrowser
memastikan keserasian skrip yang lebih baik. "FEATURE_BROWSER_EMULATION"
<code class="language-csharp">private void SetBrowserFeatureControlKey(string feature, string appName, uint value) { using (var key = Registry.CurrentUser.CreateSubKey( String.Concat(@"Software\Microsoft\Internet Explorer\Main\FeatureControl\", feature), RegistryKeyPermissionCheck.ReadWriteSubTree)) { key.SetValue(appName, (UInt32)value, RegistryValueKind.DWord); } }</code>
: SetBrowserFeatureControl()
<code class="language-csharp">private void SetBrowserFeatureControl() { // Avoid modifying settings in the Visual Studio debugger var fileName = System.IO.Path.GetFileName(Process.GetCurrentProcess().MainModule.FileName); if (String.Compare(fileName, "devenv.exe", true) == 0 || String.Compare(fileName, "XDesProc.exe", true) == 0) return; // Register necessary features (see detailed explanation below for a comprehensive list) // ... }</code>
memulakan, hubungi WebBrowser
dalam pembina bentuk utama anda: SetBrowserFeatureControl()
<code class="language-csharp">public MainWindow() { SetBrowserFeatureControl(); InitializeComponent(); //... }</code>
tetapan kunci kawalan penyemak imbas Ini akan memberikan penyelesaian yang lebih mantap kepada isu gantung yang berkaitan dengan Ajax dalam Kawalan.
Atas ialah kandungan terperinci Kenapa kawalan C# Webbrowser saya tergantung pada panggilan Ajax, dan bagaimana saya boleh memperbaikinya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!