2013-12-19 3 views
2

У меня есть код, который отслеживает конкретную папку для любых падений файлов. При удалении файла файл будет получен для дальнейшей обработки.System.ArgumentOutOfRangeException at System.IO.FileSystemWatcher.CompletionStatusChanged

В последнее время я становлюсь ниже исключения. Я не уверен, что вызывает это исключение или как его избежать, потому что оно происходит с перерывами и не может быть реплицировано. Также не уверены, происходит ли это при падении файла или просто когда наблюдатель опросает папку.

Framework Version: v4.0.30319 
Description: The process was terminated due to an unhandled exception. 
Exception Info: System.ArgumentOutOfRangeException 
Length cannot be less than zero. 
Parameter name: length 
Stack: 
    at System.String.CtorCharPtrStartLength(Char*, Int32, Int32) 
    at System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32, UInt32, System.Threading.NativeOverlapped*) 
    at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*) 

Ниже мой пример кода:

{ 
     // Code goes here 

    _watcher = new FileSystemWatcher(); 
    _watcher.Path = _scanDirectory; 
    _watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite |  NotifyFilters.FileName | NotifyFilters.DirectoryName; 

    if (_watchSubTree) 
    { 
     _watcher.IncludeSubdirectories = true; 
    } 

    // Add event handlers. 
    _watcher.Created += new FileSystemEventHandler(OnCreated); 
    _watcher.Renamed += new RenamedEventHandler(OnRenamed); 
} 
+0

У вас есть этот код на странице asp.net? – Adil

+0

Этот код является частью ClassLibrary в приложении ASP.Net – Vijay

ответ

1

Вы должны создать консольное приложение, на котором хранится код. Этот код на стороне сервера не должен быть частью приложения ASP.Net из-за проблем с жизненным циклом.

Попробуйте проверить, не возникла ли проблема при запуске вашего кода из консольного приложения. Также проверьте, имеет ли пользовательский счет, который запускает вашу программу, доступ к файловой системе к указанному пути.

Смежные вопросы