7
在我的web應用程序中,我使用的是System.Web.HttpContext.Current
,它表示當前的命中上下文,我想知道它是如何從任何地方訪問的,直到我注意到它是一個static
成員! 雖然它的靜態成員如何保持它的價值,而如果兩個請求幾乎在同一時間收到。 像下面這樣:System.Web.HttpContext.Current在請求之間是靜態的
#Req1----> | set the value of the static field to req1
#Req2----> | set the value of the static field to req2
#Req1 | use that static its supposed to be req2 while its req1
我錯過理解的東西,或在它裏面一招還是什麼?
先生,非常感謝您的回答!現在一切都變得更加清晰了,但是我有一個問題,你用'LogicalCallContext'實現了什麼意思,並且再次感謝你提供了非常有用的答案。 – Hilmi 2013-03-23 14:35:46
當您使用Reflector撬開屬性時,您會發現該值不是來自靜態線程本地字段,而是來自CallContext,而來自LogicalCallContext。他們是我不瞭解的低級基礎課。它們實質上是每個線程的數據結構(但不完全)。我認爲ASP.NET或WCF中的每個請求都有一個這樣的調用上下文,但我可能是錯誤的。 – usr 2013-03-23 14:44:25
非常感謝先生,我會進一步搜索這個主題,但你的答案已經完成!再次感謝。 – Hilmi 2013-03-23 14:47:12