"拒绝访问(Access Denied)"错误的快捷诊断方法
发布ASP.NET或者ASP应用时经常会碰到因为不恰当的NTFS授权引出的问题,这类问题通常调试起来很头痛,要求调试者具有丰富经验。(比如需要了解ASP.NET的进程模型,Shadow Copy可能涉及的目录,以及当ASP只报告一个“resource in use”的错误时,它可能指的是asp在启动的时候装载一个杀毒软件目录下dll文件失败,等等)
我刚刚发现,借助http://www.sysinternals.com/上的一个小工具 filemon 可以大大简化此类问题的调试过程。
filemon可以实时监视和显示系统中所有进程的各种文件操作,比如打开/创建一个文件,装载一个dll。filemon监视这些操作并且把它们的操作结果打印出来。
当我们碰到Web应用程序发生权限异常的情况,我们只要打开filemon,然后重新运行该Web应用,之后在filemon的日志里查找就可以发生Access Denied异常的对应操作。
我刚刚发现,借助http://www.sysinternals.com/上的一个小工具 filemon 可以大大简化此类问题的调试过程。
filemon可以实时监视和显示系统中所有进程的各种文件操作,比如打开/创建一个文件,装载一个dll。filemon监视这些操作并且把它们的操作结果打印出来。
当我们碰到Web应用程序发生权限异常的情况,我们只要打开filemon,然后重新运行该Web应用,之后在filemon的日志里查找就可以发生Access Denied异常的对应操作。