我正在使用WCF服務(通過WebGet屬性)。從WebHttpBinding訪問WCF服務中的會話
我試圖從WCF服務訪問會話,但HttpContext.Current爲null
我加入AspNetCompatibilityRequirements和編輯的web.config,但我仍然無法訪問會話。
是否可以一起使用WebGet和Session?
謝謝!
我正在使用WCF服務(通過WebGet屬性)。從WebHttpBinding訪問WCF服務中的會話
我試圖從WCF服務訪問會話,但HttpContext.Current爲null
我加入AspNetCompatibilityRequirements和編輯的web.config,但我仍然無法訪問會話。
是否可以一起使用WebGet和Session?
謝謝!
是的,這是可能的。如果編輯web.config
:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</system.serviceModel>
,並添加AspNetCompatiblityRequirements
,該HttpContext.Current
應該可用。
再次檢查一切,也許你已經把屬性放在錯誤的地方(界面而不是類?)。
帶會話的REST滿服務?
見精彩的討論在這裏:Can you help me understand this? "Common REST Mistakes: Sessions are irrelevant"
http://javadialog.blogspot.co.uk/2009/06/common-rest-mistakes.html(6點)
和
http://www.peej.co.uk/articles/no-sessions.html
報價保羅Prescod:
會議是無關緊要的。
應該不需要客戶端「登錄」或「啓動連接」。在每條消息上自動完成HTTP認證 。客戶端應用程序是 資源的消費者,而不是服務。因此沒有任何登錄! 假設您正在預訂REST Web服務的航班。您 不會創建到該服務的新「會話」連接。而是你問 「行程創建者對象」爲你創建一個新的行程。你可以從 開始填充空白,但然後在網絡的其他地方獲得一些完全不同的組件來填充其他空白。有 沒有會話,所以在 客戶端之間沒有遷移會話狀態的問題。服務器 中也沒有「會話關聯性」問題(儘管仍然存在負載平衡問題)。
我有屬性,但沒有會話。 WebHttpBinding是否與會話兼容? –