UWPを使用してラズベリーパイにLiteDbを使用してデータベースプロバイダを実装しようとしています。外部ハードドライブが接続されており、サポートされているより大きなデータベースサイズを持つために、特定の「データベース」ドライブとして使用したいと思っています。StorageFile引数を使用してLiteDbデータベースを作成する
私はStorageFile
を渡しています。それは、その後、私のデータベースファイルとして使用されます。 LiteDbの1つのコンストラクタはストリーム(System.IO.Stream
)を使用しますが、System.IO.Stream
から派生したStorageFile
オブジェクトをストリームに変換して新しいwin10セキュリティ制限(従来のFileを防ぐなど、ユーザーアクセス権を必要とします。アプリケーションデータディレクトリ以外への書き込み/パスベースのアクセス)。
は本当にこだわっています、両方の読み取りおよびStorageFile
への書き込みアクセス権を与え、私が試してみましたオプションは、次のとおりです。残念ながら
var stream = storageProvider.StorageLocaton.OpenAsync(FileAccessMode.ReadWrite);
、私はへの読み取り/書き込みアクセスの両方を与える任意の他の方法を見つけることができませんファイルをストリームとして出力します。
うまくいけば、ここにいる人には回避策があります。
こんにちは、応答に感謝、ストリームの作成に関しては、OpenAsyncによって返されたストリーム残念ながら、 'IAsyncOperation '型です。コンストラクタがサポートするSystem.IO.Streamと互換性がありません。'PublisherCacheFolder'情報、つまりフォルダパスを指定する方法を見ると、外部ドライブへの全パスを渡すことができるかどうかを示す情報はオンラインで見つけることができません。それはxmlの設定で 'D:\ folder'を使うことで可能ですか?ご協力いただきありがとうございます! –
'KnownFolders.RemovableDevices'を使用して外部ドライブを取得できます。 –
はい私はリムーバブルドライブ用のストレージファイルオブジェクトを既に持っていますが、アクセスを禁止すると思われるパスではなく、外部ドライブをデータベースディレクトリとして使用するストリームが必要です。 –