返回首页
当前位置: 主页 > 互联网技术 > 网络安全 >

ASP.NET-配置

时间:2020-04-24 15:01来源:电脑教程学习网 www.etwiki.cn 编辑:小山哥

ASP.NET应用程序的行为会受到配置文件中不同设置的影响:

  • machine.config
  • web.config

machine.config文件包含所有受支持设置的默认值和特定于机器的值。机器设置由系统管理员控制,通常不授予应用程序对此文件的访问权限。

但是,应用程序可以通过在其根文件夹中创建web.config文件来覆盖默认值。web.config文件是machine.config文件的子集。

如果应用程序包含子目录,则可以为每个文件夹定义一个web.config文件。每个配置文件的范围以自上而下的分层方式确定。

任何web.config文件都可以在本地扩展,限制或覆盖上级定义的任何设置。

Visual Studio为每个项目生成一个默认的web.config文件。没有web.config文件就可以执行应用程序,但是,没有web.config文件就不能调试应用程序。

下图显示了Web服务教程中使用的示例示例的解决方案资源管理器:

解决方案资源管理器2

在此应用程序中,有两个项目的两个web.config文件,即Web服务和调用Web服务的网站。

web.config文件具有配置元素作为根节点。该元素内部的信息分为两个主要区域:配置部分处理程序声明区域和配置部分设置区域。

以下代码段显示了配置文件的基本语法:

<configuration>

   <!-- Configuration section-handler declaration area. -->
      <configSections>
         <section name="section1" type="section1Handler" />
         <section name="section2" type="section2Handler" />
      </configSections>
   <!-- Configuration section settings area. -->
   
   <section1>
      <s1Setting1 attribute1="attr1" />
   </section1>
   
   <section2>
      <s2Setting1 attribute1="attr1" />
   </section2>
   
   <system.web>
      <authentication mode="Windows" />
   </system.web>
   
</configuration>

配置节处理程序声明

配置节处理程序包含在<configSections>标记内。每个配置处理程序都指定文件中包含的配置节的名称,该节提供一些配置数据。它具有以下基本语法:

<configSections>
   <section />
   <sectionGroup />
   <remove />
   <clear/>
</configSections>

它具有以下元素:

  • 清除 -删除对继承的节和节组的所有引用。

  • 删除 -删除对继承的节和节组的引用。

  •  -它定义配置节处理程序和配置元素之间的关联。

  • 节组 -定义配置节处理程序和配置节之间的关联。

应用程序设置

应用程序设置允许存储应用程序范围的名称/值对,以进行只读访问。例如,您可以将自定义应用程序设置定义为:

<configuration>
   <appSettings>
      <add key="Application Name" value="MyApplication" /> 
   </appSettings>
</configuration>

例如,您还可以存储一本书的名称及其ISBN号:

<configuration>
   <appSettings>
      <add key="appISBN" value="0-273-68726-3" />
      <add key="appBook" value="Corporate Finance" />
   </appSettings>
</configuration>

连接字符串

连接字符串显示网站可以使用哪些数据库连接字符串。例如:

<connectionStrings>
   <add name="ASPDotNetStepByStepConnectionString" 
      connectionString="Provider=Microsoft.Jet.OLEDB.4.0;
      Data Source=E:\\projects\datacaching\ /
      datacaching\App_Data\ASPDotNetStepByStep.mdb"
      providerName="System.Data.OleDb" />
      
   <add name="booksConnectionString" 
      connectionString="Provider=Microsoft.Jet.OLEDB.4.0;
      Data Source=C:\ \databinding\App_Data\books.mdb"
      providerName="System.Data.OleDb" />
</connectionStrings>

System.Web元素

system.web元素指定ASP.NET配置节的根元素,并包含配置ASP.NET Web应用程序并控制应用程序行为的配置元素。

它包含大多数在常见应用中需要调整的配置元素。元素的基本语法如下:

<system.web> 
   <anonymousIdentification> 
   <authentication> 
   <authorization> 
   <browserCaps> 
   <caching> 
   <clientTarget> 
   <compilation> 
   <customErrors> 
   <deployment> 
   <deviceFilters> 
   <globalization> 
   <healthMonitoring> 
   <hostingEnvironment> 
   <httpCookies> 
   <httpHandlers> 
   <httpModules> 
   <httpRuntime> 
   <identity> 
   <machineKey> 
   <membership> 
   <mobileControls> 
   <pages> 
   <processModel> 
   <profile> 
   <roleManager> 
   <securityPolicy> 
   <sessionPageState> 
   <sessionState> 
   <siteMap> 
   <trace> 
   <trust> 
   <urlMappings> 
   <webControls> 
   <webParts> 
   <webServices> 
   <xhtmlConformance> 
</system.web>

下表简要介绍了system.web元素的一些常见子元素

匿名识别

这是识别需要授权时未经身份验证的用户所必需的。

认证方式

它配置身份验证支持。基本语法如下:

<authentication mode="[Windows|Forms|Passport|None]"> 
   <forms>...</forms>
   <passport/>
</authentication>

授权书

它配置授权支持。基本语法如下:

<authorization> 
   <allow .../>
   <deny .../>
</authorization>

快取

它配置缓存设置。基本语法如下:

<caching>
   <cache>...</cache>
   <outputCache>...</outputCache>
   <outputCacheSettings>...</outputCacheSettings>
   <sqlCacheDependency>...</sqlCacheDependency>
</caching>

CustomErrors

它定义了自定义错误消息。基本语法如下:

<customErrors defaultRedirect="url" mode="On|Off|RemoteOnly">
   <error. . ./>
</customErrors>

部署方式

它定义了用于部署的配置设置。基本语法如下:

<deployment retail="true|false" />

托管环境

它定义了托管环境的配置设置。基本语法如下:

<hostingEnvironment idleTimeout="HH:MM:SS" shadowCopyBinAssemblies="true|false" 
   shutdownTimeout="number" urlMetadataSlidingExpiration="HH:MM:SS" />

身分识别

它配置应用程序的身份。基本语法如下:

<identity impersonate="true|false" userName="domain\username"
   password="<secure password>"/>

机器钥匙

它配置密钥以用于Forms身份验证cookie数据的加密和解密。

它还允许配置验证密钥,该验证密钥对视图状态数据执行消息身份验证检查并形成身份验证票证。基本语法为:

<machineKey validationKey="AutoGenerate,IsolateApps" [String]
   decryptionKey="AutoGenerate,IsolateApps" [String]
   validation="HMACSHA256" [SHA1 | MD5 | 3DES | AES | HMACSHA256 | 
   HMACSHA384 | HMACSHA512 | alg:algorithm_name]
   decryption="Auto" [Auto | DES | 3DES | AES | alg:algorithm_name]
/>

会员资格

这将配置用于管理和验证用户帐户的参数。基本语法为:

<membership defaultProvider="provider name"
   userIsOnlineTimeWindow="number of minutes" hashAlgorithmType="SHA1">
   <providers>...</providers>
</membership>

页数

它提供页面特定的配置。基本语法为:

<pages asyncTimeout="number" autoEventWireup="[True|False]"
      buffer="[True|False]" clientIDMode="[AutoID|Predictable|Static]"
      compilationMode="[Always|Auto|Never]" 
      controlRenderingCompatibilityVersion="[3.5|4.0]"
      enableEventValidation="[True|False]"
      enableSessionState="[True|False|ReadOnly]"
      enableViewState="[True|False]"
      enableViewStateMac="[True|False]"
      maintainScrollPositionOnPostBack="[True|False]" 
      masterPageFile="file path" 
      maxPageStateFieldLength="number" 
      pageBaseType="typename, assembly"
      pageParserFilterType="string" 
      smartNavigation="[True|False]"
      styleSheetTheme="string"
      theme="string"
      userControlBaseType="typename"
      validateRequest="[True|False]"
      viewStateEncryptionMode="[Always|Auto|Never]" >
   
   <controls>...</controls>
   <namespaces>...</namespaces>
   <tagMapping>...</tagMapping>
   <ignoreDeviceFilters>...</ignoreDeviceFilters>
</pages>

轮廓

它配置用户配置文件参数。基本语法为:

<profile enabled="true|false" inherits="fully qualified type reference"
   automaticSaveEnabled="true|false" defaultProvider="provider name">
   
   <properties>...</properties>
   <providers>...</providers>
   
</profile>

角色管理器

它配置用户角色的设置。基本语法为:

<roleManager cacheRolesInCookie="true|false" cookieName="name"
   cookiePath="/" cookieProtection="All|Encryption|Validation|None"
   cookieRequireSSL="true|false " cookieSlidingExpiration="true|false "
   cookieTimeout="number of minutes" createPersistentCookie="true|false"
   defaultProvider="provider name" domain="cookie domain"> 
   enabled="true|false"
   maxCachedResults="maximum number of role names cached"
   
   <providers>...</providers>
</roleManager>

安全政策

它配置安全策略。基本语法为:

<securityPolicy>
   <trustLevel />
</securityPolicy>

网址映射

它定义了映射以隐藏原始URL并提供更加用户友好的URL。基本语法为:

<urlMappings enabled="true|false">
   <add.../>
   <clear />
   <remove.../>
</urlMappings>

网页控件

它提供客户端脚本的共享位置的名称。基本语法为:

<webControls clientScriptsLocation="String" />

网页服务

这将配置Web服务。

 上一页  打印页面

------分隔线----------------------------
标签(Tag):
------分隔线----------------------------
推荐内容
  • ASP.NET-部署

    ASP.NET部署分为两类: 本地部署 :在这种情况下,整个应用程序都包含在虚拟目录中,...

  • ASP.NET-配置

    ASP.NET应用程序的行为会受到配置文件中不同设置的影响: machine.config web.config ...

  • ASP.NET-多线程

    线程被定义为程序的执行路径。 每个线程定义唯一的控制流。 如果您的应用程序涉及复杂...

  • ASP.NET-Web服务

    Web服务是一种基于Web的功能,使用将由Web应用程序使用的Web协议进行访问。 Web服务开...

  • ASP.NET-数据缓存

    什么是缓存? 缓存是一种将频繁使用的数据/信息存储在内存中的技术,因此,当下次需要...

  • ASP.NET-安全

    在站点中实现安全性具有以下方面: 认证 :这是确保用户身份和真实性的过程。 ASP.NET...

猜你感兴趣