日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

在Web Service中使用ASP.net狀態(tài)保持(1)_Windows教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!
 

簡介

  有許多聰明的辦法可以解決HTTP協(xié)議的無狀態(tài)問題,例如對每個請求重復(fù)發(fā)送應(yīng)用程序數(shù)據(jù)包、使用HTTP認(rèn)證機(jī)制來將請求映射到特定的用戶、使用Cookie來存儲一系列請求的狀態(tài)等。在ASP.net技術(shù)中提供了一個非常有效的方案來保持狀態(tài),該方案隱藏了所有高難度的,具有挑戰(zhàn)性的工作的細(xì)節(jié),用戶只需簡單地使用System.Web.SessionState.HttpSessionState類。同時,你也可以像在ASP.net程序地Web頁面(.aspx)中一樣在Web Service的方法中使用這個類,只有一點(diǎn)小小的不同。

ASP.net的Session對象概述

  ASP.net的Session狀態(tài)信息在根本上通過兩個機(jī)制保持。其一是使用Cookie。當(dāng)客戶端發(fā)送一個請求到服務(wù)器端時,服務(wù)器將發(fā)回一個附加HTTP Set-Cookie頭的響應(yīng)信息,而Cookie的值就是以鍵/值對的形式保存在該信息里邊。在對同一服務(wù)器的所有的同步請求中,客戶端在HTTP Cookie頭中發(fā)送Cookie鍵/值對。然后服務(wù)器可以將并發(fā)的請求同初始的請求對應(yīng)起來。ASP.net使用一個保存會話的ID的cookie來保持會話狀態(tài)。該ID標(biāo)識被用來為特定的用戶找到與其對應(yīng)的HttpSessionState類的實(shí)例。類HttpSessionState僅僅提供了一個通用的數(shù)據(jù)集,你可以在其中保存你需要的任何信息。

  ASP.net用來保持狀態(tài)的另外一個機(jī)制工作時無須使用Cookie。一些瀏覽器被用戶設(shè)置為禁止使用cookie或者干脆就不支持Cookie,ASP.net提供了一種機(jī)制來解決這個問題,它的主要原理是將一個請求重定向到一個包含ASP.net狀態(tài)ID的URL。當(dāng)該請求被接受到時,這個嵌在URL中的ID被截取下來,服務(wù)器通過該ID找到合適的HttpSessionState類的實(shí)例。這種方式在HTTP協(xié)議的使用GET方式的請求中工作的很好,但是在.net的XML Web Service代碼中會出現(xiàn)問題。

  必須指出的是,有些時候把信息直接存儲在Cookie中要比存儲在Session中更好。避免使用Session可以節(jié)省服務(wù)器資源,而且你也無須考慮一些煩人的問題,比如定位一個特定的Session對象、Session對象因?yàn)檎埱蟮拈L時間的延遲而被移除或者在服務(wù)器上沒必要地保留直到過期。然而,如果你有一些包含你不希望與你提供的服務(wù)的使用者共享的執(zhí)行信息,或者有一些你不希望通過未加密的信道傳輸?shù)乃接袛?shù)據(jù),或者你認(rèn)為將這些數(shù)據(jù)插入HTTP協(xié)議頭中是不切實(shí)際的,那么你就應(yīng)該使用ASP.net中的HttpSessionState,它將使你輕松解決這些問題。HttpSessionState類返回一個索引鍵,用以將一個特定的用戶映射到一個為該用戶保存信息的HttpSessionState類的實(shí)例。總之,無論是ASP.net的HttpSessionState類還是HTTP的Cookie都可以在ASP.net Web Service中使用。


在XML Web Service中使用基于HTTP的機(jī)制來實(shí)現(xiàn)狀態(tài)保持的理由

  在SOAP請求中有許多方法來保持狀態(tài)。一個切實(shí)可行的方法就是在SOAP頭中包含一些像ASP中的會話ID的信息,然而問題在于你不得不:
  1) 仍然要自己編寫服務(wù)器端代碼。
  2) 確信你的客戶會像對待HTTP Cookie一樣對待你的包含會話ID的SOAP頭并且將它附加到每個請求中回傳給你。
  當(dāng)然有很多時候使用SOAP頭的方法會很方便,但是也有很多時候還不如使用基于HTTP協(xié)議的方法。

來源:網(wǎng)絡(luò)搜集//所屬分類:Windows教程/更新時間:2013-04-15
相關(guān)Windows教程