[.NET] VPS + N-ое кол-во IP
Зависит от того, что за запросы, и чем они делаются.
HTTP запросы, делаются из .NET
круто, но теперь такой вопрос. ServicePoint общий для всех HttpWebRequest. То есть сделать одновременно два запроса с разных айпи не получается. Это как то решается?
Это как то решается?да, это решается.
?
!
ну а по делу: ты уже пробовал искать в инете (так ты можешь найти одно из известных мне решений)? или пробовал подумать (тогда найдется второе решение)?
пробовал искать - не нашел, пробовал думать - пока в голове только написать прокси сервер.
ServicePoint objects are managed by the ServicePointManager class and are created, if necessary, by the ServicePointManager.FindServicePoint method. ServicePoint objects are never created directly but are always created and managed by the ServicePointManager class.Вот эту фразу в документации видел? Что следует из этой фразы?
блин, что за квест?
нужно как то подменить ServicePoint? как?
нужно как то подменить ServicePoint? как?
нужно как то подменить ServicePoint? как?тот кусок документации, который я привел точно говорит, что только через ServicePointManager. Смотрим ServicePointManager. Вот это читал?
When an application requests a connection to an Internet resource Uniform Resource Identifier (URI) through the ServicePointManager object, the ServicePointManager returns a ServicePoint object that contains connection information for the host and scheme identified by the URI. If there is an existing ServicePoint object for that host and scheme, the ServicePointManager object returns the existing ServicePoint object; otherwise, the ServicePointManager object creates a new ServicePoint object.Т.е. как только ServicePointManager создал ServicePoint, все — будет отдавать этот ServicePoint.
Что из этого следует?
нужно удалить его после использования?
покопался еще раз в инете - предлагают сделать стек айпишников и брать оттуда по мере надобности, но мне это не подходит, мне нужно сделать конкретный запрос через конкретный айпи.
если у тебя есть решение - будь добр, напиши
если у тебя есть решение - будь добр, напиши
Ну блин, это же очевидно. Если ты не можешь влиять на ServicePointManager, ты можешь сделать много ServicePointManager-ов. Поскольку это static class, то в одном AppDomain может существовать только один ServicePointManager. Значит, тебе надо делать запрос в другом AppDomain (пофиг, тот же процесс или другой).
Еще раз кратенько: или создаешь для каждого запроса процесс, или AppDomain.
Если не нравится этот способ, у меня есть еще целых два. Один с P/Invoke WinInet (сам пользовался для advanced http штук, которые не поддерживаются стандартной оберткой). Другой — хакерский способ с reflection, чтобы поменять private members в ServicePointManager.
Т.е. целых три способа решения в одном посте!
Еще раз кратенько: или создаешь для каждого запроса процесс, или AppDomain.
Если не нравится этот способ, у меня есть еще целых два. Один с P/Invoke WinInet (сам пользовался для advanced http штук, которые не поддерживаются стандартной оберткой). Другой — хакерский способ с reflection, чтобы поменять private members в ServicePointManager.
Т.е. целых три способа решения в одном посте!
ух ты, нифига себе, про AppDomain не знал, спасибо!
ну про два других тоже не знал...
ну про два других тоже не знал...
Оставить комментарий
Vodnik
Есть VPS под Windows. Есть N-ое кол-во IP привязанных к VPS.Как можно делать запросы с сервера с разных IP по выбору?