1
MVC、WebApi、およびKestrel Web Serverを使用してASP.NETコアWebアプリケーションをテストしています。非同期要求を処理し、ブロックせずに複数の要求を処理するためのMS Kestrel Web Serverの設定方法
var host = new WebHostBuilder()
.UseKestrel(opt => opt.ThreadCount = 10)
.UseConfiguration(config)
.UseContentRoot(path)
.UseStartup<Startup>()
.Build();
何らかの理由で、サーバーが要求を処理しているときに、何らかの新しい要求で受け入れられません。私が読んだことから、これは事実ではないはずですが、私が間違っていることを理解することはできません。ここで
は私WEBAPIコントローラのコードは次のとおりです。
[HttpPost]
[Route("/api/test/{moduleid}")]
public Task<object> Api(string moduleId, [FromBody] JObject data)
{
return Task.Run(() =>
{
return domain.Handle(moduleId, data);
});
}
コードが非同期ではありませんので、私はTask.Run呼び出しでラップしています。すべてが機能しますが、サーバーは現在の要求が終了するまで新しい要求をブロックします。