我需要能夠輕鬆地爲我們在MVC項目之外的程序集中運行的許多查詢獲取用戶名。我只是爲所有呼叫添加一個參數,但實際上有數百個參數。從外部庫併發訪問HttpContext
我的同事建議我傳遞一個靜態引用到HttpContext(大概在OnApplicationStarted或類似的東西)並從那裏獲取用戶名。
HttpContext總是有關於當前用戶會話的信息。我對此的關注是,如果我的對象(存在於單獨的程序集中)不會知道哪個用戶準確地從中獲取信息,並且雖然這可能適用於單個用戶,但它會將錯誤的用戶名更改爲更多用戶開始訪問系統。
這是識別用戶名的可行方法嗎?
HttpContext如何知道哪個用戶是當前用戶?該機制是否在項目之外被切斷?
如果您可以在外部庫中使用Session,那麼您應該在會話中設置用戶名並從那裏訪問它。所有的意思是說從會話中獲取用戶名信息。 –
@AnkushJain:有趣的是你認爲它應該可以工作。我擔心的是,因爲這將是一個靜態對象(即所有用戶只有1個),當用戶名被拉時,它可能是針對其他人的。 – micahhoover
我不是說要創建一個靜態變量。我要求使用會話變量。會話總是用戶特定的。 –