Как смоделировать файл Host на время одного запроса - PullRequest
2 голосов
/ 08 августа 2009

Мне нужно одновременно получить доступ к нескольким экземплярам веб-служб со следующим URL. Веб-службы размещены в IIS и имеют включенный SSL.

https://services.mysite.com/data/data.asmx

Обычно, когда мы делаем этот процесс вручную, мы идем один за другим и обновляем файл хоста Windows (c: \ Windows \ System32 \ drivers \ etc \ hosts) следующим образом:

192.1.1.100 services.mysite.com

Я бы хотел автоматизировать процесс и сделать это с помощью многопоточности. Поэтому я не могу изменить файл Host. Есть ли способ имитировать хост-файл, когда мы делаем HTTP-запрос в C #?

Спасибо!

Ответы [ 3 ]

0 голосов
/ 08 августа 2009

Вы можете изменить URL, по которому ваш запрос попадает во время выполнения, примерно так:

svc.Url = "http://firstServer.com";

Так что, если вы создаете программу, которая проходит через каждый из ваших желаемых серверов, просто обновите свойство URL напрямую (этот пример взят из веб-служб на основе WSE 3).

0 голосов
/ 08 августа 2009

Если вам известен IP-адрес конечной точки SSL сервера (который не обязательно совпадает с IP-адресом сервера по умолчанию), то вы могли бы просто нацелить свой веб-сервис на это? Очевидно, проверка SSL не удастся, но вы можете отключить это с помощью кода ...

ServicePointManager.ServerCertificateValidationCallback += delegate
{
    return true; // you might want to check some of the certificate detials...
};
0 голосов
/ 08 августа 2009

Я думаю, что вы получите тот же эффект, настроив прокси-сервер этого конкретного запроса на IP-адрес фактического веб-сервера, которому вы хотите отправить запрос.

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