wcf和webservice的字尾是asmx
然後今天拿到乙個客戶端**,呼叫服務端,服務端字尾是ashx瞬間傻蛋了,.net我不知道的元件真多。
四個疑問:
1、什麼時候用
2、優缺點
3、簡單實現機制
4、簡單demo
1、什麼時候用
雖然通過標準的方式可以建立處理程式,但是實現的步驟比較複雜,為了方便**開發中對處理程式的應用,從asp.net 2.0開始,asp.net提供了稱為一般處理程式的處理程式,允許我們使用比較簡單的方式定義擴充套件名為ashx的專用處理程式。
對於asp.net**來說,**最覺的處理結果就是html網頁,生成網頁的工作通常使用擴充套件名為aspx的web窗體來完成。對於處理結果不是html的請求,都可以通過一般處理程式完成。例如生成rss feed、xml、等。
一般處理程式是asp.net**中最為簡單、高效的處理程式,在處理返回型別不是html的請求中有著重要的作用。
不知道我的理解正不正確,那感覺asmx適合作為c/s的伺服器端來使用。
2、優缺點
通常是實現ihttphandler介面,因為不必繼承自page類,所以沒有那麼多事件需要處理,不必消耗太多資源,所以效能方面要比aspx高
3、簡單實現機制
.ashx 檔案用於寫web handler的。.ashx檔案與.aspx檔案類似,可以通過它來呼叫httphandler類,它免去了普通.aspx頁面的控制項解析以及頁面處理的過程。其實就是帶html和c#的混合檔案。
.ashx檔案適合產生供瀏覽器處理的、不需要回發處理的資料格式,例如用於生成動態、動態文字等內容。
4、簡單demo
在vs2013下,右鍵專案-->新增-->一般處理程式,就新增成功了,不知道是不是我新增過,所以在右鍵裡面有。
另一種新增方式是右鍵專案-->新增-->新建項,然後如下圖所示。
但我詫異的發現兩種新增方式新增出來的檔案圖示不一樣。
第一種方式新增圖示和最下方的webservice相同,而第二種新增方式只新增了乙個類。
先不管第二種,第一種生成的**有兩個檔案
handler1.ashx
handler1.ashx.cs
using system;
using system.collections.generic;
using system.linq;
using system.web;
public bool isreusable}}
}
接下來就是怎麼訪問這個檔案,我直接點f5執行專案,然後在瀏覽器位址列加上路徑,我整個路徑是這樣的http://localhost:6988/handler1.ashx
然後成功看到瀏覽器上乙個光禿禿的hello world
一般處理程式 ashx
在前面那篇有關智慧型提示的推薦文章中,作者用到了.ashx檔案和jquery。說句實話,對於.ashx當時還真是第一次聽說,為了彌補自己知識上的缺陷,在網上惡補了一下,終於對此類檔案有了乙個初步的認識,特別是 這篇文章寫的非常好,對我很有啟發。呵呵,又開始推薦文章了。我發現,在股溝上搜尋ashx,找...
一般處理程式(ashx)對session處理摘要
通常我們都會把當前作業系統的人員用session記錄下來。方便我們記錄對當前資料操作有記錄處理憑證。在一般處理程式 ashx 中,遇到如下操作session的異常 其他資訊 未將物件引用設定到物件的例項。異常 如下紅色字型部分 從異常的提示中我們可以看到引發的是空引用的異常。解決方法需要做二件事 第...
一般處理程式
一般處理程式是乙個字尾名為.ashx的 檔案,該檔案的類實現了ihttphandler介面,這個類用於負責處理它所對應的url的訪問請求,並接受客戶端傳送的請求資訊和傳送響應內容 get和post的請求方式 get和post是向伺服器傳送請求的兩種方式,其中get請求是將需要提交給伺服器端的資料放在...