<httpHandlers>
   <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
    validate="false" />
  </httpHandlers>  <compilation debug="true">
   <assemblies>
    <add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
    <add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
   </assemblies>
   <buildProviders>
    <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   </buildProviders>
  </compilation>
以上是我在web.config文件中找到的代码段,我在另外一个web.config文件中没发现这部分
请帮忙解释一下内容,谢谢!

解决方案 »

  1.   

    <compilation debug="true"> 
    这个还真不太清楚,就知道这一条:
    启用调试.
    楼下继续
      

  2.   

        ASP.NET的请求过程是基于一个管道(pipeline)模型的,ASP.NET会把所有的http请求(Requests)都发送给这个管道里的http组件(modules)。每个组件在接收到http请求后进行一些相应的动作。当http请求通过了所有的http modules程序后,将会被交由一个http handle程序来处理,处理后的结果又将通过管道里http modules返回。http handle是一个实现了System.Web.IHttpHandler接口的类的实例,有些类似ISAPI扩展。在http handles中实现的有:
    ProcessRequest:该方法用来处理http请求,是http handles最核心的方法
    IsReusable:一个属性,返回一个bool值,来表示这http handle的实例是否能被重用来处理多个同类型的http请求。    http handles的类可以在web.config或machine.config文件里注册。这样,一旦有相应的http请求输入,这个http handle类就会被实例化。在web.config或machine.config文件里我们用<httpHandlers>和<add>节点来为我们的应用程序添加http handle类:
    <httpHandlers>
     <add verb="supported http verbs" path="path" type="namespace.classname, assemblyname" />
    <httpHandlers>在<add>里
    1、verb属性说明了该handle所支持的http请求方式,例如支持post和get方式,verb属性则为"POST,GET";如果支持所有的请求方式,verb属性则用"*"。
    2、path属性说明了对哪些文件的请求才调用该handle来处理,例如你只想在请求my.possible文件时才调用该handle,则path属性为"my.possible",如果你想所有后缀名为possible的文件(*.possible)都由该handle来处理,则path属性为"*.possible"。
    3、type属性中指定了handle类的命名空间、类名和配件名(工程名)。ASP.NET runtime会首先到应用程序的bin目录下查找该配件的dll,如果没有找到再到GAC里查找。其实ASP.NET自身里的许多功能也是使用HTTP handlers来实现,ASP.NET使用了许多的handle类来处理.aspx, .asmx, .soap 和一些其它的ASP.NET文件。你可以在machine.config文件里找到如下代码:
    <httpHandlers>
    <add verb="*" path="trace.axd" type="System.Web.Handlers.TraceHandler"/>
     
     <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory"/>
     
     <add verb="*" path="*.ashx" type="System.Web.UI.SimpleHandlerFactory"/> <add verb="*" path="*.config" type="System.Web.HttpForbiddenHandler"/>
     
     <add verb="GET,HEAD" path="*" type="System.Web.StaticFileHandler"/>
     
     . . . . . . 
     . . . . . .
    </httpHandlers>
    从上面的配置可以看出来对.aspx文件的请求是交由System.Web.UI.PageHandlerFactory类来处理的,而象.config文件是被System.Web.HttpForbiddenHandler类来处理,可以猜想这个类将会返回一个该类文件不能被请求的错误。http://www.cnblogs.com/basibasi/archive/2008/02/16/1070895.html
      

  3.   

    这个web应用使用了ReportViewer相关的控件,所以才会有这些注册信息包含在里面。你另外一个应用没用到,IDE也不会给你加上的。
      

  4.   

    <httpHandlers>节点根据用户请求的URL和HTTP谓词将用户的请求交给相应的处理程序。可以在配置级别的任何层次配置此节点,可以针对某个特定目录下指定的特殊文件进行特殊处理。
    buildProviders添加站点扩展名
      

  5.   

    那部分大体明白了  <assemblies> 
        <add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
        <add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
      </assemblies> 
      <buildProviders> 
        <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
      </buildProviders这部分还是不明白,请再帮忙看看,谢谢!
      

  6.   


    这部分是引用的程序集的版本和公钥的token
      

  7.   

    buildProviders 元素定义生成提供程序的集合,这些提供程序用于在编译期间编译特定文件类型的自定义资源文件并生成代码参见MSDN
    http://msdn.microsoft.com/zh-cn/library/h0e51sw9(VS.80).aspx
      

  8.   

    http://www.tracefact.net/CLR-and-Framework/Custom-Application-Configuration.aspx
    .Net 自定义应用程序配置
    应该有用.
      

  9.   


    buildProviders 元素定义生成提供程序的集合,这些提供程序用于在编译期间编译特定文件类型的自定义资源文件并生成代码 参见MSDN 
    http://msdn.microsoft.com/zh-cn/library/h0e51sw9(VS.80).aspx
      

  10.   

    <httpHandlers> 
      <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
        validate="false" /> 
      </httpHandlers>添加对 .axd 的扩展支持。。 。。 补充完毕,楼下继续 -.-
      

  11.   

    这部分是引用的程序集的版本和公钥的token 
    疑问:什么时候需要用这部分,好像很多.net程序根本就用不到,这也只是一个留言本程序
    好像有些复杂请指教,谢谢