.NET のタイムアウト

Functions Framework for .NET は、関数のタイムアウトを示すためにキャンセル トークンを使用します。

関数の実装方法に応じて、キャンセル トークンを取得できます。

  • IHttpFunction インターフェースを実装する HTTP 関数の場合は、HttpContext.RequestAborted プロパティからキャンセル トークンを取得します。

  • ICloudEventFunctionICloudEventFunction<TData>、または ITypedFunction<TRequest, TResponse> インターフェースを実装するイベント ドリブン関数の場合、キャンセル トークンは HandleAsync メソッドに渡されます。

キャンセル トークンは、関数のタイムアウトによるリクエストの終了を処理するために使用します。呼び出す非同期メソッドにキャンセル トークンを渡し、関数コードが使用されない処理を実行するのではなく、正常に中止されるようにします。

関数で時間のかかる同期コードを使用していて、同等の非同期コードがない場合は、CancellationToken.ThrowIfCancellationRequested メソッドを定期的に呼び出します(同期ループの反復処理ごとに呼び出すなど)。