C# .Net WebBrowser中的HTML与WinForms应用程序之间的双向通信不';无法在Windows服务器上工作

C# .Net WebBrowser中的HTML与WinForms应用程序之间的双向通信不';无法在Windows服务器上工作,c#,winforms,interop,browser,C#,Winforms,Interop,Browser,我有一个C#WinForms应用程序,它使用WebBrowser来显示一些UI元素(嵌入了网页)。当用户点击网页上的按钮时,我需要执行一些C代码。我遵循了文章中描述的步骤,在Windows7上一切正常。然而,当我在WindowsServer2008上运行该应用程序时,它对按钮点击没有反应。同样的情况也发生在WindowsServer2003上。我认为存在一些安全问题,但无法确定它们是什么 以下是button的HTML: <input type="button" value="Run Foo

我有一个C#WinForms应用程序,它使用
WebBrowser
来显示一些UI元素(嵌入了网页)。当用户点击网页上的按钮时,我需要执行一些C代码。我遵循了文章中描述的步骤,在Windows7上一切正常。然而,当我在WindowsServer2008上运行该应用程序时,它对按钮点击没有反应。同样的情况也发生在WindowsServer2003上。我认为存在一些安全问题,但无法确定它们是什么

以下是button的HTML:

<input type="button" value="Run Foo" class="wizard_button" 
    onclick="window.external.Foo()" />

我设法找出了这种行为的原因。这一切都是关于“Internet Explorer增强的安全配置”,需要关闭它。为此,您需要打开“服务器管理器”,找到“安全信息”部分,单击“配置IE ESC”链接并关闭此功能。这是一篇有截图的文章

[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[ComVisible(true)]    
public partial class UI : Form
{
    public UI()
    {
        //doing something
        //...
        webBrowser.ObjectForScripting = this;
        webBrowser.ScriptErrorsSuppressed = true;
    }

    public void Foo()
    {
        //Do what needs to be done when the button is clicked
    }
}