我剛剛寫了我的第一個Web服務,因此我們假設我的Web服務知識不存在。我想嘗試從Web服務調用dbClass函數。不過,我需要一些參與會議的參數。有什麼辦法可以讓這些從webservice調用這些會話變量?會話變量和Web服務
10
A
回答
20
如果您正在使用ASP.NET Web服務,你想有保持你的會話環境,需要用它說明你需要一個會話屬性,美化您的Web服務方法。
[WebMethod(EnableSession = true)]
public void MyWebService()
{
Foo foo;
Session["MyObjectName"] = new Foo();
foo = Session["MyObjectName"] as Foo;
}
一旦你做到了這一點,你可以訪問會話對象相似的aspx。
地鐵。
0
也許這將工作HttpContext.Current.Session [「名稱] 否則你可能不得不採取一些參數或將其存儲在數據庫
3
通常,Web服務不應該依賴會話數據。把它們想象成普通的方法:參數進入並且答案出來。
0
你的問題有點含糊,但我會盡我所能來回答。
我假設你的會話變量存在於進行web服務調用的服務器上,而不是在承載web服務的服務器上。在這種情況下,您需要傳遞必要的值作爲Web服務方法的參數。
5
您應該避免增加添加會話變量的服務層的複雜性。正如有人以前指出的那樣,將Web服務視爲一種孤立的方法,可以從參數列表中完成所需的所有任務。
1
如果你不得不想要Session [「username」]。ToString();在後面的aspx其他C#的頁面,那麼你應該只需更換[的WebMethod]以上的WebService法[的WebMethod(EnableSession =真)]
感謝:)地鐵
0
要在Web服務使用會話,我們必須遵循2個步驟 -
- 在該方法上使用[WebMethod(EnableSession = true)]屬性。
- Session [「Name」] = 50(你想要保存什麼) 請檢查以下示例。
[WebMethod(EnableSession = true)] public void saveName(string pname) { Session["Name"] = pname; }
相關問題
- 1. 會話和服務器變量Session_End中
- 2. ASP.NET MVC4 Web API和會話變量
- 3. 從Asmx Web服務中消耗java中的會話變量
- 4. Yii Web服務授權和會話
- 5. WCF Web服務會話
- 6. Web服務會話管理
- 7. Web服務會話管理
- 8. WCF服務中的會話變量
- 9. C#Web服務和使用變量
- 10. 會話變量在Visual Studio和服務器上行爲不同
- 11. 跨語言和服務器http會話變量
- 12. 什麼是會話和會話變量?
- 13. Javascript和會話變量
- 14. PHP會話變量和jQuery
- 15. EJB作爲Web服務 - 會話超時
- 16. 基於會話的Web服務
- 17. 從Web服務訪問MVC會話
- 18. Web服務中的會話管理?
- 19. ASMX Web服務通過會話
- 20. 與會話呼叫動態web服務
- 21. Restful Web服務中的會話
- 22. 在web服務c中登錄jQuery,對象json,ajax,變量會話#
- 23. 會話變量
- 24. Web服務電話
- 25. php變量會話變量
- 26. Web服務器如何通過服務器端的會話變量維護每個用戶的請求
- 27. 簡單的服務器端Flask會話變量
- 28. 一旦會話超時,服務器上的內存變量
- 29. 無法訪問不同服務器上的會話變量
- 30. 當服務器託管時,php會話變量值爲空
這看起來太棒了。然而,我的理解是,Web服務客戶端需要傳遞一個cookie或者能夠通過重定向來響應302 Found的消息。 – froggythefrog 2013-02-17 05:03:13
您可以創建一個cookie容器並將其連接到您的Web服務代理。然後它將保存返回的所有cookie,包括ASP.net會話cookie。如果您有其他代理將在同一個會話中運行,您也可以與他們共享cookie容器。 – Metro 2013-03-24 17:02:56