簡體   English   中英

如果可用,請使用異步方法

[英]Use async methods if available

是否可以在System.IO和StorageFile方法之間切換,具體取決於用戶是否運行Windows 8,而無需創建兩個單獨的項目? 我知道我可以在Windows 8中使用System.IO,但是我想利用內置的異步方法(如果可能的話)(即用戶在Win8上)。

我目前沒有可以測試的Windows 7機器,但我擔心程序啟動時可能會丟失庫錯誤。 有沒有辦法做到這一點?

異步StorageFile方法是.net 4.5 Framework的一部分。 您的應用程序應該將框架部署為安裝依賴項 - 請參閱.NET Framework部署指南(適用於開發人員)

StorageFile類不是.NET 4.5的一部分,它是Windows運行時的一部分。 這些類可以通過它們的根命名空間Windows輕松識別。 Windows運行時API僅在Windows 8上可用,主要用於Windows Store apps 雖然我自己沒有嘗試過,但它們也可以用在桌面應用程序中。 我仍然不確定文件IO類有多好,因為Windows商店應用程序在沙盒環境中運行,並且基於其清單中聲明的​​功能,只能有限地訪問文件系統。

對於桌面應用程序中的文件IO,我堅持使用System.IO命名空間中的.NET類。 在.NET 4.5中,有幾種異步方法可用,主要在StreamStreamReaderStreamWriter類中,可用於使用async / await范例讀取和寫入文件。 它們不僅限於Windows 8,但它們確實需要安裝.NET 4.5才能排除Windows XP

不幸的是,我所知道的.NET 4.5中沒有等同於StorageFile.GetBasicPropertiesAsync異步方法。 如果您確實需要將這些調用設置為異步,則始終可以將同步調用包裝到您自己的異步方法中,您可以從UI線程調用該方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM