我有幾個Web服務。其中一項服務用於檢索會話標識(身份驗證)。通過SessionInfo調用其他服務時,我傳遞此ID。 我想使用WCF而不是傳統的Web方法。我怎樣才能在幾個wcf的客戶端之間共享一個會話?如何在幾個wcf的客戶端之間共享一個會話?
0
A
回答
2
目前尚不清楚你的會話意味着什麼。 WCF支持四種類型的會話:
- 傳輸會話 - 用於維護服務器和客戶端之間會話的傳輸協議。例如:的net.tcp,Net.Pipe
- 可靠的會話 - 用於可靠的支持,以便在交付不可靠信道,如果客戶端和服務器都在運行
- 安全會議 - 客戶端只被認證爲第一個呼叫,隨後呼叫通過會話令牌進行認證。這個會話也被稱爲安全上下文。
- 應用程序會話 - 這對於IsInitiating和IsTerminating操作契約和PerSession實例的參數有意義。只有在使用任何前面的會話時,才能使用此會話=在BasicHttpBinding中不能使用它,因爲它不支持傳輸,可靠和安全會話。
所有這些會話都與單個客戶端代理和單個服務實例之間的通信有關。沒有提供任何其他的東西。而且沒有特殊的「會話」對象。
那麼你究竟想達到什麼目的?你打算取代使用ASP.NET會話的ASMX服務嗎?在這種情況下,請檢查sample。
編輯:
關於後續調用多個服務從第一服務接收單編號和重複使用此標識的想法應該被稱爲相關性研究(一個大的活動/交易)或聯盟(安全相關的)不會話。
0
由於marc_s說你不能共享會話。
但是你可以做的是在你的WCF調用中傳遞會話ID作爲參數,這樣你就可以知道誰正在進行調用。
確保您在這些呼叫上使用加密。
0
推薦的方法是通過手動維護呼叫之間的會話狀態。您可以按照自己的邏輯生成會話ID,並在每次調用時將會話信息加載/保存到數據庫中。
通過這樣做,你會支持的方式會議,這將使:
- 負載均衡
- 會話共享
- 故障切換
相關問題
- 1. CGI ::客戶端之間的會話共享會話!
- 2. WCF服務之間的共享會話
- 3. ActiveMQ客戶端:會話之間共享連接?
- 4. 在多個WKWebView之間共享會話
- 5. 兩個域之間的會話共享
- 6. 在服務和客戶端之間共享WCF設置
- 7. 在WCF客戶端和服務之間共享合同
- 8. 在幾個後端應用程序之間共享用戶表
- 9. 如何在http和https之間共享一個asp.net會話
- 10. VS2010在多個WCF客戶端之間共享SOAP 1.1服務的響應Cookie
- 11. 如何在幾個賬戶之間共享Salesforce Einstein模型
- 12. 如何在ASP.NET中的多個子域之間共享會話?
- 13. 在多個域之間共享用戶會話
- 14. 在客戶端和Java後端之間共享UTC時間
- 15. 如何在客戶端和服務器之間共享類?
- 16. 如何在客戶端和自託管的WCF服務之間創建會話
- 17. 在幾個類之間共享一個AVL樹
- 18. 跨多個客戶端服務器請求和多個服務器之間共享會話
- 19. 在Ruby和PHP之間共享會話
- 20. 在php和jsp之間共享會話
- 21. EJBObject在客戶端共享?
- 22. 在兩個WCF不同服務之間共享ASP.NET會話狀態
- 23. TYPO3:如何在域之間共享會話/ cookie(每種語言一個)?
- 24. 如何在幾個類之間共享對象
- 25. WSO2在兩個租戶之間共享同一個用戶
- 26. 如何在訪問Meteor網站的不同客戶端之間共享會話?協作ToDos?
- 27. WAR之間的共享會話
- 28. 幾個WCF服務可以共享一個公共BaseAddress嗎?
- 29. .NET和Silverlight應用程序之間的共享WCF客戶端代碼?
- 30. 共享WCF服務和客戶端之間的接口(標有w/ServiceContract)
我的問題是有點笨..我以其他方式解決問題。但是你的回答對我來說非常有趣和有用。 – RredCat 2010-11-02 15:31:57