zoukankan      html  css  js  c++  java
  • ASP.net 配置http://blog.sina.com.cn/s/blog_4a93ccea0100cx9v.html

    ASP.NET项目配置和优化

     

     

    1.通过Web.Config文件实现

    2.如何配置Web.Config文件:

    (1)配置ASP.NET身份验证  <authentication mode="?">

    mode="Windows"(IIS根据应用程序设置执行身份验证,IIS必须禁止匿名访问)

    mode="Forms"(窗体登录身份验证,用户身份标记存储于Cookie对象中)

    mode="PassPort"(通过Microsoft的集中身份验证服务执行,为站点提供不同用户访问此应用程序资源)

    mode="None" (不执行身份验证)

    例如:当没有登录的用户访问需要身份验证的网页时,网页自动跳转到登录页面,其中loginUrl是登录页面名称,name是Cookie名称。

    <authentication mode="Forms"><forms loginUrl="login.aspx" name=".FormsAuthCookie"/></authentication>

     

    (2)控制对URL资源的客户端访问(如允许匿名用户访问) <authorization>

    【注意】必须与<authentication>配合使用,也可以使用user.identity.name来获取已经通过验证的当前用户名,可以使用web.Security.FormsAuthentication.RedirectFormLoginPage方法将已经验证的用户重定向到用户刚请求的页面。

    例如:禁止匿名用户的访问:(允许则用allow

    <authorization><deny user="?"/></authorization>

     

    (3)配置ASP.NET使用的所有编译设置 <compilation>

    <compilation DefaultLanguage="VB.NET/C#"> 默认使用后台代码的语言

    <compilation Debug="true/false">调式程序:True表示将启动ASPX调试;False可以提高应用程序的运行性能,不过建议在程序开发调试时,设置为“True”;交于客户使用则设置为“False”

     

    (4)为ASP.NET应用程序提供有关自定义错误信息的信息 <customErrors mode="?">

    【注意】它不适用于XML Web Services中发生的错误

    <customErrors mode="On">表示一直显示自定义信息

    <customErrors mode="Off">表示一直显示详细的ASP.NET错误信息

    <customErrors mode="RemoteOnly">只对不在本地WEB服务器上运行的用户(远程用户)显示自定义信息

    例如:当错误发生时将网页跳转到自定义的错误页面。

    <customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly"></customErrors>

     

    (5)配置ASP.NET HTTP运行库的设置 <httpRuntime>

    例如:指定用户上传文件最大为4MB,最长时间为60s,最多请求数为100.

    <httpRuntime maxRequestLength="4096" executionTimeout="60" appRequestQueueLimit="100">

     

    (6)配置用于标识特定页设置(如是否启用会话状态、视图状态、是否检测用户输入等) <pages>

    例如:不检测用户在浏览器输入的内容中是否存在潜在危险数据,在客户端返回页时检查加密的视图状态,以验证视图状态是否已在客户端被篡改。

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

     

    (7)配置当前应用程序会话状态(是否启用会话状态、会话状态保存位置等等) <sessionState>

    <sessionState Mode="Off/InProc/StateServer/SqlServer">Off禁用会话状态、InProc工作进程自身存储会话状态、StateServer将会话信息存储在一个单独的ASP.NET状态服务中、SqlServer将会话信息存储在SQL server数据库中。

    <sessionState StateConnectionString="?">存储远程会话状态的服务器名,默认为本地。

    <sessionState Cookieless="True/False">True表示不使用Cookie会话标识客户,False表示启动Cookie会话状态。

    <sessionState SqlConnectionString="数据库连接字符串">设置SQL Server数据库连接

    <sessionState Timeout="20">设置会话时间,超过期限会自动中断会话,默认设置为20(分钟)

    例如:存储在本地且用户浏览器不支持Cookie时启用会话状态,会话处于空闲状态的分钟数为20分钟

    <sessionState mode="InProc" cookieless="true" timeout="20"/></sessionState>

     

    (8)配置ASP.NET的跟踪服务 <trace>

    判断程序测试哪里出错

    例如:程序不启用跟踪,在服务器上存储的跟踪请求数为10,只能通过跟踪实用工具访问跟踪输出,处理跟踪的时间顺序来显示跟踪信息,跟踪查看器(trace.axd),只用于当地Web服务器。

    <trace enable="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true"/>

     

    (9)自定义Web.config文件配置:

    例如:

    <configuration>

    <configSections>  //声明配置节的名称和配置版权信息

    <section name="appSettings" type="System.Configuration.NameValueFileSectionHandler,System,Version=1.0.3300.0,Culture=netural,PublicKeyToken=b77a5c561934e089"/>

    </configSections>

    <appSettings>  //实际配置设置

    <add key="ss" value="server=a;database=northwind;uid=sa;pwd=111"/>

    </appSettings>

    <system.web>

    ....

    </system.web>

    </configuration>

     

    如何来调用上面的数据库连接?

    protected static string Isdebug=ConfigurationSettings.AppSettings["debug"]

     

    3.比较常用的一些web配置:

    <!--禁用客户端验证-->

    <pages validateRequest="false"/>

     

    <!--上传文件大小,最大大小200M-->

    <httpRuntime exection Timeout="9999" maxRequestLength="204800" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100"/>

     

    <!--SqlServer数据库连接字符串配置-->

    <connectionStrings>
      <add name="连接字符串名" connectionString="Data Source=服务器名;Integrated Security=SSPI;Initial Catalog=数据库名;"/>
      <add name="连接字符串名" connectionString="Data Source=.(本地服务器名);Initial Catalog=数据库名;User ID=Sql Server用户名;Password=Sql Server密码" providerName="System.Data.SqlClient"/>
     </connectionStrings>

  • 相关阅读:
    100道MySQL数据库经典面试题解析(收藏版)
    input()函数的进阶用法
    MySQL数据库面试题(2020最新版)
    mysql 1418错误_MySQL 错误1418 的原因分析及解决方法
    使用pymysql循环删除重复数据,并修改自增字段偏移值
    字典get方法和setdesault方法,统计message中各元素的出现频次
    Python中字典get方法的使用技巧
    collections模块
    python的30个编程技巧
    SQL中where与having的区别
  • 原文地址:https://www.cnblogs.com/si812cn/p/1609284.html
Copyright © 2011-2022 走看看