我剛剛寫了我的第一個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. 會話變量,Web服務,ASP.NET和C#
- 2. Web Api和會話變量?
- 3. 會話和服務器變量Session_End中
- 4. Yii Web服務授權和會話
- 5. Web服務上的ASP.NET不同會話變量值
- 6. 通過Python Web服務調用Ruby時的會話變量
- 7. 通過Web服務從Silverlight更新會話變量
- 8. 從Asmx Web服務中消耗java中的會話變量
- 9. ASP.NET MVC4 Web API和會話變量
- 10. Web服務會話管理
- 11. Web服務會話管理
- 12. WCF Web服務會話
- 13. WCF服務中的會話變量
- 14. C#Web服務和使用變量
- 15. 會話變量在Visual Studio和服務器上行爲不同
- 16. 跨語言和服務器http會話變量
- 17. 什麼是會話和會話變量?
- 18. 與會話呼叫動態web服務
- 19. ASP.NET與Web服務,NHibernate會話設計
- 20. 基於會話的Web服務
- 21. 自動殺死Navision Web服務會話
- 22. Web服務中的會話管理?
- 23. 從Web服務訪問MVC會話
- 24. Restful Web服務中的會話
- 25. 維護會話與Web服務器
- 26. ASMX Web服務通過會話
- 27. Web服務器中的會話
- 28. EJB作爲Web服務 - 會話超時
- 29. Web服務中的會話共享
- 30. 會話變量和IE8
這看起來太棒了。然而,我的理解是,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