|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Java欺骗了我们那么多年,如今的多核时代,我认为它气数已尽!<p>ASP.NET哀求的处置历程
ASP.NET哀求处置历程是基于管道模子的,在模子中ASP.NET把http哀求传送给管道中的一切模块。每一个模块都吸收http哀求并有完整把持权限。模块能够用任何自以为合适的体例来处置哀求。一旦哀求经由了一切HTTP模块,就终极被HTTP处置程序处置。HTTP处置程序对哀求举行一些处置,而且了局将再次经由管道中的HTTP模块:
请注重在http哀求的处置过程当中,只能挪用一个HTTP处置程序,但是能够挪用多个HTTP模块。
Http处置程序
HTTP处置程序是完成了System.Web.IHttpHandler接口的.NET组件。任何完成了IHttpHandler接口的类都能够用于处置输出的HTTP哀求。HTTP处置程序与ISAPI扩大有些相似。HTTP处置程序和ISAPI扩大的不同在于在URL中可使用HTTP处置程序的文件称号间接挪用它们,与ISAPI扩大相似。
HTTP处置程序完成了以下办法:
办法称号形貌ProcessRequest这个办法实践上是http处置程序的中心。我们挪用这个办法来处置http哀求。IsReusable我们挪用这个属性来决意http处置程序的实例是不是能够用于处置不异别的范例的哀求。HTTP处置程序能够前往true或false来标明它们是不是能够反复利用。你可使用web.config大概machine.config文件把这些类映照到http哀求上。映照完成今后,当吸收到响应哀求的时分ASP.NET会实例化http处置程序。我们将注释怎样在web.config和/或machine.config文件中界说一切这些细节信息。
ASP.NET还经由过程IHttpHandlerFactory接口撑持http处置程序的扩大。ASP.NET供应了把http哀求路由到完成IHttpHandlerFactory接口的类的工具上的才能。别的,ASP.NET还使用了Factory计划形式。这类形式为创建一组相干工具而不供应详细类的功效供应了接口。复杂的说,你能够把用于创建依附传送出去的参数创建的http处置程序工具的类看做是factory(工场)。我们不必指定必要实例化的特定的http处置程序;http处置程序工场处置这类事件。如许做的长处在于假如将来完成IHttpHandler接口的工具的完成办法产生了改动,只需接口仍旧不异,客户端就不会遭到影响。
上面是IHttpHandlerFactory接口中的办法列表:
办法称号形貌GetHandler这个办法卖力创建得当的处置程序并把它的指针前往到挪用代码(ASP.NET运转时)。这个办法前往的处置程序工具应当完成了IHttpHandler接口。ReleaseHandler这个办法卖力在哀求处置完成后开释http处置程序。Factory完成决意了它的操纵。Factory完成能够是实践摧毁实例,也能够把它放进缓冲池供今后利用。在设置文件中注册HTTP处置程序和HTTP处置程序工场
ASP.NET鄙人面的设置文件中保护本人的设置信息:
·machine.config
·web.config
machine.config文件包括使用于盘算机上安装的一切Web使用程序的设置设相信息。
web.config文件关于每一个Web使用程序来讲是特定的。每一个Web使用程序都有本人的web.config文件。Web使用程序的任何子目次也大概包括本人的web.config文件;这使得它们可以掩盖父目次的设相信息。
为了给我们的Web使用程序增加HTTP处置程序,你可使用<httpHandlers>和<add>节点。实践上,处置程序都带有<add>节点,枚举在<httpHandlers>和</httpHandlers>节点之间。上面是增加HTTP处置程序的一个一般的例子:
<OLclass=dp-xml><httpHandlers> <addverb="supportedhttpverbs"path="path"type="namespace.classname,assemblyname"/><httpHandlers>
在下面的XML中,
·Verb属性指定了处置程序撑持的HTTP举措。假如某个处置程序撑持一切的HTTP举措,请利用“*”,不然利用逗号分开的列表列出撑持的举措。因而假如你的处置程序只撑持HTTPGET和POST,那末verb属性就应当是“GET,POST”。
·Path属性指定了必要挪用处置程序的路径和文件名(能够包括通配符)。比方,假如你但愿本人的处置程序只要在test.xyz文件被哀求的时分才被挪用,那末path属性就包括“test.xyz”,假如你但愿含有.xyz后缀的一切文件都挪用处置程序,path属性应当包括“*.xyz”。
·Type属性用名字空间、类称号和部件称号的组合情势指定处置程序或处置程序工场的实践范例。ASP.NET运转时起首搜刮使用程序的bin目次中的部件DLL,接着在全部分件缓冲(GAC)中搜刮。
<p>你可以先看看这篇文章(软微学院生涯-三朝元老经验谈),打不开再跟我说。(我的意思是想让她自己先稍微了解一下到底现在各个方向学的工具以及以后要做的工具大概是什么,因为喜欢做什么样的事其实自己最清楚的) |
|