类别:程序开发

日期:2020-11-10 浏览:1630 评论:0

<?xml version="1.0"?>
<!-- 
    注意: 除了手动编辑此文件以外,您还可以使用 
    Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
     “网站”->“Asp.Net 配置”选项。
    设置和注释的完整列表在 
    machine.config.comments 中,该文件通常位于 
    WindowsMicrosoft.NetFramework 2.xConfig 中
-->
<configuration>
    <!--应用程序设置-->
    <connectionStrings>
        <add name="TestTeachConnectionString" connectionString="server=.;database=TestTeach;uid=admin;pwd=admin" providerName="System.Data.SqlClient"/>
    </connectionStrings>
    <appSettings/>
    <system.web>
        <!--通用配置设置-->
        <!--
            executionTimeout:请求超时 单位:秒
            maxRequestLength:请求的最大字节数目(KB)
            useFullyQualifiedRedirectUrl:是否需要发送一个完全的Url
            minFreeThreads:线程池中保证可以使用的线程数目
            minLocalRequestFreeThreads:本地的线程数目
            appRequestQueueLimit:请求队列限制的管理
            -->
        <httpRuntime executionTimeout="90" maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100"/>
        <!--页面配置-->
        <!--
            buffer:发送前是否在服务器上缓存
            enableSessionState:是否启用Session
            enableViewsState:是否启用视图状态
            enableViewsStateMac:是否在机器上使用视图状态
            autoEventWireup:是否自动封装公共的page事件
            smartNavigation:防止页面在回送时候屏幕闪
            pageBaseType:页面的默认基类
            userControlBaseType:用户控件的基类
            validateRequest:检查发送回服务器的内容
            
            -->
        <pages buffer="true" enableSessionState="true" enableViewState="true" enableViewStateMac="false" autoEventWireup="true" smartNavigation="false" pageBaseType="System.Web.UI.Page" userControlBaseType="System.Web.UI.UserControl" validateRequest="true"></pages>
        <!--Session配置-->
        <!--
            stateConnectionString:与远程服务器提供
            stateNetworkTimeout:与远程服务器连接超时的时间(单位:秒)
            sqlConnectionString:数据库连接字符串
            cookies:是否与cookies建立连接
            timeout:Session的时间(单位:分钟)
            备注:
            1.如果需要使用StateServer,需要以下几步
                1.net start aspnet_state       net stop aspnet_state
                2.设置stateConnectionString="tcpip:127.0.0.1:42424" 
                3.如果需要改ip,可以在hkey_local_machine/system/currentcontrolset/services/asp_state/parameters 把AllowRemoteConnection设置为1
                4.如果需要改端口,同上,把port改为自己的端口
            2.如果需要使用sqlserver,需要以下几步
                1.osql.exe
                2.InstallSqlState。sql;UninstallSqlState.sql;InstallPersistSqlState.sql;UninstallPersistSqlState.sql
                3.winntmicrosoft.net ramework[version]  >osql -S localhost -U sa -P <installSqlstate.sql
                4.默认tempDb数据库中
        -->
        <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" stateNetworkTimeout="10" sqlConnectionString="server=.;database=127.0.0.1;uid=sa;pwd=" cookieless="false" timeout="20"></sessionState>
        <!--trace-->
        <!--
            1.requestLimit:每个应用程序高速缓存在内存中的跟踪请求的总数
            2.pageOutput:页面输出----trace.axd
            3.localOnly:只为本地请求启用跟踪
        -->
        <trace enabled="true" requestLimit="10" pageOutput="true" traceMode="SortByTime" localOnly="true"/>
        <!--定制错误-->
        <!--
            1.mode
                1.On:使用用户定义的错误页面
                2.Off:显示页面详细的错误
                3.RemoteOnly:只为访问同一机器上的服务器的用户显示错误页面,其它先检查设置,然后使用defaultRedirect
            2.defaultRedirect:默认的错误页面
            3.定制重定向
                1.statusCode:错误编码
                2.重定向的地址
            
        -->
        <customErrors mode="Off" defaultRedirect="error.aspx">
            <error statusCode="404" redirect="Errors/404.aspx"/>
        </customErrors>
        <!--编译器选项-->
        <!-- 
            debug:是否处于调试模式
            defaultLanguage:默认语言
            tempDirectory:存储dll的目录
            batch:是否支持批编译操作
            batchTimeout:完成批编译的时间(秒)
            maxBatchSize:完成批编译的资源数目(最大1000)
            maxBatchGeneratedFileSize:批编译文件的最大字节数(KB):默认:3000KB
            numRecompilesBeforeAppRestart:允许编译的次数,默认15次
        -->
        <compilation debug="true">
            <assemblies>
                <add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation>
        <!--国际化编码-->
        <!--
            requestEncoding:
            responseEncoding:
            fileEncoding:
            culture:使用文化字符串本地化(auto)
            uiCulture:寻找资源的文化字符串(auto)
        -->
        <globalization requestEncoding="UTF-8" responseEncoding="UTF-8" fileEncoding="UTF-8" culture="auto" uiCulture="auto"/>
        <!--
            通过 <authentication> 节可以配置 ASP.NET 使用的 
            安全身份验证模式,
            以标识传入的用户。 
        -->
        <!--<authentication mode="Forms">
            <forms name=".aspxauth" loginUrl="login.aspx" protection="All" timeout="30" path="/">
                <credentials passwordFormat="SHA1">
                    <user name="" password=""/>
                </credentials>
            </forms>    
        </authentication>-->
        <authentication mode="Windows"></authentication>
    </system.web>
</configuration>

配置文件



(默认的配置设置)以下所有的代码都应该位于 <configuration> 和 </configuration>

之间,为了学习的方便和直观,下面的示例都省略了这段XML标记
1、<authentication> 节
作用:配置ASP.NET身份验证支持(为Windows、Forms、PassPort、None四种)。该元素只能在计算机、站点或应用程序级别声明。 元素必需与 节配合使用。
示例:
以下示例为基于窗体(Forms)的身份验证配置站点,当没有登陆的用户访问需要身份验证的网页,网页自动跳转到登陆网页。
其中元素loginUrl表示登陆网页的名称,name表示Cookie名称
2、 <authorization>节
作用:控制对 URL 资源的客户端访问(如允许匿名用户访问)。该节可以在任何级别(计算机、站点、应用程序、子目录或页)上声明。必需与 节配合使用。
示例:以下示例禁止匿名用户的访问
注:你可以使用user.identity.name来获取已经过验证的当前的用户名;可以使用
web.Security.FormsAuthentication.RedirectFromLoginPage方法将已验证的用户重定向到用户刚才请求的页面.
3、<compilation>节
作用:配置ASP.NET使用的所有编译设置。默认的debug属性为“True”.在程序编译完成交付使用之后应将其设为"False"(Web.config文件中有详细说明,此处省略示例)
4、<customErrors> 节
作用:为ASP.NET应用程序提供有关自定义错误信息的信息。它不适用于 XML Web services 中发生的错误。
示例:当发生错误时,将网页跳转到自定义的错误页面。
其中元素defaultRedirect表示自定义的错误网页的名称。mode元素表示:对不在本地 Web 服务器上运行的用户显示自定义信息。
5、<httpRuntime>节
作用:配置 <cite class="highlight" highlight="true">ASP.NET</cite> HTTP 运行库设置。该节可以在计算机、站点、应用程序和子目录级别声明。
示例:控制用户上传文件最大为4M,最长时间为60秒,最多请求数为100
6、<pages> 节
作用:标识特定于页的配置设置(如是否启用会话状态、视图状态,是否检测用户的输入等)。该节可以在计算机、站点、应用程序和子目录级别声明。
示例:不检测用户在浏览器输入的内容中是否存在潜在的危险数据(注:该项默认是检测,如果你使用了不检测,一要对用户的输入进行编码或验证),在从客户端回发页时将检查加密的视图状态,以验证视图状态是否已在客户端被篡改。(注:该项默认是不验证)
7、<sessionState> 节
作用:为当前应用程序配置会话状态设置(如设置是否启用会话状态,会话状态保存位置)。
示例:
注:
mode="InProc"表示:在本地储存会话状态(你也可以选择储存在远程服务器或SAL服务器中或不启用会话状态)
cookieless="true"表示:如果用户浏览器不支持Cookie时启用会话状态(默认为False)
timeout="20"表示:会话可以处于空闲状态的分钟数
8、<trace>节
作用:配置ASP.NET跟踪服务,主要用来程序测试判断哪里出错。
示例:以下为Web.config中的默认配置:
注:
enabled="false"表示不启用跟踪;requestLimit="10"表示指定在服务器上存储的跟踪请求的数目
pageOutput="false"表示只能通过跟踪实用工具访问跟踪输出;
traceMode="SortByTime"表示以处理跟踪的顺序来显示跟踪信息
localOnly="true" 表示跟踪查看器 (trace.axd) 只用于宿主 Web 服务器

自定义



自定义WeB.CONFIG文件配置

自定义Web.config文件配置节过程分为两步。
一是在在配置文件顶部 和 标记之间声明配置节的名称和处理该节中配置数据的 .NET Framework 类的名称。
二是在 区域之后为声明的节做实际的配置设置。
示例:创建一个节存储数据库连接字符串
<configuration>
<configSections>
<section name="appSettings" type="System.Configuration.NameValueFileSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</configSections>
<appSettings>
<add key="scon" value="server=a;database=northwind;uid=sa;pwd=123"/>
</appSettings>
<system.web>
......
</system.web>
</configuration>

访问



访问WEB.CONFIG文件

你可以通过使用ConfigurationSettings.AppSettings 静态字符串集合来访问 Web.config 文件。
示例:获取上面例子中建立的连接字符串。
vb.net
Dim sconstr As String = System.Configuration.ConfigurationManager.AppSettings("ConnectionString")
c#
string connectionString =System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];

创建



创建WEB.CONFIG文件

1.在“解决方案资源管理器”中,单击“刷新”图标以确认应用程序还没有 Web.config 文件。
如果已使用网站管理工具或某些其他方式来配置应用程序,则可能已自动创建了 Web.config 文件。单击“刷新”更新文件列表。
2.在“解决方案资源管理器”中,右击网站名称,然后单击“添加新项”。
3.在“模板”窗口中,单击“Web 配置文件”。
“名称”文本框中的文件名应为 Web.config。可以为该文件提供其他名称,不过这是默认名称。.config 文件扩展名可防止ASP.NET下载相应文件。
4.单击“添加”创建该文件,然后将其打开进行编辑。
该文件包含本主题后面“示例”部分中显示的代码,并具有一些初始默认值。应用程序从 %SystemRoot%\Microsoft.NET\Framework\<版本>\CONFIG 目录下的 Machine.config 和 Web.config 文件继承所有配置设置,但在此处看不到这些默认设置。如果要重写继承的默认设置或添加 httpHandlers 元素(ASP.NET设置架构) 等集合元素,则只需创建应用程序级别和目录级别的 Web.config 文件。
若要查看当前应用程序的所有配置设置,可以运行主题如何:以编程方式查看继承的配置设置和本地配置设置中包含的代码。也可以查看 %SystemRoot%\Microsoft.NET\Framework\<版本>\CONFIG 目录下的 Machine.config.comments 或 Web.config.comments 文件(这两个文件也包含有用的注释),但这两个文件将不会包含所有运行时设置,请参见如何:以编程方式查看继承的配置设置和本地配置设置。
5.如果更改了 Web.config 文件,则保存该文件。
保存 Web.config 文件会重新启动应用程序。也可以选择使用单个节元素的 configSource 属性指向某个辅助配置文件,更改辅助配置文件不会导致应用程序重新启动。有关更多信息,请参见节元素所继承的常规属性中的 configSource。


本文标题:Web.Config阐释…
本文链接:https://vtzw.com/post/430.html
作者授权:除特别说明外,本文由 零一 原创编译并授权 零一的世界 刊载发布。
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。
 您阅读本篇文章共花了: 

 可能感兴趣的文章

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。