Как запустить приложение winform на странице asp.net? - PullRequest
1 голос
/ 12 ноября 2009

Как бы вы запустили приложение winform со страницы asp.net?

Ответы [ 5 ]

4 голосов
/ 12 ноября 2009

Если у вас есть возможность установить приложение WinForm заранее, посмотрите Регистрация протокола приложения . Это хорошо описано Mozilla здесь .

Это позволит вам добавить URL-адрес в ваше приложение ASP.NET в соответствии с:

thing:SomethingThatThingUnderstands

Вот пример (со страницы, на которую я ссылался) URL-ссылки, которая откроет OneNote:

<html>
<head>
<title>Test of onenote: application protocol</title>
</head>
<body>
<p>Open the
   <a href="onenote://C:\Program Files\Microsoft Office\Templates\1033\ONENOTE\12\Stationery\BLANK.ONE"> Notebook.</a></p>
</body>
</html>
1 голос
/ 12 ноября 2009

Как уже было сказано, я не думаю, что вы можете сделать это. Что вы можете сделать, это разместить ссылку на ваше приложение (или его установочный пакет) на вашем веб-сайте и позволить пользователю загрузить и запустить его. Есть очевидные проблемы с этим, например, для любого приложения .net вам понадобится среда .net соответствующей версии, которая будет установлена ​​на компьютере пользователя.

В качестве альтернативы тому, что вы пытаетесь сделать, пожалуйста, взгляните на ClickOnce Deployment документацию на msdn; это может быть решением для того, что вы пытаетесь сделать

0 голосов
/ 12 ноября 2009

По соображениям безопасности Интернет, Silverlight и flash не позволяют напрямую взаимодействовать с файловыми системами пользователей, поскольку это облегчает написание вирусов.

Конечно, вы можете делать все, что захотите, с помощью элемента управления ActiveX, если ваши пользователи примут этот элемент управления.

Этот сайт предоставляет учебник по запуску приложения для клиента :

<SCRIPT Language="JScript">
function runcmd() {
File="cmd.exe";
WSH=new ActiveXObject("WScript.Shell");
WSH.run(File);
}
</SCRIPT> 

<A href="#" onClick="runcmd(); return false;">Run CMD.exe</A>

Имейте в виду, что это будет работать только в IE и только после того, как пользователь предоставит ему доступ.

Почему вам нужно взаимодействовать с настольным приложением? Возможно, есть лучший способ создать это взаимодействие.

0 голосов
/ 12 ноября 2009

Преобразуйте приложение winform, которое вы хотите встроить, в более удобное для использования в сети Silverlight .

0 голосов
/ 12 ноября 2009

Если вы действительно имеете в виду Winform, как ваш тег, а не Webform, ответ таков: вы не можете сделать это, используя только ASP, поскольку это было бы серьезной проблемой безопасности. Скорее всего, вам понадобится элемент управления ActiveX или аналогичный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...