当前标识(NT AUTHORITY/NETWORK SERVICE)没有对“C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files”的写访问权限。

本文介绍了ASP.NET应用程序中出现的写访问权限异常问题及其解决方法。异常源于.NET Framework尝试写入临时文件夹失败,通过调整配置文件和运行特定命令解决。文章还探讨了web.config配置错误及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当前标识(NT AUTHORITY/NETWORK SERVICE)没有对“的写访问权限。
2009年03月10日 星期二 下午 05:13
当前标识(NT AUTHORITY/NETWORK SERVICE)没有对“的写访问权限。

当前标识(NT AUTHORITY/NETWORK SERVICE)没有对“C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary asp.NET Files”的写访问权限。

说明: 执行当前 web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 当前标识(NT AUTHORITY/NETWORK SERVICE)没有对“C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary asp.NET Files”的写访问权限

 

检查.net 安装环境一切正常,权限正常,仍然解决不了问题,总不能重装吧?最后终于在网上找到了解决方案。

运行:C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis -i -enable

系统会显示正在安装.net。稍后一切恢复正常。

 

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

分析器错误信息: 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。

源错误:


行 24: 以标识传入的用户。
行 25: -->
行 26: <authentication mode="Windows"/>
行 27: <!--
行 28: 如果在执行请求的过程中出现未处理的错误,


源文件: D://桌面资料//肖先生调试//衣购网站项目源码//web//web.config 行: 26


显示其他配置错误:


在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。 (D://桌面资料//肖先生调试//衣购网站项目源码//web//web.config line 39)




--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.832; asp.NET 版本:2.0.50727.832


IIS 里面都设置好了,而且如果在VS 2005环境下运行也不可以,同样的错误! 大家帮忙啊
linjone»
原因:Machine.config里的allowDefinition="MachineToApplication"。

解决1:把allowDefinition设为:Everywhere。考虑到最好不要改动Machine.config文件,否则可能会引起其他错误。

解决2: <authentication mode="Forms"> 是应用级别的,不能在子目录级别的web.config内
设置,把它放在应用级别的web.config里,在子目录下用 <authorization>节来控制访问。


即: <system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>

根目录下的web.config:

<authentication mode="Forms">
<forms loginUrl="~/admin/login.aspx" name="login" />

</authentication>
<authorization>

<allow users="*" />
</authorization>

(解决3:(最近才想起来的)把admin子目录配置为应用程序,应该就没错了,不过没有经过测试,需要测试后才能验证。)

MAOGE1987»
1、若IIS中没有应用程序名,先创建,若还不行把C://WINDOWS //Microsoft.NET//work//v2.0.50727//CONFIG//machine.config中的所有 allowDefinition="MachineToApplication"改为allowDefinition="Everywhere"
2、在网站对应的虚拟目录上右键,选属性,然后在应用程序名后点创建。
我按他们说的找没找到,最终我理解就是
把你的虚拟目录指向web.config所在在文件夹,因为 web.config 的某些配置节只能出现在网站的虚拟目录跟目录中。
anyqu»
创建虚拟目录
dnnyyq»
上面的几位兄弟的操作我之前已经试过,没用,所以才来csdn上问的
jinquan_xu»
看一下是否有多个 web。CONFIG
rf001»
我也遇到这种错误了 期待答案 ......
alan0128»
分析:没有把程序目录设为虚拟目录。
打开管理工具--Internet 信息服务,找到我的网站下的我的asp.net文件夹,右键选属性,在 "应用程序设置"这里,点一下 创建 ,给它分配和站点相同的程序池,确定,,ok了
试过了,确定能解决。
<think>嗯,用户遇到了NT AUTHORITY\NETWORK SERVICE账户没有Temporary ASP.NET Files目录的写权限的问题。我需要帮他解决这个问题。首先,我应该回忆一下如何处理文件夹权限的问题。通常,这类问题可以通过修改文件夹的安全设置,添加相应的用户并赋予写入权限来解决。 根据用户提供的引用,特别是引用4和5,提到了运行aspnet_regiis命令来修复。这可能是一个解决办法,但可能需要先确保该账户有权限。所以步骤可能包括手动修改权限,然后运行命令重新注册ASP.NET。 首先,我需要指导用户找到那个目录,确认路径是否正确。用户提到的路径是C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files,需要检查是否存在,或者是否可能有不同的版本路径,比如Framework而不是Framework64? 接下来,步骤应该是右键文件夹属性,安全选项卡,编辑权限,添加NETWORK SERVICE账户,并勾选写入权限。需要注意是否要应用到子文件夹和文件,可能需要勾选“替换所有子对象的权限项”。 然后,运行aspnet_regiis -i -enable命令,可能需要管理员权限的命令提示符。这个命令会重新安装ASP.NET,并设置必要的权限,可能覆盖手动设置,但结合手动设置应该更保险。 另外,用户可能是在使用Visual Studio时遇到这个问题,特别是在调试或运行ASP.NET应用时。所以可能需要重启IIS或者应用程序池,或者重启VS。此外,检查应用程序池的标识是否是NETWORK SERVICE,或者是否需要更改为其他账户,比如ApplicationPoolIdentity。 还要注意,如果是64位系统,Framework64的路径是否正确,以及是否应该同时处理FrameworkFramework64下的目录。用户引用的不同版本(v2.0和v4.0)可能意味着问题可能出现在不同版本的.NET中,需要确认用户的问题具体是哪个版本,但用户明确提到的是v4.0.30319。 此外,可能需要检查父目录的权限,比如Temporary ASP.NET Files的上层目录是否也有足够的权限,或者是否存在文件夹被其他程序锁定,导致权限无法继承。 总结步骤应该是:手动添加权限,运行注册命令,重启相关服务,最后测试是否解决。同时提醒用户注意路径的正确性,使用管理员权限运行命令提示符,以及可能需要重启IIS或系统。</think>### 分步解决方案 #### 步骤1:确认目标目录路径 首先需确认目录 `C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files` 是否存在。若不存在,可能需要根据实际安装路径调整(例如 `Framework` 代替 `Framework64`,或检查.NET版本号是否匹配)[^4][^5]。 #### 步骤2:手动添加写入权限 1. **右键点击目标文件夹** 找到 `Temporary ASP.NET Files` 文件夹,右键选择 **属性** → **安全** → **编辑**。 2. **添加用户** 点击 **添加**,输入用户名为 `NETWORK SERVICE`,点击 **检查名称** 验证后确认。 3. **设置权限** 勾选 **允许** 列的 **完全控制** 或 **修改/写入** 权限,点击 **应用** → **确定**。需勾选 **替换所有子对象的权限项** 以确保权限继承[^1][^3]。 #### 步骤3:通过命令行修复ASP.NET注册 以管理员身份运行命令提示符,执行以下命令: ```cmd C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -i -enable ``` 此操作会重新注册ASP.NET并自动配置必要权限。 #### 步骤4:重启相关服务 1. 重启IIS服务:执行 `iisreset` 命令。 2.使用Visual Studio,需关闭后重新启动项目。 #### 补充说明 - 若权限修改后仍报错,检查应用程序池的标识是否设置为 `Network Service`(通过IIS管理器查看)。 - 确保系统未启用第三方安全软件拦截权限修改。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值