|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我认为,可以通过更加简单的首次编译,而增加第二次编译的负担,来提高java的运行效率。只是将java源代码进行简单的等价转换,而不假设编译成某种虚拟机器的目标格式,而由本地编译器针对性的二次编译。<p>HTTP处置程序中的对话形态
保护对话形态是Web使用程序实行的最一般的事件。HTTP处置程序也必要会见这些对话形态。可是HTTP处置程序的默许设置是没有激活对话形态的。为了读取和/或写进形态数据,必要HTTP处置程序完成上面的接口之一:
·IRequiresSessionState
·IReadOnlySessionState.
当HTTP处置程序必要读写对话数据的时分,它必需完成IRequiresSessionState接口。假如它只读取对话数据,完成IReadOnlySessionState接口就能够了。
这两个接口都是标志接口,并没有包括任何办法。因而,假如你但愿激活NewHandler处置程序的对话形态,要像上面的代码一样声明NewHandler类:
<OLclass=dp-xml>publicclassNewHandler:IHttpHandler,IRequiresSessionState
HTTP模块
HTTP模块是完成了System.Web.IhttpModule接口的.NET组件。这些组件经由过程在某些事务中注册本身,把本人拔出ASP.NET哀求处置管道。当这些事务产生的时分,ASP.NET挪用对哀求有乐趣的HTTP模块,如许该模块就可以处置哀求了。
HTTP模块完成了IhttpModule接口的上面一些办法:
办法称号形貌Init这个办法同意HTTP模块向HttpApplication工具中的事务注册本人的事务处置程序。Dispose这个办法赐与HTTP模块在工具被渣滓搜集之前实行清算的时机。HTTP模块能够向System.Web.HttpApplication工具表露的上面一些办法注册:
事务称号形貌AcquireRequestState当ASP.NET运转时筹办好吸收以后HTTP哀求的对话形态的时分激发这个事务。AuthenticateRequest当ASP.NET运转时筹办考证用户身份的时分激发这个事务。AuthorizeRequest当ASP.NET运转时筹办受权用户会见资本的时分激发这个事务。BeginRequest当ASP.NET运转时吸收到新的HTTP哀求的时分激发这个事务。Disposed当ASP.NET完成HTTP哀求的处置历程时激发这个事务。EndRequest把呼应内容发送到客户端之前激发这个事务。Error在处置HTTP哀求的过程当中呈现未处置非常的时分激发这个事务。PostRequestHandlerExecute在HTTP处置程序停止实行的时分激发这个事务。PreRequestHandlerExecute在ASP.NET入手下手实行HTTP哀求的处置程序之前激发这个事务。在这个事务以后,ASP.NET把该哀求转发给得当的HTTP处置程序。PreSendRequestContent在ASP.NET把呼应内容发送到客户端之前激发这个事务。这个事务同意我们在内容抵达客户端之前改动呼应内容。我们可使用这个事务给页面输入增加用于一切页面的内容。比方通用菜单、头信息或脚信息。PreSendRequestHeaders在ASP.NET把HTTP呼应头信息发送给客户端之前激发这个事务。在头信息抵达客户端之前,这个事务同意我们改动它的内容。我们可使用这个事务在头信息中增加cookie和自界说数据。ReleaseRequestState当ASP.NET停止所搜有的哀求处置程序实行的时分激发这个事务。ResolveRequestCache我们激发这个事务来决意是不是可使用从输入缓冲前往的内容来停止哀求。这依附于Web使用程序的输入缓冲时如何设置的。UpdateRequestCache当ASP.NET完成了以后的HTTP哀求的处置,而且输入内容已筹办好增加给输入缓冲的时分,激发这个事务。这依附于Web使用程序的输入缓冲是怎样设置的。除这些事务以外,我们还可使用四个事务。我们能够经由过程完成Web使用程序的global.asax文件中一些办法来利用这些事务。
这些事务是:
·Application_OnStart
当第一个哀求抵达Web使用程序的时分激发这个事务。
·Application_OnEnd
筹办停止使用程序之前激发这个事务。
·Session_OnStart
用户对话的第一个哀求激发这个事务。
·Session_OnEnd
保持对话大概对话超期的时分激发这个事务。
<p>捆绑编译器。用户不需要受制于厂家,自己就能将程序在新平台上编译运行。除了牛B轰轰的linux,估计也没有系统捆绑c/c++的编译器,而且许多新平台都无法支持复杂的c/c++编译器在上面直接运行。 |
|