Coding with .NET

Live with passion, coding with passion....

首页 新随笔 联系 订阅 管理
  16 Posts :: 3 Stories :: 118 Comments :: 0 Trackbacks

前言

从第一次接触 asp.net 到现在差不多快两年了。在这两年时间里,我碰到了大堆大堆的问题,不知道敖过多少个通宵,从空白开始逐渐了解和认识 HTML 语法、客户端脚本、asp.net 的架构等。我很愿意将我的一些经验拿出来和大家一起分享。当然也免不了错误和了解不够深入的地方,也非常欢迎大家的任何意见和评论!

我以后将逐渐写一个《漫谈 asp.net》的系列文章。在这些文章里面,将会涉及到 Web 应用程序的结构、编程模式、Web 控件开发、UI、页面状态维护、缓存等多个方面。今天我来谈一下:

漫谈asp.net之一: 常见错误 Access denied

在 asp.net 中,其中一个最常见的问题就是“访问被拒绝”(Access denied)。如:

配置错误

说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。

分析器错误信息: 访问被拒绝:“myApp”。

源错误:

行 256:      <add assembly="System.EnterpriseServices, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
行 257:      <add assembly="System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
行 258:      <add assembly="*"/>
行 259:    </assemblies>
行 260:

源文件: c:\windows\microsoft.net\framework\v1.1.4322\Config\machine.config    行: 258


另外还有一个 Access denied 的错误说是不能访问 C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files 下的某个目录。产生这些错误的原因很多,主要的可能包括:Bin 目录或者 Web.config 被更改以及访问文件系统的权限不够。

如果 Bin 目录或者 Web.config 被更改,MSDN 网站上有文章说是因为 Microsoft Index Services(Indexing Service) 服务在运行。详细内容可以访问: PRB: Access Denied Error When You Make Code Modifications with Index Services Running

但是另外还需要注意一些别的问题,

  • 检查 Bin 目录的文件系统访问权限。一般只要确保 Users 容器拥有“读取和运行”、“列出文件夹目录”和“读取”的权限就可以了。
  • 如果提示说不能访问 C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\... ,可以将 Temporary ASP.NET Files 目录的访问权限列表中添加 Everyone,并设置为拥有所有的权限。然后在访问一次此 Web 应用程序后,将 Temporary ASP.NET Files 目录的访问权限列表中将 Everyone 删除就可以了。

综上所述的方法,主要包括:

  • 禁用或设置 Indexing Service 服务;
  • 检查 Bin 目录的访问权限;
  • 设置 Temporary ASP.NET Files 目录的访问权限。
posted on 2005-06-03 00:05 Lin 阅读(3835) 评论(9)  编辑 收藏 网摘 所属分类: ASP.Net

Feedback

#1楼 2005-06-03 23:03 lslnet      
支持、期待
  回复  引用  查看    

#2楼 2005-08-18 17:57 工人[未注册用户]
讲的太好了,
  回复  引用    

#3楼 2005-08-23 00:06 ycf[未注册用户]
为什么没有相应的解决方法呀!!!!!我今天遇到这样的问题了,我重装过了,但还是解决不了,总是说出现"分析器错误".希望作者能帮一下,怎么解决?
在这先谢了!!!!!!!!

  回复  引用    

#4楼 2005-08-23 08:36 Lin
能不能把具体的错误信息贴一下? “分析器错误”可能会有很多种情况的 :)
  回复  引用    

#5楼 2005-08-24 09:28 55EC[未注册用户]
我也突然有这个问题了, win2003系统,把asp.net服务重装了也不行。急啊。
提示:
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。

编译器错误信息: CS0016: 未能写入输出文件“c:\windows\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\root\e2235c4a\160be825\mh2mprbj.dll”--“拒绝访问。 ”

源错误:



[没有相关的源行]


源文件: 行: 0

  回复  引用    

#6楼 2005-08-24 10:42 Lin
TO 55EC:

如果是你说的那种情况的话,一般按照文章中说的就可以解决吧:
--------------------------------------------------------------------
如果提示说不能访问 C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\... ,可以将 Temporary ASP.NET Files 目录的访问权限列表中添加 Everyone,并设置为拥有所有的权限。然后在访问一次此 Web 应用程序后,将 Temporary ASP.NET Files 目录的访问权限列表中将 Everyone 删除就可以了。

  回复  引用    

#7楼 2007-06-01 13:45 LoongX[未注册用户]
高见!
  回复  引用    

我再补充一下吧,Bin目录权限可以继承父目录的权限,如果有单单拷贝一个*.dll文件过去的话,请注意也检查一下该dll的权限...这样此问题可以得到最终的解决...
  回复  引用    

#9楼 2008-08-26 15:56 rr[未注册用户]
我的系统及vs2005都是刚装的,运行项目就出错如下:
错误
您所请求的网址(URL)无法获取

--------------------------------------------------------------------------------

当尝试读取以下网址(URL)时: http://localhost:1641/Test3/

发生了下列的错误:

Access Denied.
拒绝访问
Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.
当前的存取控制设定禁止您的请求被接受,如果您觉得这是错误的,请与您网路服务的提供者联系。


本缓存服务器管理员:root



--------------------------------------------------------------------------------

Generated Tue, 26 Aug 2008 07:15:35 GMT by proxyA (squid/2.6.STABLE17)

  回复  引用    




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 166978




相关文章:

相关链接: