Как оформить заявку на клиенте с сайта? - PullRequest
1 голос
/ 19 октября 2011

У меня есть приложение в ASP.NET / C #, расположенное на сервере, моя проблема в том, как запустить другое приложение (.exe), но на клиенте, который посещает веб-сайт (приложение на сервере)

вопрос

(client)------------(server)
run browser         website 
   and              (asp.net/c#)
**execute           instruction     
app.exe**           for execute app.exe 

Я разработал ext.net, софт, использующий asp.net + c #, который является обновленной версией старого софта, сделанного в powerbuilder (v2 - это новый софт, v1энергетик один).V2 имеет не все функциональные возможности, включенные в V1, поэтому после выполнения V2 я должен выполнить V1.поэтому, если пользователь использует V2 в браузере, я смогу открыть V1 (V2 находится на сервере, V1 установлен на клиенте. Так как клиент открывает браузер для подключения к V2).

* переведено сGoogle

Развертывание программного обеспечения на ext.net (asp + c #) Версия программного обеспечения Отредактированное программное обеспечение в PowerBuilder (в частности, v1 и v1).Программное обеспечение V2, программное обеспечение V2, не является обязательным, программное обеспечение V2, окончательное и окончательное V2.Vale decir, Estando En El Browser usando V2 debiera poder abrir V1 (.exe)

Ответы [ 6 ]

2 голосов
/ 19 октября 2011

Какова цель приложения, щелкнуть один раз может быть решением.

http://msdn.microsoft.com/en-us/library/t71a733d(v=vs.80).aspx

Тот факт, что вы не можете выполнять код непосредственно из браузера, не является печальной вещью,замечательная функция безопасности.

2 голосов
/ 19 октября 2011

К сожалению, это невозможно из-за соображений безопасности. Если бы это было возможно, хакеры могли бы создать хаос на клиентских машинах. Однако вы можете, возможно, использовать более старую версию IE, используя ActiveX. Это может потребовать снижения настройки безопасности до минимума. Вот ссылка в любом случае:

http://www.governmentsecurity.org/forum/index.php?showtopic=23488

1 голос
/ 19 октября 2011

Нам нужно больше подробностей о том, что должен делать ваш exe-файл, поскольку это повлияет на технологию, которую вы используете, но правильный способ сделать то, что вы хотите сделать, это либо:

  1. Использовать ActiveX. Попросите пользователя установить элемент управления ActiveX один раз, и вы сможете запускать его с этого момента. ActiveX в основном запускает DLL на клиентском компьютере для вас. Существуют некоторые ограничения в песочнице, и он не пользуется популярностью, поскольку это только IE, а все больший и больший процент Интернета не использует IE.
  2. Используйте Silverlight. Это будет проще для программирования и будет больше похоже на то, с чем вы знакомы. Тем не менее (я думаю) у него больше ограничений по сравнению с песочницей, чем у ActiveX, но он поддерживает разные браузеры и кроссплатформенность.

Microsoft All-In-One Code Framework содержит примеры как ActiveX, так и Silverlight. Я рекомендую попробовать All-In-One Sample Browser , это немного ерш по краям, но это работает. Также имеется расширение VS2010 , но оно не работает с экспресс-версией VS2010 или VS2008.

Простой пример настройки ActiveX для веб-страницы приведен в примере HTMLEmbedActiveX . Я не знаю конкретного примера с использованием Silverlight, на который можно было бы указать.

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

1 голос
/ 19 октября 2011

единственное, что вы можете сделать в этом направлении, это дать ссылку на приложение, чтобы пользователь мог решить щелкнуть по нему, загрузить файл и выполнить его локально.

Видимо Sys Internals делает это,проверьте здесь: Windows SysInternals

но на самом деле их действующий сервис просто дает вам ссылку на эту страницу: http://live.sysinternals.com/, откуда вы можете затем загрузить и выполнить локально.

0 голосов
/ 28 октября 2011

Если вы определили свое приложение V1 как обработчик URL, вы можете вызвать его из любого недавнего веб-браузера. Нет необходимости в ActiveX!

Это прекрасно работает. Я использую его для ссылок между приложениями из веб-приложений в работающее приложение PB win32. У меня есть отдельное приложение PB win32, выступающее в роли обработчика URL. Обработчик URL ищет запущенное приложение. Если он находит работающее приложение, он отправляет событие этому главному приложению. Если он не запускает основное приложение, отправляющее команду с веб-сайта в качестве аргумента командной строки. Работает отлично!

0 голосов
/ 19 октября 2011

@ Скотт Чемберлен: Вот как я смог интерпретировать исходный вопрос:

У меня есть приложение в ASP.NET / C #, работающее на сервере.Я хочу запустить другое приложение (.EXE), но на клиенте, который посещает рассматриваемый сервер

question

(client)------------(server)
run browser         website 
   and              (asp.net/c#)
**execute           instruction     
app.exe**           for execute app.exe 

Приложение разработанов EXT.NET (ASP + C #), который является обновленной версией другого старого приложения, встроенного в PowerBuilder.(Давайте назовем их V2 и v1 соответственно).

В настоящее время V2 обладает всеми функциями V1, поэтому в конце процедуры должны быть открыты V1 и V2.То есть в браузере, использующем как V1, так и V2, должна быть возможность открыть .EXE на клиенте.

Я не мог полностью понять последний абзац

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