У меня есть приложение C # WinForms, которое использует WebBrowser
для отображения некоторых элементов пользовательского интерфейса (веб-страница встроена). Мне нужно выполнить код C #, когда пользователь нажимает кнопку на веб-странице. Я выполнил действия, описанные в этой статье, и все работало нормально в Windows 7. Однако, когда я запустил приложение в Windows Server 2008, оно не реагировало на нажатие кнопок. Та же самая история произошла на Windows Server 2003. Я считаю, что есть некоторые проблемы с безопасностью, но не могу понять, что это такое.
Вот HTML-код кнопки:
<input type="button" value="Run Foo" class="wizard_button"
onclick="window.external.Foo()" />
А вот код C #:
[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
}
}