0

以下は、ディレクトリの削除中にWebサービスから取得する例外です

The process cannot access the file 'button.js' because it is being used by another process. 
3/22/2013 11:16:51 AM : Exception :The process cannot access the file 'button.js'   because it is being used by another process.

内部例外:

スタックトレース :

System.IO.Directory.DeleteHelper (文字列 fullPath、文字列 userPath、ブール再帰) で System.IO.Directory.Delete (文字列 fullPath、文字列 userPath、ブール再帰) で System.IO.Directory.Delete (文字列パス、ブール再帰) ) E:\websites\test.cont.com\CRMobileAPI\v5_2\apibridge.asmx.cs:line 1213 の CRMobileAPI.v5_2.apibridge.downloadcompleted(String userid, String deviceid, String filepathurl) で

ソース :

mscorlib

ここに私のコードがあります、

               if (Directory.Exists(_DirPath))
                {
                    try
                    {                            
                        DirectoryInfo _DirTemp = new DirectoryInfo(_DirPath);
                        _DirTemp.Delete(true);
                    }
                    catch (Exception Ex)
                    {
                        clsExHandler.Instance.Write(Ex);
                    }
                }

注: この例外は「button.js」だけでなく、時間によって異なります。

この問題を解決するにはどうすればよいですか。私のロガーファイルはこの例外で立ち往生しました。

4

1 に答える 1

0

ファイルが使用中である可能性が非常に高いです。ファイルが Web サーバーによってアクセスされていないことを確認する必要があります。ただし、これを行うための標準的な方法はありません。

この例外を処理し、少し待ってからファイルの削除を再試行することをお勧めします。通常、Web サーバーは非常に短いスパンでファイルにアクセスし、非常に速く解放する必要があるため、同じファイルで再試行すると、ファイルを正常に削除できる可能性があります。

于 2013-03-22T11:45:29.000 に答える