首页 > 解决方案 > 包含链式 HTTP 请求的 ASP.NET C# WebApi 的性能问题

问题描述

我有一个 ASP.NET C# WebApi 应用程序,其中包含链接的 HTTP 请求,如下面的伪代码:

public class SampleController : ApiController
{
    [HttpPost]
    public SampleResponse SampleAction([FromBody]SampleRequest request)
    {
        Do1();//Do sth.
        HttpWebRequest("http://localhost/api1/c1/a1");//Using HttpWebRequest to send a HTTP request
        Do2();//Do sth.
        return SampleResponse;
    }
}

SampleAction调用的extern api可以支持30QPS和小于500ms的响应,以及SampleAction ie中的方法。Do1 和 Do2 不会花费太多时间。但是当我请求 SampleAction 时,它会导致数十秒的超时。

我试图设置 System.Net.ServicePointManager.DefaultConnectionLimit=1000,但它不起作用。我应该怎么做才能解决这个性能问题,以便 SampleAction 可以在更短的时间内做出响应?

标签: c#asp.nethttpwebrequest

解决方案


推荐阅读