Иметь веб-службу SOAP, которая инкапсулирует вызовы стороннего API ... так что наше приложение может просто вызвать мой сервис, а затем мой сервис обрабатывает все различные вызовы API.Работает просто отлично.
Однако мы столкнулись с проблемой, когда API-интерфейс, к которому мы подключаемся, позволяет в любой момент времени использовать максимум 10 соединений для данного набора учетных данных.
Соединенияна обработку уходит максимум пара секунд, но когда мы начнем жить, теоретически у нас могут быть пользователи, которые максимально этого добиваются.Итак, мы создали несколько учетных записей (5) для API, что дает нам 50 подключений к 5 пользователям.
Как ASP.NET обрабатывает подключения к веб-службе?Я знаю, что он работает асинхронно, но порождает ли он несколько экземпляров моего класса или повторно использует один и тот же класс.Будут ли переменные сохраняться между экземплярами (т.е. будут ли работать статические переменные)?
Что мне нужно сделать, так это то, что на клиенте 1 происходит сбой вызова API, происходит переход на клиент 2 (или клиенты [0], клиенты [1]) и т. Д. К сожалению, у меня нет возможности обнаружить, еслиу данного Клиента нет связи в любой данный момент.Я мог бы опросить его с помощью тестового вызова, но это потребовало бы времени и не было бы никакой гарантии, что клиент имеет доступное соединение, когда я выполняю вызов.
API, который я вызываю, через прокси-класс XMLRPC (CookComputing).Выполняется ли «соединение» при создании Клиента или при совершении вызова, передавая учетные данные?
public static IVoicestar GetClient(string userID, string password)
{
IVoicestar client = XmlRpcProxyGen.Create<IVoicestar>();
client.Credentials = new NetworkCredential(userID, password);
return client;
}
Из этого следует, что учетные данные просто «едут», пока я не позвоню через Клиент.MethodCall (), а затем соединение установлено.