在C#的WebBrowser Control
中,对AJAX问题进行故障排除 > C#
有时会在Ajax呼叫中挣扎,导致令人沮丧的“您的请求正在处理”。这种行为与完整的IE浏览器显着不同,该浏览器通常会无问题处理这些调用。>解决方案通常在于配置特征控件,以更好地使
这是一个修改注册表设置的函数:WebBrowser
>
"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>
>有关推荐的功能控制设置的完整列表以解决各种兼容性问题,请参阅此资源:WebBrowser
浏览器功能控制密钥设置SetBrowserFeatureControl()
>这将为>提供更强大的解决方案🎜>控制。
以上是为什么我的C#WebBrowser控件挂在Ajax调用上,我该如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!