概要
swaggerからAzure API Appsを実行したら、下記のエラーが帰ってきた。
502 - Web server received an invalid response while acting as a gateway or proxy server.
502 Bad Gatewayが返る原因はいくつかあるみたいだが、今回は原因が接続タイムアウトだった時の対処方法
結論
処理が重いロジックを非同期化する。
たとえばこんなロジックあったとしたら、
class Program { static void Main(string[] args) { Console.WriteLine("処理を開始します"); TaskTestLogic test = new TaskTestLogic(); test.TestMeshod(); Console.WriteLine("処理を終了します"); } }
Task.Runを追加し、処理の終了を待たないようにする。
class Program { static void Main(string[] args) { Console.WriteLine("処理を開始します"); TaskTestLogic test = new TaskTestLogic(); _ = Task.Run(async () => { await test.TestMeshod(); }); Console.WriteLine("処理を終了します"); } }