2016-05-26 19 views
0

現在MetroLogを使用しています。ファイルストリームを使用して情報をログファイルに記録します。ファイルが別のプロセスによって使用されている間にStorageFileの内容を読み取る

それはMetroLogのファイルストリーム

using (var randomAccessStream = await localFile.OpenReadAsync()) 
{ 
    ... 
} 

このコードはAccess Denied例外が発生しますが使用している間にStorageFileの内容を読み込むための可能性があります。ファイルが存在し、ロギングを無効にすると動作するため、正しい権限を持っているように見えます。

答えて

1

私は同じ問題を抱えていました。私のソリューションは、以下の(すべての私のコードは、デバイスの実装では、ないPCLに置かれる)である。

Metrologの初期化時に、後の目的のために、ストリーミングファイルのターゲットを保存します。

private static StreamingFileTarget _target; 
... 
LogManagerFactory.DefaultConfiguration.AddTarget(LogLevel.Trace, LogLevel.Fatal, _target); 

閉じる開いているすべてのファイルMetrologの現在のログファイルを開く/読み込む前にファイルターゲットを確認してください:

await _target.CloseAllOpenFiles(); 
your code... 

次のログコマンドで再度ログファイルが開きます。

関連する問題