Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Перехват Web-запроса


Автор: _SET_ 2.8.2007, 11:59
Ребят, огромная просьба подскажите:

Задача в том, чтобы реализовать приложение, которое получает Web-запрос от некоего пользователя и анализируя этот запрос вызывает определённые методы...

Вопрос в следующем : каким способом получать запрос от пользователя? Насколько понимаю, необходимо использовать WebResponse и WebRequest. Если кто может помочь - буду очень благодарен smile 

Автор: Mymik 2.8.2007, 14:51
а что значит получается web запрос ??? т.е. человек пришел к тебе на сайт и обращается к странице, это и есть Web запрос ??? ну тогда надо использовать Request и Response...
Можешь еще покопать к сторону httpHandler и httpModule

Автор: _SET_ 2.8.2007, 15:32
Проблема в том что дефолтовой страницы не будет, просто будет запрос, допустим www.zapros.ru, а сервис в ответ на это должен сгенерировать html страницу. С задачами анализа и генерации html кода думаю справлюсь... А вот каким образом слушать запросы по определённому адресу - понятия не имею... Пробовал HttpListener, но его юзать нельзя так это API(точнее он сам вызывает некую апишку). Нужно только средствами .Net.

Автор: kizune 2.8.2007, 16:51
попробуй так
Код

HttpWebRequest  Request1 = (HttpWebRequest)WebRequest.Create(http://www.zapros.ru);
         
HttpWebResponse Response1 = (HttpWebResponse)Request1.GetResponse();

Автор: Mymik 2.8.2007, 20:00
_SET_, так если у тебя нет страниц, так используй httpModule или httpHandler. В web.config напиши перехват всех запросов. и все... больше тебе ничего не нужно.

Автор: _SET_ 2.8.2007, 23:36
Цитата(Mymik @ 2.8.2007,  20:00)
_SET_, так если у тебя нет страниц, так используй httpModule или httpHandler. В web.config напиши перехват всех запросов. и все... больше тебе ничего не нужно.

Хм... Извиняюсь, я изначально описал проблему не совсем правильно (точнее мне изначально описали её неверно). Вот последний вариант:

Есть сервер, на нём установлена Линуха и Mono версии 1.2.4. Как мне заявили в данной версии Mono Asp.Net работает криво. Т.е. Asp.Net юзать нельзя совсем...(А это, как я понимаю, запрещает использование web.config). Необходимо реализовать консольное приложение - сервер, которое в ответ на запрос пользователя будет генерить первоначальную html-страницу (допустим страницу авторизации пользователя), и потом получать запрос с этой страницы и так далее... Ну и самая главная проблема в том, что я понятия не имею даже с чего начать... Некоторые умы подкинули идею - использовать tcp-сокеты... В общем, если можете - подскажите с чего начать, или литературу...

З.Ы. Заранее спасибо smile

Автор: Drago 2.8.2007, 23:59
Цитата(Mymik @  2.8.2007,  20:00 Найти цитируемый пост)
SET_, так если у тебя нет страниц, так используй httpModule или httpHandler. В web.config напиши перехват всех запросов. и все... больше тебе ничего не нужно.



Mymik, никак не воткну ты говоришь о веб-сервисе? А здесь как я понял речь идет о приложении, например о консольном... Хотя я даже не представляю как это делать... Сокеты в помощь ))

Автор: Mymik 3.8.2007, 09:08
Drago, 
Цитата(Drago @  2.8.2007,  23:59 Найти цитируемый пост)
Mymik, никак не воткну ты говоришь о веб-сервисе? 

    я говорил об обычной asp.net страничке... сайте... а не о web-сервисах... Хотя пофиг что содержит виртуальный каталог,- будь то сайт или web-service -- главное, что есть web.config. Но в данном случаи как сказал топикстартер asp.net нельзя использовать... 
    А следовательно мы уходим от обычного IIS... и лучше всего написать просто Windows-Service под mono. который будет слушать порт и общаться с клиентами.
Если никаких идей не появиться, то вечером я переношу тему в http://forum.vingrad.ru/forum/dotnet-distributed-network-net-app-csharp.html

Автор: Drago 3.8.2007, 09:26
Цитата(Mymik @  3.8.2007,  09:08 Найти цитируемый пост)
А следовательно мы уходим от обычного IIS... и лучше всего написать просто Windows-Service под mono. который будет слушать порт и общаться с клиентами.

Хм... А не лучше будет сделать консольное приложение и в консоль выводить все действия, ну или хотя бы информацию о подключении, отключении пользователя, ну и само собой экзепшн, если таковой произойдет.
Не знаю может ли Windows-Service как то выводить информацию... Конечно же можно делать лог, но не лучше было бы и в консоль выводить инфу и в лог. Мне кажется самое то.

Автор: Mymik 3.8.2007, 10:12
Drago, Windows-service вешается на порт и слушает его. Принимает команды и отдает результаты... это все то же консольное приложение ;о)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)