Как использовать Process Monitor для разрешения UnauthorizedAccessException - PullRequest
0 голосов
/ 10 октября 2008

Я пытаюсь записать файл журнала из приложения ASP.NET под IIS7, но получаю следующее исключение:

UnauthorizedAccessException "Access to the path 'C:\Users\Brady\Exports' is denied."

Мне посоветовали использовать Process Monitor , чтобы помочь решить эту проблему, но это довольно сложный инструмент, и у меня действительно нет времени тратить на его изучение. Может кто-нибудь помочь мне и посоветовать, как использовать PM, чтобы определить, какой пользователь пытается получить доступ к папке и т. Д.

Ответы [ 2 ]

4 голосов
/ 10 октября 2008

При запуске PM отображается диалоговое окно фильтра. Просто нажмите «Сброс», чтобы использовать стандартную фильтрацию. Это создаст много сообщений, и вы заинтересованы только в очень немногих из них. В разделе Имя процесса выберите строку с процессом, который вы хотите отслеживать. Richtclick его и выберите включить . Это ограничивает сообщаемые события событиями вашего приложения. На панели инструментов три крайних правых значка позволяют фильтровать источники: доступ к реестру, доступ к файловой системе и события процессов / потоков. Отмените выбор реестра и процесса / потоков, так как вы хотите только контролировать доступ к файлам. В меню выберите Параметры - Выбрать столбцы . В разделе Управление процессами установите флажок Имя пользователя .

Теперь попробуйте воспроизвести ошибку. Если вы все еще получаете слишком много событий, вы можете ограничить путь (щелкните правой кнопкой мыши в столбце Path и выберите exclude ). Вы можете точно настроить фильтрацию, нажав Ctrl-L, интерфейс должен быть понятен. (О, просто не забудьте нажать Добавить перед нажатием OK , когда вы хотите создать новое правило фильтрации ... Я почти всегда влюбляюсь в эту конкретную ловушку; -)

0 голосов
/ 10 октября 2008

Не уверен, почему вы хотите использовать Process Monitor для проблемы доступа в файловой системе.

Убедитесь, что каталог имеет доступ, разрешенный для пользователя, который запускает приложение, в момент вызова файла ввода-вывода. Если вы олицетворяете, это будет учетная запись сетевой службы. Если вы подражаете, то это будет подражающий пользователь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...