zoukankan      html  css  js  c++  java
  • httpHandlers和httpModules接口介绍 (5)

    IHttpHandler工厂

    class TestHandlerFactory : IHttpHandlerFactory
     {
    public IHttpHandler GetHandler
    (HttpContext context, string requestType, string url, string pathTranslated)
    {
    
    string fname = url.Substring(url.IndexOf('/') + 1);
    while (fname.IndexOf('/') != -1)
    fname = fname.Substring(fname.IndexOf('/') + 1);
    string cname = fname.Substring(0, fname.IndexOf('.'));
    string className ="";
    className = "ClassLibrary831.CodeHandler";
    object h = null;
    try
    {
    //h = new TestHandler();
    h = Activator.CreateInstance(Type.GetType(className));
    }
    catch (Exception e)
    {
    throw new HttpException("工厂不能为类型" + cname + "创建实例。", e);
    }
    return (IHttpHandler)h;
    }
    public void ReleaseHandler(IHttpHandler handler)
    {
    }
     }(车延禄)

    配置文件

    <httpHandlers>
    <add verb="*" path
    ="default21.aspx,default22.aspx" type
    ="ClassLibrary831.TestHandlerFactory,
    ClassLibrary831"></add>
       </httpHandlers>

    这样TestHandlerFactory就会根据请求的不同页面执行不同的HttpHandler处理程序了。

    HttpHandler使用会话

    如果要在处理程序中使用Session,那必须把该HttpHandler实现IRequiresSessionState接口,,IRequiresSessionState接口是个空接口,它没有抽象方法,只是一个标记。此处就不作例子验证了

  • 相关阅读:
    Elastic 技术栈之快速入门
    JDK8 指南(译)
    Intellij IDEA 使用小结
    面向对象1
    函数总结
    Python中i = i + 1与i + = 1的区别
    python中变量的交换
    python的数据类型的有序无序
    对列表里的字典按年龄从小到大排序
    centos7安装python3
  • 原文地址:https://www.cnblogs.com/sntetwt/p/1980396.html
Copyright © 2011-2022 走看看