ASP.NET上的SOAP Web服务-多个连接-静态值-XMLRPC API

|| 有一个SOAP Web服务,其中封装了对第三方API的调用...,因此我们的应用程序可以简单地调用我的服务,然后我的服务处理对API的所有各种调用。效果很好。 但是,我们遇到了一个问题,即我们要连接的API在任何给定时间针对给定的一组凭据最多允许10个连接。 连接最多需要花费几秒钟的时间来处理,但是当我们上线时,从理论上讲,我们可以让用户最大限度地利用它。因此,我们已经为API创建了多个帐户(5),从而为5个用户提供了50个连接。 ASP.NET如何处理与Web服务的连接?我知道它异步工作,但是它会产生我的类的多个实例还是重用同一类。变量会在实例之间持久吗(即静态变量会起作用)? 我需要做的是,如果Client1上的API调用失败,过渡到Client2(或Clients [0],Clients [1])等...可悲的是,我无法检测给定的Client是否断开连接在任何给定的时刻。我可以通过测试呼叫来轮询它,但这会花费时间,并且不能保证在我拨打电话时客户端具有可用的连接。 我正在调用的API是通过XMLRPC代理类(CookComputing)实现的。是在创建客户端时还是在进行调用时通过凭据传递了“连接”?
public static IVoicestar GetClient(string userID, string password)
{
    IVoicestar client = XmlRpcProxyGen.Create<IVoicestar>();
    client.Credentials = new NetworkCredential(userID, password);
    return client;
}
由此看来,直到我通过Client.MethodCall()进行调用,然后建立连接,凭据才开始“沿途骑行”。     
已邀请:
        如果您使用的是ASP.NET Web服务(asmx),则它将为每个请求生成Web服务类的新实例。如果使用基于WCF的Web服务,则可以使用attribute / configuartion(请参阅本文)来控制实例化/并发(请参见本文)-您可以使用三种实例化模式-每个调用,每个会话和单例。 无论使用什么,都可以始终实现自己的缓冲机制以缓冲API连接。您已经有一个工厂方法来获取API客户端-只需将对方法的池化层的调用即可。     
        通常,Windows XP和Windows 7的并发TCP / IP连接数限制为10。也许就是这样。确保在Windows服务器版本中工作。     

要回复问题请先登录注册