IIS7 无法写入配置文件web.config 错误

FTP上传了一个Asp.Net程序的.zip压缩包到服务器,解压并放到wwwroot下一子目录,并在iis里把该目录设为【虚拟目录】,去修改【默认文档】时,提示错误 -- “无法写入配置文件web.config ”,并且浏览器访问报 -- “HTTP 500错误”!以前操作那么多次iis也从未遇到这么诡异的问题!

经过一个非常纠结的排错过程,找出一个绝对意想不到的错误根源:

  1. 意识到犯了个错误--没有把该目录转为【应用程序】, 选择转为【应用程序】,但问题如故。
  2. 查了一下web.config文件属性,没有设为“只读”,可推断跟权限没有关系。
  3. 尝试在该目录的【安全】属性里把“完全控制”权限赋予“Network Service”,但问题如故。
  4. 度娘了一把 -- 有些人遇到的是web.config“只读”导致类似问题,有些因为c盘是fat32格式导致 -- 这个跟我的情况都没有关系。
  5. 尝试把该目录放到D盘,重新在iis里建一个【应用程序】映射过来,问题如故。
  6. 山重水复之际,猛一下察觉 -- 该目录的文件夹名和文件名显示是绿色的!!而其他正常的文件名是黑色的!google了一把 -- 原来是加密过的文件才会绿色!

最后,到文件夹的【常规-》高级】属性里,把最后一个“加密内容以便保护数据”的勾选去掉,问题解决。

那么,追溯问题的最源头 -- 这个.zip压缩包是在mac下创建的,而mac自带的压缩工具默认会把文件加密,坑爹!

时间: 2024-10-20 17:16:32

IIS7 无法写入配置文件web.config 错误的相关文章

IIS7.5下的web.config 404应该如何配置

原文地址:http://www.jianfangkk.com/aspnet/201412/185 IIS环境下web.config的配置的问题,在IIS7.5中添加配置404页面时遇到了一些问题,记录如下: 一开始在<customError>下的<error>节点配置404不起作用,由于程序运行在IIS7.5集成模式下,经过MSDN和GOOGLE,发现需要在<system.webServer>节点中配置. 我们知道<system.web>节点是iis7.0之

关于IIS7.5下的web.config 404 配置的一些问题

本文介绍一个关于IIS环境下web.config配置的经验问题.在IIS7.5中添加配置404页面时遇到了一些问题,记录如下: 一开始在<customError>下的<error>节点配置404不起作用,由于程序运行在IIS7.5集成模式下,经过MSDN和GOOGLE, 发现需要在<system.webServer>节点中配置, 我们知道<system.web>节点是iis7.0之前版本的主要配置节点,由于在II7.0以后IIS管 道处理与ASP.NET管道

.net 配置文件web.config详解

.net 提供的是针对当前机器的配置.---名称:machine.config 运行机制:asp.net网站IIS启动的时候会加载配置文件中的配置信息,然后缓存这些信息,这样就不必每次去读取配置信息.在运行过程中asp.net应用程序会监视配置文件的变化情况,一旦编辑了这些配置信息,就会重新读取这些配置信息并缓存. 配置文件节点:   必须明白: web.config文件是一个XML文件   所隶属根节点的名称: 复制代码 代码如下: <configuration>          子节点:

ASP.NET配置文件Web.config 详细解释

一.认识Web.config文件 Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中.当你通过VB.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的   Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置.如果你想修改子目录的配置设置,你可以在该子目录下新建一个Web.config文件.它可以提供除从

配置文件Web.config

Web.config是个xml文件,configuration(配置)是xml文件的根节点,所有的节点都在这个节点之内.里边还有其他自定义的节点.下边说几个常见的,再给大家推荐一个链接. 1.<configSections>节点下包括sectionGroup和section <--section:定义配置节处理程序与配置元素之间的关联.sectionGroup:定义配置节处理程序与配置节之间的关联.--> 2.<appSettings> <--appSetting

iis7 发布mvc3 遇到的HTTP错误 403.14-Forbidden Web 服务器被配置为不列出此目录的内容及Login on failed for &quot;IIS APPPOOL\ASP.NET v4.0&quot;问题

问题1: 发布mvc3报错:403.14-Forbidden Web 服务器被配置为不列出此目录的内容 折腾了半天,提示里面的解决方法是: 如果不希望启用目录浏览,请确保配置了默认文档并且该文件存在. 使用 IIS 管理器启用目录浏览. 打开 IIS 管理器. 在“功能”视图中,双击“目录浏览”. 在“目录浏览”页上,在“操作”窗格中单击“启用”. 确认站点或应用程序配置文件中的 configuration/system.webServer/[email protected] 特性被设置为 Tr

将数据保存在web.config配置文件中,及如何获取config配置文件中的数据

<1> 有的数据需要写到配置文件中的.我们就尽量写到配置文件中来.比如经常变动的数据 ,或者用户时候的时候只要改改配置文件就可以了用了的值,如:ip地址.端口号,MD5加盐.等等.我们可以将这些值写入到web.config文件中来.在webForm.aspx.cs页面,或者其他页面去获取这个值就可以了 注意是在<appSettings></appSettings>文件中进行配置. <?xml version="1.0" encoding=&qu

iis7 发布mvc 遇到的HTTP错误 403.14-Forbidden Web 服务器被配置为不列出此目录的内容

iis 7上发布mvc报错:403.14-Forbidden Web 服务器被配置为不列出此目录的内容 提示里面的解决方法是: 如果不希望启用目录浏览,请确保配置了默认文档并且该文件存在. 使用 IIS 管理器启用目录浏览. 打开 IIS 管理器. 在“功能”视图中,双击“目录浏览”. 在“目录浏览”页上,在“操作”窗格中单击“启用”. 确认站点或应用程序配置文件中的 configuration/system.webServer/[email protected] 特性被设置为 True. 按照

如何对web.config进行加密和解密

在WEB网站开发过程中,如果我们将数据库连接字符串封装到.DLL文件中,将会给数据库和程序的迁移带来麻烦,因为万一服务器地址或者数据库发生变更,那么我们就不得不修改源程序并重新将其编译.更好的解决方法是将数据库连接字符串写入到web.config配置文件中,可问题是将连接字符串写入到web.config文件中之后,任何人都能打开看到所连接的数据库名和密码,又会带来安全隐患,因此为了保证数据库的安全性,我们可以通过使用微软IDE自带的命令aspnet_regiis.exe将配置文件web.conf