ASP.NET web.config 配置节点详解(3)

  从上面的配置中可以看出,针对*.mdf、*.ldf文件的Get或者Post请求都会交给 System.Web.HttpForbiddenHandler来处理,处理的结果就是用户不能查看或者下载相关的文件。如果我们某个文件夹下的文件或 者某个类型的文件不允许用户下载,可以在</httpHandlers>节点中增加相应的子节点。
  下面我们以一个例子来说明<httpHandlers>节点的用法,在我们的asp.net应用程序中建立一个IPData目录,在IPData目录中创建一个IPData.txt文件,然后在Web.config中添加以下配置:

<httpHandlers> <add path="IPData/*.txt" verb="*" type="System.Web.HttpForbiddenHandler"/> </httpHandlers>

(九)<httpRuntime>节点

  <httpRuntime>节点用于对 ASP.NET HTTP 运行库设置。该节可以在计算机、站点、应用程序和子目录级别声明。
例如下面的配置控制用户最大能上传的文件为40M(40*1024K),最大超时时间为60秒,最大并发请求为100个

<httpRuntime maxRequestLength="40960" executionTimeout="60" appRequestQueueLimit="100"/>

(十)<pages>节点

  <pages>节点用于表示对特定页设置,主要有三个属性,分别如下:
  buffer 是否启用了 HTTP 响应缓冲。
  enableViewStateMac 是否应该对页的视图状态运行计算机身份验证检查 (MAC),以放置用户篡改,默认为false,如果设置为true将会引起性能的降低。
  validateRequest  是否验证用户输入中有跨站点脚本攻击和SQL注入式漏洞攻击,默认为true,如果出现匹配情况就会发HttpRequestValidationException 异常。对于包含有在线文本编辑器页面一般自行验证用户输入而将此属性设为false。

<pages buffer="true" enableViewStateMac="true" validateRequest="false"/>

(十一)<sessionState>节点

  <sessionState>节点用于配置当前asp.net应用程序的会话状态配置。以下就是一个常见配置:

<sessionState cookieless="false" mode="InProc" timeout="30" />

  上面的节点配置是设置在asp.net应用程序中启用Cookie,并且指定会话状态模式为在进程中保存会话状态,同时还指定了会话超时为30分钟。
  <sessionState>节点的Mode属性可以是以下几种值之一:
  Custom 使用自定义数据来存储会话状态数据。
  InProc 默认值。由asp.net辅助进程来存储会话状态数据。
  Off 禁用会话状态。
  SQLServer 使用进程外SQL Server数据库保存会话状态数据。
  StateServer 使用进程外 ASP.NET 状态服务存储状态信息。
  一般默认情况下使用InProc模式来存储会话状态数据,这种模式的好处是存取速度快,缺点是比较占用内存,所以不宜在这种模式下存储大型的用户会话数据

(十二)<globalization>节点

  用于配置应用程序的全球化设置。此节点有几个比较重要的属性,分别如下:
  fileEncoding 可选属性。设置.aspx、.asmx 和 .asax 文件的存储编码。
  requestEncoding 可选属性。设置客户端请求的编码,默认为UTF-8.
  responseEncoding 可选属性。设置服务器端响应的编码,默认为UTF-8.
  以下就是asp.net应用程序中的默认配置:

<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8"/>

(十三)web.config文件读写

public void SetAppSetting(string key, string value) { AppSettingsSection appSetting = (AppSettingsSection)config.GetSection("appSettings"); if (appSetting.Settings[key] == null)//如果不存在此节点,则添加 { appSetting.Settings.Add(key, value); } else//如果存在此节点,则修改 { appSetting.Settings[key].Value = value; } }

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjysdd.html