IRealtimeClientSession.SendAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
クライアント メッセージをセッションに送信します。
public System.Threading.Tasks.Task SendAsync(Microsoft.Extensions.AI.RealtimeClientMessage message, System.Threading.CancellationToken cancellationToken = default);
abstract member SendAsync : Microsoft.Extensions.AI.RealtimeClientMessage * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function SendAsync (message As RealtimeClientMessage, Optional cancellationToken As CancellationToken = Nothing) As Task
パラメーター
- message
- RealtimeClientMessage
送信するクライアント メッセージ。
- cancellationToken
- CancellationToken
操作を取り消すトークン。
返品
非同期送信操作を表すタスク。
注釈
このメソッドを使用すると、セッションにクライアント メッセージをいつでも送信できます。このメッセージを使用して、セッションの動作または状態に影響を与えることができます。
プロバイダー実装者のコンカレンシーに関する注意:SendAsync(RealtimeClientMessage, CancellationToken) は、複数のソースから同時に呼び出される場合があります。 たとえば、呼び出し元は 1 つのスレッドで SendAsync(RealtimeClientMessage, CancellationToken) を介してオーディオをストリーミングし、 FunctionInvokingRealtimeClientSession 呼び出しなどのミドルウェア SendAsync(RealtimeClientMessage, CancellationToken) は、別のスレッドの列挙内からツールの結果 GetStreamingResponseAsync(CancellationToken) 返すことができます。 基になるトランスポート (WebSocket など) が同時送信をサポートしていない場合、プロバイダーの実装では、プロトコル違反を防ぐために、たとえば SemaphoreSlim を使用してアクセスをシリアル化する必要があります。