第二次调用时C#HttpClient错误请求

第二次调用时C#HttpClient错误请求,c#,asp.net,httpclient,dotnet-httpclient,C#,Asp.net,Httpclient,Dotnet Httpclient,我用下面的代码发现,在任何第二个httpclient请求中,我总是收到400个错误请求 我可以确认API调用实际工作并返回200-因此如果我翻转它们,第一个调用将返回200秒调用,400 我不明白为什么会这样 using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(BaseUrl); client.DefaultRequestHeade

我用下面的代码发现,在任何第二个httpclient请求中,我总是收到400个错误请求

我可以确认API调用实际工作并返回200-因此如果我翻转它们,第一个调用将返回200秒调用,400

我不明白为什么会这样

 using (HttpClient client = new HttpClient())
        {
            client.BaseAddress = new Uri(BaseUrl);
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

            HttpResponseMessage blah = await client.GetAsync("api/subscriptions?account=eclipse&application=Sample");
            HttpResponseMessage dfds = await client.GetAsync("api/subscriptions?account=eclipse");
...
}

如果看不到您试图调用的控制器功能,很难判断。可能发生的情况是,REST服务在服务器上遇到异常,并且正在回滚一个400

服务使用的是什么web服务器?也许它有某种同步请求阻塞。您可以尝试不使用异步


我要做的是打开Fiddler()并查看网络流量。查看web服务器的响应,看看是否有异常数据。

您有权访问服务器吗?你能确认服务器没有因为请求太频繁而拒绝它吗?@Steve不是这样,我可以毫无问题地调用api,并且我尝试过调试,并在两次调用之间进行了逐步调整,但结果都是一样的。为此,我安装了fiddler,结果发现第二次调用返回400,因为{“msg”:“Referer标头与白名单不匹配。”}0