陈斌彬的技术博客

Stay foolish,stay hungry

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" />

自定义错误

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

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

    • On . 指定启用自定义错误。 如果未指定 defaultRedirect 特性,用户将看到一般性错误。 会向远程客户端和本地主机显示自定义错误。
    • Off . 指定禁用自定义错误。 会向远程客户端和本地主机显示详细的 ASP.NET 错误。
    • RemoteOnly . 指定仅向远程客户端显示自定义错误并且向本地主机显示详细的 ASP.NET 错误。 这是默认值。
  • defaulRedirect . 指定出错时将浏览器定向到的默认 URL。 如果未指定该特性,则显示一般性错误。
  • redirectMode . 指定当显示自定义错误页面时,如何处理原始请求的 URL 的值。

身份验证和角色

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 不是必需的。

连接字符串

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

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

修改配置文件

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

  • 通过使用文本编辑器或 XML 编辑器来更改配置文件。

  • 在 IIS 6 中,使用 ASP.NET MMC 管理单元。 可从网站属性对话框启动 MMC 管理单元。

配置文件层次结构

所有 .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 文件。 此文件包含应用于该子目录及其子级(如果有)的设置。

部署配置文件

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

网址:

https://msdn.microsoft.com/zh-cn/library/ff400235(VS.100).aspx