私の iis サーバーのすべてのログ ファイルを取得し、その内容をデータベースに送信したいと考えています。
これは私のコードです:
string[] filePaths = Directory.GetFiles(@"C:\inetpub\logs\LogFiles\W3SVC1", "*.log",
SearchOption.AllDirectories);
foreach (var file in filePaths)
{
var lines = File.ReadAllLines(file);//exception
foreach (var line in lines)
{
client.Send(line);
}
}
問題は、フォルダーのファイルを読み取ろうとすると例外が発生することです。
IOException was unhandled
The process cannot access the file 'C:\inetpub\logs\LogFiles\W3SVC1\u_ex140625.log' because it is being used by another process.
理由はわかりましたが、iis サーバー自体以外のどのプロセスがファイルをロックしているかはわかりませんが、それを停止することはできません。これらのログ ファイルにアクセスするにはどうすればよいですか?