我们可以使用类实现IHttpHandlerFactory来覆盖或拦截Page实例的创建进度
总之,我们可以使用:
PageHandlerFactory factory =(PageHandlerFactory)Activator.CreateInstance(typeof(PageHandlerFactory),true);
IHttpHandler handler = factory.GetHandler(context,requestType,url,pathTranslated);
返回处理程序;
创建asp.net页面对象的新实例
但是你知道,页面不是持久性的
如果将对象保存在applicationstate或session中,则在下一个请求时,您可以获取该页面,但您会发现“Page.Context”中的Application(HttpApplication)为null。
在那里,页面访问将失败,它不能是单例访问
如何设置httpApplication?
答案 0 :(得分:0)
我不明白你的所有问题,但我想你正在寻找HttpContext.Current.Application
使用它代替Page.Context.Application
。
答案 1 :(得分:0)
我认为你需要在构建页面后调用内部受保护的FrameworkInitialize()函数。