[英]FileNotFoundException taking too long to throw, is there a way to shorten the timeout?
我有一些代碼可以加載這樣的圖像:
using (var sourceImage = Image.FromFile(fullImagePath))
{
return new Bitmap(sourceImage);
}
有時,圖像將被錯誤命名或不在預期的位置,並且正確引發了System.IO.FileNotFoundException
。 但是,拋出此異常通常需要大約1秒。 當我的代碼捕獲了幾百張圖像而其中一些圖像丟失時,這將為該過程增加大量時間。
如果需要拋出異常,是否有一種方法可以加快異常發生?
我能想到的唯一替代方法是檢查圖像是否首先存在,但是這會給每個單個圖像獲取增加幾十毫秒,這也不是一個好的解決方案。
澄清 : fullImagePath
包含的示例是:
\\ImageSrv\secure\sites\2756\27074\760789\bthumb\1287.jpg
同一目錄中可能還包含數百張其他圖像。
結論 :看起來檢查文件是否存在是最好的方法。
您可以保留文件名的緩存,並通過另一個線程定期更新。 然后,您可以對此進行檢查並立即知道文件是否存在(繞過File.Exists的開銷)
當然,如果不斷添加/刪除目錄中的文件,這將不起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.