#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
перед возвратом, чтобы передать значение обратно вызывающему процессу.