ASP.NET Web 配置指南

利用 ASP.NET,可以指定影响服务器上的所有 Web 应用程序、仅影响单个应用程序、影响个别页面、或影响 Web 应用程序中的个别文件夹的配置设置。 可以对编译器选项、调试、用户身份验证、错误消息显示、连接字符串等功能进行配置设置。

配置数据存储在名为 Web.config 的 XML 文件中。

本主题将介绍您可在 Web.config 文件中进行的主要配置设置。 本主题包含以下各节:

配置文件分组到包含各个功能的设置的各节。

编译

为了使用应用程序为 Web 请求提供服务,ASP.NET 必须首先将应用程序编译成一个或多个程序集。

可以使用 compilation 配置节来配置 ASP.NET 要编译 Web 应用程序所需的设置。 下面是可以指定的一些特性:

  • debug . 在开发阶段,可以将 debug 特性设置为 true,以生成调试过程中所需的符号。 在开发周期结束时,将 debug 特性设置为 false,以便优化性能。

  • targetFramework . 此特性指定网站的目标 .NET Framework 的版本。 应仅针对面向 .NET Framework 4 及更高版本的网站包含此特性。 Visual Studio 使用此特性来确保您的项目只使用目标框架版本中可用的功能。 有关更多信息,请参见针对 ASP.NET Web 项目的 .NET Framework 多目标功能

以下示例演示如何在 compilation 节中指定配置设置。 配置设置指定应生成调试符号,必须重新编译已更改的文件,并且目标版本为 .NET Framework 4。

<compilation debug="true" 
    optimizeCompilations="true" 
    targetFramework="4.0" />

有关更多信息,请参见 compilation 元素(ASP.NET 设置架构) 有关编译的信息,请参见 ASP.NET 编译概述

自定义错误

可以配置在执行 Web 请求期间发生未处理的错误时,ASP.NET 显示信息的方式。 您可能会执行此操作来向用户提供其他信息,或自定义由 ASP.NET 显示的标准信息。 下面是可以指定的一些特性:

  • mode . 指定是启用还是禁用自定义错误,或者在服务器自身之外的计算机上查看错误时,禁用详细错误消息。 可以将 mode 设置为以下值:

    • On . 指定启用自定义错误。 如果未指定 defaultRedirect 特性,用户将看到一般性错误。 会向远程客户端和本地主机显示自定义错误。

    • Off . 指定禁用自定义错误。 会向远程客户端和本地主机显示详细的 ASP.NET 错误。

    • RemoteOnly . 指定仅向远程客户端显示自定义错误并且向本地主机显示详细的 ASP.NET 错误。 这是默认值。

  • defaulRedirect . 指定出错时将浏览器定向到的默认 URL。 如果未指定该特性,则显示一般性错误。

  • redirectMode . 指定当显示自定义错误页面时,如何处理原始请求的 URL 的值。

以下示例演示如何配置错误处理。 这些设置指定仅在远程客户端计算机上显示自定义错误。 在发生未指定的错误时显示 GenericErrorPage.htm 页。 如果在用户请求由 ASP.NET 管理的资源时发生 HTTP 403(禁止)或 HTTP 404(未找到)错误,则显示 NoAccess.htm 页和 FileNotFound.htm 页。

<customErrors mode="RemoteOnly"     
    defaultRedirect="GenericErrorPage.htm">
  <error statusCode="403" redirect="NoAccess.htm" />
  <error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>

有关更多信息,请参见 customErrors 元素(ASP.NET 设置架构)

身份验证和角色

ASP.NET 可对网站用户的凭据(如名称和密码)进行身份验证。 通过在 authentication 配置节中使用 mode 特性,可为您的应用程序指定身份验证方案。 默认为 Windows 身份验证,其中 Windows 用户的帐户信息用于进行身份验证。 这可以是 Intranet 用户的有效选项。 如果是 Internet 用户,则必须使用不同的方案,如 ASP.NET 表单身份验证。

以下示例指定使用 Windows 身份验证方案对网站用户进行身份验证:

<authentication mode="Windows"/>

身份验证配置节提供各种基于角色配置用户身份验证规则的方法。

有关更多信息,请参见下列主题:

IIS 7 和 ASP.NET Ajax

system.webServer 配置节定义应用于 Web 应用程序的 IIS 7.0 设置。 此节是在 Internet Information Services (IIS) 7 下运行 ASP.NET Ajax 所必需的。 对于早期版本的 IIS 不是必需的。

有关更多信息,请参见如何:为 IIS 7.0 配置 <system.webServer> 节

连接字符串

connectionStrings 配置节指定数据库连接字符串的集合。 以下示例演示如何指定连接字符串。 这些设置指定连接字符串名称、承载数据库的服务器、数据库的名称以及用于访问数据库的用户凭据。

<connectionStrings>
  <add name="Sales" 
       connectionString=
         "server=myserver;database=Products;
         uid=<user name>;pwd=<secure password>" />
</connectionStrings>

有关更多信息,请参见 connectionStrings 元素(ASP.NET 设置架构) 有关访问数据源的更多信息,请参见 ASP.NET 数据访问概述

使用 Visual Studio 2010 新建网站项目或 Web 应用程序项目时,将在新项目中包括 Web.config 文件。 可以通过以下方式创建或修改配置设置:

有关修改配置设置的更多信息,请参见编辑 ASP.NET 配置文件

还可通过使用 ASP.NET 配置 API,以编程方式创建和修改配置设置。 有关更多信息,请参见 ASP.NET 配置 API

所有 .NET Framework 应用程序都从用于服务器范围内的配置设置的 Machine.config 文件继承基本配置设置和默认设置。 这些设置应用于所有在该服务器上运行的 .NET Framework 应用程序(包括 ASP.NET 应用程序)。

ASP.NET 配置层次结构的根是 Web.config 文件,该文件与 Machine.config 文件位于同一个目录中。 根 Web.config 文件继承 Machine.config 文件中的所有设置。 包括应用于所有运行某一具体版本的 .NET Framework 的 ASP.NET 应用程序的设置。

由于每个 ASP.NET 应用程序都从根 Web.config 文件继承默认配置设置,因此只需为要重写的设置创建 Web.config 文件。 可以创建以下 Web 配置文件:

  • 特定 ASP.NET 应用程序的 Web.config 文件。 此文件位于应用程序的根目录中,并且包含应用于该 Web 应用程序的设置。 此文件中的设置由应用程序中的任意子目录继承。

  • 应用程序子目录的 Web.config 文件。 此文件包含应用于该子目录及其子级(如果有)的设置。

使用此层次结构,可以在适当的目录级别设置应用程序的配置详细信息,而不影响较高级别的配置设置。 有关更多信息,请参见 ASP.NET 配置文件层次结构和继承

部署网站时,您通常希望已部署的应用程序的 Web.config 中的某些设置不同于开发 Web.config 文件中的设置。 例如,在生产服务器上,您可能希望禁用调试选项,并更改连接字符串以使其指向不同的数据库。 对于 Web 应用程序项目,可以创建在部署过程中自动应用的 Web.config 转换文件,以便更改 Web.config 文件的已部署版本。

有关 Web 应用程序项目与网站项目之间的差异的信息,请参见 Web 应用程序项目与网站项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值