【Asp.Net】一般处理程序(ashx处理程序) 和 aspx页面处理程序
在Asp.Net WebForm開(kāi)發(fā)方式中,我們經(jīng)常會(huì)用到一般處理程序和aspx頁(yè)面。本文主要分享兩者之間的異同。
首先請(qǐng)看一張圖:
在這個(gè)圖中,HttpHandler就是處理程序。
相同點(diǎn):
上面代碼就是對(duì)Http請(qǐng)求進(jìn)行處理的,任何實(shí)現(xiàn)了該接口的類(lèi)都可以對(duì)Http請(qǐng)求進(jìn)行處理(調(diào)用各自的ProcessRequest()方式)。aspx頁(yè)面繼承自后臺(tái)代碼,后臺(tái)代碼又繼承Page類(lèi),所以aspx頁(yè)面具有處理Http請(qǐng)求的能力,同樣是一般處理程序,它也實(shí)現(xiàn)了IHttpHandler接口,也可以對(duì)Http請(qǐng)求進(jìn)行處理。
不同點(diǎn):
1 功能上
2 處理流程上
一般處理程序處理動(dòng)態(tài)頁(yè)面的時(shí)候需要把整個(gè)頁(yè)面加載到服務(wù)器,接下來(lái)替換某些內(nèi)容;處理圖片等內(nèi)容時(shí)會(huì)直接返回響應(yīng)報(bào)文。而aspx頁(yè)面大多使用了服務(wù)器控件,可以通過(guò)不加載整個(gè)頁(yè)面而更新頁(yè)面。
一般處理程序通過(guò)設(shè)置content-type設(shè)置返回的類(lèi)型,可以返回靜態(tài)頁(yè)面,也可以返回圖片,字符串等內(nèi)容。一般處理程序處理靜態(tài)數(shù)據(jù)比較合適,但是處理動(dòng)態(tài)或頁(yè)面的時(shí)候就會(huì)變的比較麻煩。他需要先把頁(yè)面讀取到服務(wù)器,然后再替換讀取到的里面的某項(xiàng)數(shù)據(jù),比較麻煩。
aspx是動(dòng)態(tài)服務(wù)器頁(yè)面的意思,aspx頁(yè)面中也可以放置服務(wù)器控件,這樣后臺(tái)就可以通過(guò)服務(wù)器控件的Id進(jìn)行控件的更新以及讀取操作,當(dāng)需要更改某項(xiàng)內(nèi)容時(shí)也不需要進(jìn)行整個(gè)頁(yè)面的讀取操作,只需要更改某個(gè)控件的屬性即可。相對(duì)于一般處理程序而言,很是方便。
3 性能上
4 應(yīng)用范圍上:
希望本文能對(duì)您有所幫助,感謝您的閱讀。如果有不當(dāng)之處,還請(qǐng)您及時(shí)扶正。
總結(jié)
以上是生活随笔為你收集整理的【Asp.Net】一般处理程序(ashx处理程序) 和 aspx页面处理程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【HTTP】get 和 post 两种基
- 下一篇: 【Asp.net】Cookie对象