2
舞台裏でサーバーにhttpコールを行うAPIを使用するように求められました。同期APIをラップしてメソッドを非同期として公開するパターンはありますか?
残念ながら、すべての呼び出しは同期的です。私はこのAPIのクラスをラップして非同期呼び出しを行うことができ、呼び出しを取り消すことができます。
このAPIを公開するWCFサービスを公開すると、ライセンス違反となります。
これを行うためのパターンはありますか?
舞台裏でサーバーにhttpコールを行うAPIを使用するように求められました。同期APIをラップしてメソッドを非同期として公開するパターンはありますか?
残念ながら、すべての呼び出しは同期的です。私はこのAPIのクラスをラップして非同期呼び出しを行うことができ、呼び出しを取り消すことができます。
このAPIを公開するWCFサービスを公開すると、ライセンス違反となります。
これを行うためのパターンはありますか?
Task.Factory.StartNew
で新しいスレッドで実行される新しいタスクをいつでも起動できます。スレッドスプール以外のスレッドで競合通知が必要な場合は、SynchronizationContext
を使用して別のスレッドにスケジュールすることをお勧めします。
同期または非同期のAPIは、純粋なクライアント側の決定であり、サービスに固有ではありません。 – CodesInChaos
呼び出しているAPIが同期している場合は、非同期を行うための操作はできません。 _appear_を非同期にすることができます(タスク内でラップするか、単にスレッドを使用するだけで済みます)。しかし、スレッドがそのAPIを呼び出すスレッドのいずれかが終了すると、応答を待ってブロックされます。 – BFree