簡體   English   中英

在localhost上使用angular5時啟用asp.net Web API會話

[英]enable asp.net web api session when working with angular5 on localhost

在生產模式下,我在同一站點上有angular 5客戶端和Web api,因此會話沒有問題,但是在開發模式下,我的angular 5托管在localhost:4200上,它將在每次調用服務時重置會話。

我可以在開發模式下將angular 5和Web API托管在同一主機上,但這意味着我必須一直進行構建(這會產生很大的開銷)。

有任何想法嗎? 我應該使用會議嗎? 還是有更好的方法?

更新

首先,就像Andrei Dragotoniu所說的那樣,在Web api中使用會話不是最佳實踐,應避免使用。

但是,如果Web api必須使用會話,那么我已經找到了開發模式的解決方案-將代理添加到angular 5項目:我必須將請求代理到Web api服務器,然后將請求代理到Web api和Web api是同一個域。

如何向angular 5項目添加代理:

angular-cli服務器-如何將API請求代理到另一台服務器?

如果您談論的是點網后端會話,則不可以,您不應該嘗試使用它。 原因很簡單,一個api是無狀態的,每個請求都是獨立的,並且需要擁有完成該請求所需的所有數據。

但是,在客戶端,您可以使用一些東西來存儲東西供以后使用,本地存儲是一個很好的選擇。

另外,在angular中,您可以使用單例服務共享數據: https : //angular.io/guide/singleton-services

這些服務僅創建一次,您可以將數據存儲在其中,將它們注入任何需要的組件中,它們實際上成為共享數據的一種方式。 如果碰巧硬加載應用程序,那么所有數據都會丟失,因此在這種情況下本地存儲可以提供幫助。

我懷疑您最終將獲得單例服務和本地存儲的組合,但是不要試圖在無狀態api中使用會話。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM