2010-01-19 3 views
0

У меня есть приложение VB.net ClassLibray.обрабатывать сеансы сайта в .net

У меня есть строка кода:

System.Diagnostics.Process.Start ("https://stackoverflow.com/")

Это возьмет меня на StackOverflow сайт.

вопрос, когда я закрываю веб-сайт stackoverflow, как получить ответ обратно в мое приложение?

т.е.

Как обрабатывать сеансы внешних веб-страниц в .net?

ответ

0

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

Например, он может запускать любой установленный браузер, такой как Firefox, IE, Safari или Opera.

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

Также неясно, что вы подразумеваете под «сессией». Что именно вы надеетесь сделать здесь?

0

Функция Process.Start возвращает объект Process, обладающий свойством HasExited. Вы можете просто проверить это.

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

+0

Пожалуйста, обратитесь к моему ответу по ряду причин, почему это не является надежным способом сделать это. – Eilon

+0

Нет, это не сработает для сайтов. Вызов Process.Start с URL-адресом возвращает null - вы не можете делать с ним ничего! –

+0

Ах, я не понимал, что tehMick, я думаю, этот метод будет работать, только если вы явно вызвали exe браузера с URL-адресом, который сосать, потому что вы не будете подчиняться своему браузеру по умолчанию. И да, Eilon, это может быть ненадежным в зависимости от того, как браузер обрабатывает его процессы, но не в поиске System.Diagnostics.Process.GetProcessesByName для всего, что похоже на браузер (у которого есть свои проблемы), он так же хорош, как и вы. – fyjham