たにーの闘争

日々の気になる事を書いていきます

【C#】AzureApplicationGatewayでHTTPリクエストに対して、502 Bad Gatewayが返ってきたときの対処方法

概要

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("処理を終了します");
        }
    }