通知
すべてクリア
2009年10月19日 1:57 PM
File.Openの例外処理について質問があります。
開発環境はWindowsXP SP2,VS2005 C#,DOT NET FRAMEWORKS2.0です
サーバー上にあるExcelファイルが開かれているかどうかをチェックするために
以下のコードを使用していますが、一度例外が発生するとExcelファイルを閉じた
状態でもIOExceptionが発生し、『別のプロセスで~』となります。
ログオフを行えば問題ないのですが…。
今回のコードの場合、どこかにロック情報が残ってしまうのでしょうか?
bool isExclusive(string szFileName)
{
FileStream s = null;
try
{
s = File.Open(szFileName, FileMode.Open, FileAccess.ReadWrite,
FileShare.None);
s.Close();
}
catch (Exception ex)
{
Console.WriteLine(szFileName + \r\n >> +ex.Message);
return false;
}
finally
{
if (s != null) s.Dispose();
s = null;
}
return true;
}