您的实例的大小将仅决定为您的实例保留的带宽(XS 为 5 Mbps,更多信息请点击此处)。您需要做的只是将 DefaultConnectionLimit 更改为 2 以上:
<system.net>
<connectionManagement>
<add address="*" maxconnection="12"/>
</connectionManagement>
</system.net>
如果您想在您的 Web 应用程序中允许这样做,请将其添加到您的 web.config 中。例如,如果您想在启动实例之前调用服务,请将以下内容添加到您的 WebRole.cs:
public override bool OnStart()
{
ServicePointManager.DefaultConnectionLimit = 12;
return base.OnStart();
}
请记住,即使请求排队,如果您以异步方式调用 Web 服务,您将获得更好的整体性能。这是一个非常基本的示例(假设您调用一个简单的 REST 服务,WCF 客户端代理对异步请求有更好的支持):
<%@ Page Async="true" ... %>
public partial class AsyncPage : System.Web.UI.Page
{
private WebRequest req;
void Page_Load (object sender, EventArgs e)
{
AddOnPreRenderCompleteAsync (
new BeginEventHandler(BeginWebServiceCall),
new EndEventHandler (EndWebServiceCall)
);
}
IAsyncResult BeginWebServiceCall (object sender, EventArgs e,
AsyncCallback cb, object state)
{
req = WebRequest.Create("http://some.webs.service/rest/api");
return req.BeginGetResponse (cb, state);
}
void EndWebServiceCall (IAsyncResult ar)
{
using (var response = req.EndGetResponse(ar))
{
using var reader =
new StreamReader(response.GetResponseStream()))
{
var text = reader.ReadToEnd();
...
}
}
}
}