如何使用进程监视器来解决UnauthorizedAccessException

时间:2008-10-10 10:03:25

标签: asp.net debugging

我正在尝试从IIS7下的ASP.NET应用程序编写日志文件,但不断收到以下异常:

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

我被建议使用Process Monitor来帮助解决这个问题,但这是一个非常复杂的工具,我真的没有时间去探索它。请有人可以帮助我,并建议如何使用PM来确定哪个用户正在尝试访问该文件夹等。

2 个答案:

答案 0 :(得分:4)

当PM启动时,它会显示一个过滤器对话框。只需点击“重置”即可使用标准过滤功能。这将生成大量消息,您只对它们中的极少数感兴趣。在进程名称下,选择包含要监视的进程的行。 Richtclick它并选择 include 。这会将报告的事件限制为您的应用程序。在工具栏中,最右边的三个图标可用于过滤源:注册表访问,文件系统访问和进程/线程事件。取消选择注册表和进程/线程,因为您只想监视文件访问。 在菜单中选择选项 - 选择列。在流程管理下,选中用户名

现在尝试重现错误。如果您仍然收到太多事件,则可以限制路径(右键单击路径列并选择 exclude )。您可以通过单击Ctrl-L来微调您的过滤,界面应该是自我解释的。 (哦,当你想创建一个新的过滤规则时,只需记得点击添加然后点击确定 ...我几乎总是属于那个特定的陷阱; - )

答案 1 :(得分:0)

不确定为什么要将Process Monitor用于文件系统中的访问问题。

检查目录是否允许运行应用程序的用户访问文件IO调用点。如果您冒充这将是网络服务帐户。如果你是模仿,那将是冒充用户。