2008-10-14 77 views
7

我试图在XP机器上运行ASP.NET 2.0应用程序。据我所知,一切都配置正确。不过,我收到以下消息:为什么ASP.NET由于GAC权限而失败?

Server Application Unavailable

而且两个事件出现在应用程序事件每次登录:

aspnet_wp.exe (PID: 3352) stopped unexpectedly.

Failed to execute the request because the ASP.NET process identity does not have read permissions to the global assembly cache. Error: 0x80070005 Access is denied.

此前,ASP.NET应用程序在本机上正常工作。

我试过下面的步骤,没有运气:

  • 我的站点主目录授予读取权限ASPNET帐户
  • 我已重新安装ASP.NET 2.0中使用ASPNET_REGIIS -i
  • 我授予权限ASPNET使用ASPNET_REGIIS -ga <我的机器名>帐户\ ASPNET
  • 我已授权的读取权限GAC到ASPNET帐户使用CACLS%WINDIR%\组装/ E/t/p <我的机器名> \ ASPNET,R
  • 我IIS

内设置的ASP.NET版本的网站,以2.0我不知道还有什么我可以做!


使用进程监视器直接导致我的问题。非常感谢Mun的小费。

这是一个相当晦涩的问题:我以前使用程序集绑定日志查看器(fuslogvw.exe)并将其设置为使用自定义路径选项将所有绑定记录到磁盘。但是,ASPNET帐户没有该自定义路径的权限。因此,恢复使用默认路径可解决问题。授予对ASPNET帐户的自定义路径的读/写权限也是可行的,正如禁用绑定日志记录一样。

回答

2

您也可能会发现Process Monitor有用解决这些类型的问题。如果您设置了一个过滤器来显示包含aspnet_wp.exe的所有活动,它应该显示它尝试访问哪些文件,从而允许您相应地更新权限。

0

我们曾经对ASP.NET有这个问题,因为当Visual Studio创建程序集的临时副本时,索引服务会开始扫描它们的病毒,并且这偶尔会导致“访问被拒绝”消息,因为调试器会试图打开一个共享文件。告诉索引服务不索引临时程序集目录解决了问题。

1

我知道现在回答这个问题为时已晚。今天我也有这个问题。我跑了下面的命令提示符,它解决了这一问题

aspnet_regiis -ga machinename\ASPNET 
0

这解决了这个问题对我来说,想我会分享:

如果这是IIS 5.1(基本上,IIS的古代版本)右键单击您的虚拟目录(来自inetmgr)并转到“所有任务”>“权限向导” 选择“从模板中选择新的安全设置”选项,然后选择公共网站。

相关问题