Есть ли способ использовать WCF для перенаправления всех HTTP-запросов на определенный порт - PullRequest
0 голосов
/ 18 марта 2010

Мне нужно перенаправить все запросы через порт 80 сервера приложений на веб-сервер. Я пытаюсь избежать необходимости устанавливать IIS и вместо этого использовать WCF для выполнения этой работы.

Похоже, что такая операция, как приведенная ниже, подходит, но у меня есть одна проблема: если используется URL-адрес вида http://mydomain.com/, то WCF представит страницу с метаданными.

    [OperationContract, WebGet(UriTemplate = "*")]
    RedirectToWebServer();

Кто-нибудь знает способ заставить WCF вести себя так же, как IIS в режиме перенаправления?

1 Ответ

1 голос
/ 18 марта 2010

Похоже, это не тот инструмент для работы. Если вы действительно не хотите использовать один из многих веб-серверов, которые могли бы сделать это за пару минут времени установки (IIS, Apache, Lighttpd), вы можете просто сделать простой сервер сокетов HTTP.

Прослушивание порта 80. Как только вы получите две строки подряд, отправьте ответ:

HTTP/1.1 301 Moved Permanently
Location: http://myothersite.com/whatever

(Я почти уверен, что это минимум, который вам нужен). Если вы хотите быть по-настоящему модным и следовать спецификациям HTTP, сопоставьте HTTP / 1.1 или HTTP / 1.0 в зависимости от того, что есть в запросе ... но для быстрого и грязного перенаправления это все, что вам нужно.

Тем не менее, я бы сказал: иди, возьми другой веб-сервер и настройте перенаправление, используя его. Есть много легких HTTP-серверов, которые будут работать.

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