Как отправить параметр в приложение winform из asp.net страница и получить строку в ответ

#asp.net #.net #winforms #visual-studio-2010

#asp.net #.net #winforms #visual-studio-2010

Вопрос:

Привет, я хочу использовать приложение Windows form таким образом, как api из asp.net страница? И примеры… пожалуйста, поделитесь.

или

я хочу вызвать приложение Windows form и передать ему значения 4 строковых значений, а после завершения работы с помощью приложения form вернуть строку, которая будет содержать html обратно на веб-страницу для отображения?

И идеи, пожалуйста, помогите.

Главное, что я хочу знать: я знаю, как вызвать процесс с помощью ..net ,

    1- How will i send parameters?
   2- How will i catch parameters at my windows form application.
   3- How will i send parameters back to the page on windows form application .exit.
  

Спасибо

Ответ №1:

Я бы рекомендовал этого не делать. Было бы лучше перепроектировать ваше приложение Windows Forms так, чтобы ваша логика была в отдельной сборке (DLL).

Затем вы можете ссылаться на эту сборку из своего ASP.Net проект, и непосредственно использовать логику. Это было бы намного чище, чем пытаться подключиться к настольному приложению.

Комментарии:

1. Мне нужен элемент управления веб-браузером для загрузки чего-либо и ожидания завершения работы, а когда появятся результаты, верните их на веб-сайт, например, bookin hotels или finding price script etc….so для этого мне нужно иметь приложение Windows form? или нет: я уверен, что я не настолько разбираюсь в логике

2. @EhsanKayani Вместо использования веб-браузера вы можете использовать WebRequest или WebClient и т. Д. Смотрите: msdn.microsoft.com/en-us/library/system.net.webrequest.aspx и msdn.microsoft.com/en-us/library/system.net.webclient.aspx

3. @EhsanKayani Кроме того, лучше всего, если вы сможете найти API для рассматриваемого сайта, вместо того, чтобы пытаться работать с их общедоступным сайтом…

4. Да, я знаю об этом, но при некоторых обстоятельствах я не могу использовать ни одно из них, так как некоторые поля должны быть заполнены, и я не вижу вызовов для их интерпретации в моем запросе, поэтому webbrowser является обязательным ….

5. @EhsanKayani Веб-браузер потребует запуска на рабочем столе — вы обнаружите, что он просто не будет работать, по крайней мере, ненадежным способом. Лучше потратить время, чтобы найти правильный API…

Ответ №2:

Это не лучшая практика, но если вы должны:

Вызовите свое приложение win, передав строковые параметры, разделенные пробелами:

 D:...MyApp.exe param1 param2 param3 param4
  

Исполняемый файл может обрабатывать параметры в основной функции:

 static void Main(string[] args)
{
  string p1 = args[0];
  string p2 = args[1];
  string p3 = args[2];
  string p4 = args[3];

     ...
}
  

Используйте System.Environment.ExitCode перед возвратом, чтобы передать значение обратно вызывающему процессу.