• 重温ASP.NET的配置信息(简单、常用)


    (转载自:http://www.cnblogs.com/Kevin-moon/archive/2009/01/22/1379789.html)

         ASP.NET中的配置文件由web.config和machine.config构成。
         每当我们安装net framework的时候,machine.config文件都会被创建到"C:\WINDOWS\Microsoft.NET\Framework\[Version]\CONFIG"文件夹下,并且每个Web应用程序都会继承这些配置信息,同时我们也可以通过Web应用程序中的web.config文件来覆盖它。
         在Web应用程序中,我们依然可以在每个子文件夹中去建立web.config,并用它来覆盖上层的配置。如下图:

    Web.config中常用的配置信息


    <authentication>
         被用于,当客户端向服务器发送请求的时候,服务器需要去验证客户端的身份,我们可以设定"None"、"Forms"、"Windows"、"Passport"这四种验证方式。
         1、如果你不需要验证身份,可以设定:<anthentication mode="none" >
         2、一般情况下,我们使用"windows"验证,<anthentication mode="Windows" >,这种验证方式是通过IIS来处理的,IIS给我们下面几种验证模式去选择,

         3、表单验证这种验证方式是Web应用程序来处理。
              <anthentication mode="Forms" >
                   <Forms name = "form1"  LoginUrl = "login.aspx">
              </anthentication>
         4、Passport验证,客户端通过Microsoft的Passport数据库来验证的,优点是你可以拥有一个已存在的验证信息,而不需要去做注册用户名这些动作,不过它是收费的...!如果你要用这种验证方式,你需要在你的电脑上安装Passport Software Development Kit。
              <anthentication mode="Passport" >
                   <Passport redirectUrl = "interanlUrl">
              </anthentication>

    <authorization>
          控制客户端对服务器URL的访问
              <anthorization>
                   <allow users = "" roles="" verbs = "">
                   <deny users = "" roles="" verbs = "">

              </anthorization>       
          users:用户名列表,roles:角色列表,verbs:请求的方式(GET,POST)

    <compilation>
         配置 ASP.NET 用于编译应用程序的所有编译设置。其中最常用的就是debug(是否应编译调试二进制文件)和defaultLanguage(在动态编译文件中使用的默认编程语言),

    <customerErrors>
         设置Web应用程序的异常信息,当应用程序出现异常的时候,可以通过设定这个来给用户一个友好的异常信息。
              <customerErrors defaultRedirect="..." mode = "on">
                   <error statusCode="403" redirectUrl="..." />
                   <error statusCode="404" redirectUrl="..." />

              </customerErrors>       
         "on":指定启用自定义错误。如果未指定 defaultRedirect,用户将看到一般性错误。 
         "off":指定禁用自定义错误。这允许显示标准的详细错误。
         "remoteOnly":指定仅向远程客户端显示自定义错误并且向本地主机显示 ASP.NET 错误。这是默认值。

    <globalization>
         用于设置应用程序的编码格式和语言环境
         <globalization requestEncoding="utf-8" responseEncoding="utf-8" />     

    <httpRuntime>
         用于设定应用程序运行时的一些信息
         <httpRuntime appRequestQueueLimit="50" executionTimeout="300" /> 
         "appRequestQueueLimit":服务器中请求队列的最大限制数量,如果超过这个最大值,服务器会返回503错误(服务器太忙)
         "executionTimeout":处理一个请求的超时限制。

    <trace>
         跟踪应用程序的执行,我们有两种跟踪级别:页面级别和应用程序级别,应用程序级别对所有的页面都会进行跟踪,如果pageOutput="true",那么跟踪信息将显示在每个页面的底部,我们也可以到应用程序的根目录下,找trace.axd去看跟踪日志。
       <trace enabled="false" requestLimit="10" pageOutput="true" traceMode="sortBytime" localOnly ="true" />
       如果我们只希望在页面级别上面的话,只需要在每页上设置trace="true"就可以了。

    <identity>

         配置 Web 应用程序的标识
         <identity impersonate="false" username="..." password="..." />
         "impersonate":是否对每个请求使用客户端模拟。

    <sessionState>
         设置服务器如何去保存session,session有五种方式:
         1、Inpro:默认的方式,在应用程序的进程上保存session。
         2、StateServer:将session保存在aspnet_state进程上面,它独立与应用程序进程,可以在同一服务器也可以用专门一台服务器。
         3、SQLServer:将session保存在SqlServer数据库中,不过在使用它之前需要安装InstallSQLState.sql脚本,

         4、自定义的保存方式,通过重写SessionStateStoreProviderBase基类来实现自己的保存方式,

         5、不启用Session

    <appSetting>
         设置一些需要在应用程序中用到键/值信息
         <appSetting>
              <add key="..." value="..." />
         </appSetting>

    加密配置文件
          当你的配置文件中有一些敏感信息的时候,你也许希望对其中的内容进行加密。
         ASP.NET中有两种支持的加密方式:RSA和DPAPI。同时我们对如何进行加密,也有两种方式。
         1、程序方式
            Configuration myConfig = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
            ConfigurationSection mySettings 
    = myConfig.GetSection("mySection"
    );
            
    if
     (mySettings.SectionInformation.IsProtected)
            {
                mySettings.SectionInformation.UnprotectSection();
            }
            
    else

            {
                mySettings.SectionInformation.ProtectSection(
    "DataProtectionConfigurationProvider"); ;
            }
            myConfig.Save();
         2、命令行的方式
         我们可以用命令行工具aspnet_regiis.exe去对config文件进行加密,当你使用这种方式进行加密的时候,你需要去设置一些参数:
         "-pe":config文件中的配置节
         "-app":应用程序的相对路径
         "-prov":加密的提供程序
     例如,我们对http://localhost/MyApp下的配置文件进行加密

  • 相关阅读:
    hangfire 本地可以正常打开hangfire页面,发布后报401
    core 引用webservice
    ABP自带原框架生成使用
    ABP框架问题排查记录
    转-image js binary
    贪心算法
    动态规划-练习
    分治算法-快速,归并
    ECMAScript5的新特性
    css-动画
  • 原文地址:https://www.cnblogs.com/llbofchina/p/1596860.html
Copyright © 2020-2023  润新知