我在一张page里面将一参数对象塞到Session对象中,想通过HttpContext对象,在controller类里get这个ojbect,但context.Session每次都为null,更别说拿到里面的参数对象了。
HttpContext对象是通过继承IHttpHandler接口覆写ProcessRequest方法获得的。
config里面已经enableSessionState=true了,debug也验证了sessionid两边都是同一个。
虽然页面和页面之间操作Session里的对象是没有问题的,但为什么页面和我自定义的Controller之间互传Session内的参数会有问题呢?
望指正!谢谢。

解决方案 »

  1.   

    不好意思,查了一下微软的asp.net的FAQ,我的问题归结如下:
    由于我自己是通过继承IHttpHandler接口实现了一个HttpHandler,默认情况下,session state是没有访问权限的,要想得到session对象,必须同时继承IRequiresSessionState或者IReadOnlySessionState,它们都是“标记”接口,没有要实现的方法。
    结贴。