首先讓我說,我已經找到了解決方案,但我只找到了如何在Web Api中啓用會話的方式,這不是我正在尋找的方式。從Web服務訪問MVC會話
這是我需要的。在mvc中實現這個最好的方法是什麼?假設我有MVC商店應用程序。我也有移動應用程序,它使用web api來訪問我的應用程序。假設用戶將2件物品添加到購物車,那麼他必須離開,並決定繼續使用移動應用程序購物。他又增加了2個項目。所以他應該有4輛車。然後他回到家中,刷新了他的頁面,並顯示他的購物車中有4件物品。那麼......在web api和mvc項目之間共享購物車的最佳方法是什麼?我不想只將它存儲在數據庫中,並且一直讀寫數據庫。
第二個問題。有沒有任何選擇讓知道移動應用程序,該用戶剛剛添加到他的購物車沒有移動應用程序ping通web api這種信息的所有時間?
實際上,最好爲此使用數據庫。如果您使用InProc會話,則應用程序無法縮放。如果你使用SQL Session,那麼......你在一個框架上使用了一個數據庫。更好地將用戶的會話存儲在鍵/值表中的數據庫中的json中:key是UserID(或SessionID),value是包含會話數據的json字符串。把一個索引放在關鍵字上,這樣perf就不是問題了:如果你和你的應用可以輕鬆擴展。 – frenchie