Как создать локальный сервер, который может использовать элемент управления веб-браузера - PullRequest
1 голос
/ 22 декабря 2009

Для моего новейшего windows-приложения я хочу создать веб-интерфейс с использованием элемента управления веб-браузера и заставить Ajax работать с ним. Поскольку весь контент будет загружаться самим элементом управления веб-браузера, я хочу создать веб-сервер, который будет работать на локальном порте и передавать мой контент веб-браузеру при обращении к специальному URL, например:

http://localhost:3454

Как мне создать веб-сервер, на который окна будут перенаправлять запросы? Мне просто нужно знать о правильных командах API / WinInet, чтобы начать получать запросы.

Ответы [ 2 ]

4 голосов
/ 22 декабря 2009

К счастью для вас .NET поставляется с довольно приличным веб-сервером, встроенным в фреймворк.

Посмотрите на класс HttpListener .

Поддерживает как синхронный, так и асинхронный режимы:

синхронная модель подходит если ваше приложение должно блокировать время ожидание запроса клиента и, если Вы хотите обработать только один запрос вовремя. Использование синхронного модель, вызовите метод GetContext, который ждет клиента, чтобы отправить запрос. Метод возвращает HttpListenerContext объект для вас обработка, когда это происходит.

В более сложных асинхронных модель, ваше приложение не блокирует в ожидании запросов и каждый запрос обрабатывается самостоятельно выполнение потока. Использовать Метод BeginGetContext для указания определенный приложением метод вызывается для каждого входящего запроса. В этом методе вызовите Метод EndGetContext для получения запросить, обработать его и ответить.

Этот парень великолепен, потому что он использует собственный веб-сервер, встроенный в современные версии Windows (XP SP2 + и Server 2003 +).

1 голос
/ 22 декабря 2009

Все, что вам нужно сделать, это открыть TCP сокет , привязать к порту 3454 и прослушивать для соединений. Затем вам нужно обслуживать каждое входящее соединение, читая поток, анализируя заголовки HTTP и контент (если применимо).

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