File.Openの例外について

[戻る]
SE 2009/10/19(月) 13:57:52
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;
}

古いスレッドには追加発言できません。