私の質問にはWeb APIが関係しています。asp.net/c#を使用して作成し、Azureサーバーにデプロイします。 APIは、基本的に、画像の上に何らかのテキストが印刷された画像を処理する要求を受け取ります。メソッドを非同期に呼び出す、または独自のスレッドでパフォーマンスを向上させる
私はget要求を受け取った後に呼び出されるメソッドを持っています。英語では、このメソッドはいくつかの設定を行い、次にAzureブロブストレージから要求された適切なイメージをダウンロードし、次に描画を行います。
public HttpResponseMessage process(string image){
DoSomeSetup();
DownloadFromBlob(image);
return DrawTextOnImage();
}
私の問題は、Azure BLOBからのダウンロードでは、すべての操作の中で最長の時間、通常は2〜3秒かかることです。私は、時間を節約するためにセットアップが行われている間にイメージをダウンロードすることができれば、はるかに効率的であると考えています。
public HttpResponseMessage process(string image){
startDownloadingImageFromBlob(image);
DoSomeSetup();
EnsureImageDownloadFinished();
return DrawTextOnImage();
}
私は単にメソッドの先頭に
Bitmap templateImage = DownloadImageFromUrl(BLOB_STORAGE_TEMPLATES_BASE_URL)
を呼び出すと、セットアップに移動する前に、ダウンロードが完了するのを待ちます印象でいます。セットアップと同時にダウンロードが実行されるようにする方法はありますか?必要に応じて、描画前に完了するまで待ってください。
、チャンスはあなたが実際に非同期的にダウンロードするに試みることによって(imperceivable)パフォーマンスの低下が表示されますされています。 –