asp.net web api 2.2自我主机请求缓慢处理

时间:2016-01-02 19:35:09

标签: c# performance asp.net-web-api2

目前我有从控制台启动的web api 2.2自主服务器以及每30秒通过HttpClient发送请求的300多个客户端程序。 服务器配置为监听https连接,如帖子http://pfelix.wordpress.com/2012/02/26/enabling-https-with-self-hosted-asp-net-web-api/中 但是从最近几次服务器停止处理大部分客户端请求。当服务器启动时,他工作正常,但几分钟后他没有处理很多。服务器上没有异常,但在客户端上是TaskCanceledException(可能是请求超时)。

然后我试着设置选项:
HttpSelfHostConfiguration.MaxConcurrentRequests = 2000;
ServicePointManager.DefaultConnectionLimit = 2000;
但它对我没有帮助。

在发现进程的转储文件后,我发现有7个线程卡在方法“HttpReceiveClientCertificate”stack trace image中。为了测试,我删除了HttpSelfHostConfiguration.ClientCredentialType = HttpClientCredentialType.Certificate,并且通常会向服务器接收请求。 似乎并非所有请求都被处理,因为查找证书需要花费大量时间 如何增加处理传入请求?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。

在我的案例中,SSL证书配置是使用' netsh http add sslcert'命令。

添加' clientcertnegotiation =启用'允许增加处理请求的数量。