Asp.net Forums 论坛web.config文件详解

原创 2007年09月23日 14:51:00
 

HTML Tags and JavaScript tutorial



Asp.net Forums 论坛web.config文件详解



li>
cary:
StoreProcedure 提供参数时,报错










上一篇: ASP.NET Web 服务还是 .NET Remoting:如何选择
 | 
下一篇: 探索ASP.NET Forum皮肤主题的更换

function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}


 Asp.net Forums 论坛web.config文件详解



<configSections>
  <!-- Initialize the AspNetForums Configuration Handler  -->
  <sectionGroup name="forums">
   <section name="forums" type="AspNetForums.Configuration.ForumsConfigurationHandler, AspNetForums.Components" />
  </sectionGroup>
 </configSections>
里定义了一个配置节处理程序声明(Section),按照规定它们必须出现在配置文件顶部 <configSections> 和 </configSections> 标记之间,在这里,它们只用到了name和type属性,其中,name属性定义了指定配置节的名称,而type属性则规定了指定从配置文件中读取节的配置节处理程序类的名称,有两个部分,前面为处理程序的类名,后面为Assembly名(Assembly必须位于bin目录中)以及版本号,公匙等信息。 
   他们具体表示什么意思呢?比如第一个section,意思就是告诉Asp.Net系统,当在程序中使用System.Configuration.ConfigurationSettings.GetConfig("forums/forums")这个静态方法来读取ApplicationConfiguration配置节的时候,会调用AspNetForums.Configuration.ForumsConfigurationHandler这个类来对这个配置节进行处理
system.web 节 呵,所有asp.net程序都有的这里特别注意的是
 <httpModules>
   <add name="AspNetForums" type="AspNetForums.ForumsHttpModule, AspNetForums.Components" />
  </httpModules>
  <httpHandlers>
   <add verb="GET" path="avatar.aspx" type="AspNetForums.Components.HttpHandler.AvatarHttpHandler, AspNetForums.Components" />
   <add verb="GET" path="vcard.aspx" type="AspNetForums.Components.HttpHandler.VCardHttpHandler, AspNetForums.Components" />
  </httpHandlers>
 当向IIS发出请求时,IIS会把请求转交给asp.net HTTP管道 ,HTTP管道入口是HttpRuntime类的实体 。hTTPRuntime 类实体从内部程序池中选择一个HttpApplication 对像,并且在接收到新的请求时使它工作。Http应用管道程序的主要工作是寻找这样的类实体(处理句柄)使它处理相应的请求。
比如*.aspx通过PageHandlerFactory句柄处理. 实现IIS里的文件后缀名映射功能.
IIS asp.net 处理请求示意图
          客户端请求
                  |
                  |
                 IIS   //交给IIS
                  |
                  |
           W3WP.exe   //asp.net处理进
                  |
                  |                //HttpRuntime  可以理解当前处理实例 
          HttpAppliction  ---------------HttpModule
                  |
                  |
          HttpHandler
IHttpHandler实现了对IIS输入输出的管理和扩展 ,HttpModule接管所有输入输出,查找相符的请求进行处理。
   
 <httpHandlers>节 verd属性,请求类型 可以是get,put,post的任意组合用逗号分隔
path 要处理的程序路径 ,可以是单个URL或通配符
type 实现IhttpHandler的类型
  当向该论坛发出请求时执行顺序如下:
      System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
 System.Web.SyncEventExecutionStep.System.Web.HttpApplication+IExecutionStep.Execute()
AspNetForums.ForumsHttpModule.Application_BeginRequest(Object source, EventArgs e)    //从这里开始交给自写义的HttpModule
 <httpModules>
   <add name="AspNetForums" type="AspNetForums.ForumsHttpModule, AspNetForums.Components" />
  </httpModules>
   http请求会被AspNetForums.ForumsHttpModule接管 ,查看此类型
  其实aspnetforum的初始化工作也是从这里开始的 
  该类型定义
 public class ForumsHttpModule : IHttpModule
 实现 IHttpModule接口  
该接口要实现Init()和Dispose()二个方法
 Init方法中声时的事件:
application.BeginRequest += new EventHandler(this.Application_BeginRequest);
  .............................
当第一个请求时:
事件处理:
 private void Application_BeginRequest(Object source, EventArgs e) {
   
   try {
    HttpApplication application = (HttpApplication)source;
    HttpContext context = application.Context;
    if( application == null
     || context  == null )
     return;
    // Url Rewriting
    //
    RewriteUrl(context);
    // Create the forum context
    //封装自定义的Context
    context.Items.Add("ForumContext", new ForumContext());
    // Capture any pingback information
    //
    CaptureForumPingback();
    // Are the forums disabled?
    //检查是否开启论坛和当前请求是否在本机运行
    if ((Globals.GetSiteSettings().ForumsDisabled) && (HttpContext.Current.Request.Url.Host != "localhost"))  {
  //调用GetConfig()方法
  该方法返回实例化一个ForumConfiguration返回
   当调用 ConfigurationSettings.GetConfig("forums/forums");
 会在配置节查找 <sectionGroup name="forums">
   <section name="forums" type="AspNetForums.Configuration.ForumsConfigurationHandler, AspNetForums.Components" />
  </sectionGroup>
 找到处理类型 
AspNetForums.Configuration.ForumsConfigurationHandler
通过该类型处理
<forums><forums
   defaultProvider="SqlForumsProvider"
   defaultLanguage="zh-CN"
   forumFilesPath="/"
   disableEmail="true"
   disableIndexing="true"
   disableThreading="true"
   threadIntervalStats="15"
   threadIntervalEmail="3"
   passwordEncodingFormat="unicode"
   allowAutoUserRegistration="false"
   adminWindowsGroup="Administrators"
   assignLocalAdminsAdminRole="false"
   smtpServerConnectionLimit="-1"
   enableLatestVersionCheck="false"
   uploadFilesPath="/Upload/"
  >
   <providers>
    <clear/>
 
    <add
     name = "SqlForumsProvider"
     type = "AspNetForums.Data.SqlDataProvider, AspNetForums.SqlDataProvider"
     connectionString = ""
     databaseOwner = "dbo"
    />
   </providers>
  </forums>
 </forums>
 节点,来设置
    ForumConfiguration 类型实例  
 相当于
  ForumConfiguration fc =new ForumConfiguration();
  fc.LoadValuesFromConfigurationXml(node); 
node 是设置节节点 
  
  这里初始化工作已经基本完成 :)
    
<providers>
    <clear/>
    <add
     name = "SqlAccountProvider"
     type = "Account.Framework.Data.SqlDataProvider, Account.Framework"
     connectionString = ""
     databaseOwner = "dbo"
    />
   </providers>
 
name设置缓存中数据处理类型键  ,Account.Framework.Data.SqlDataProvider数据类型
呵,这个非常灵话 
 比如需要实现一个Access数据库版本的 ,那么程序不用做任何改动 重写一个Account.Framework.Data.OledbDataProvider 类型,继承
ForumsDataProvider方法就可以了
 


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

ASP.NET(C#)中web.config文件详解

ASP.NET(C#)中web.config文件详解 一、认识Web.config文件    Web.config 文件是一个XML文本文件,它用来储存 ASP.NET Web 应用...

ASP.NET Global.asax 和web.config文件详解

Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法。你可以使用这个文件实现应用程序安全性以及其它一些任务。下面让我们详细看...
  • like68
  • like68
  • 2014-03-31 13:59
  • 1617

详解ASP.NET配置文件Web.config

转载地址:链接这篇文章主要介绍了ASP.NET配置文件Web.config,Web.config是asp.net应用程序中一个很重要的配置文件,需要的朋友可以参考下:Web.config文件是一个XM...

asp.net中Web.config文件各属性详解

本文章教您认识web.config,并精通它里面的各个属性配置。   一、认识Web.config文件 Web.config 文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程...

Asp.Net 之 Web.config 配置文件详解

转载地址:http://www.cnblogs.com/xinaixia/p/4299373.html   在asp.net中配置文件名一般默认是web.config。每个web.config文件都...

ASP.NET配置文件Web.config 详细解释

花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法。很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点。所以这里只介绍一些比较常用的节点。 xml ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)