如果在共享函数中访问httpcontext而不传入httpcontext作为参数,是否有线程安全问题?在共享函数线程中访问httpcontext安全吗?
我的问题是:util类中的2个函数是否同样线程安全?
Class foo
Sub main()
Dim qs1 = util.getQS(HttpContext.Current)
Dim qs2 = util.getQS()
End Sub
End Class
Class util
Shared Function getQS(hc As HttpContext) As String
Return hc.Request.QueryString.ToString
End Function
Shared Function getQS() As String
Return HttpContext.Current.Request.QueryString.ToString
End Function
End Class
编辑
我发现了一个SO后,我错过了我最初的研究,其中也有一些很好的答案。
感兴趣的: HttpContext.Current.Response inside a static method
Thanks @RickNZ - 这些后台工作线程可以从哪里发起? IIS? – KorsG 2012-01-06 17:09:04
如果将'HttpContext'存储到一个静态变量中,那么它对IIS线程可见(不好)。后台线程是您直接使用'new Thread()'创建的线程或通过某种类型的ThreadPool间接使用的线程。 – RickNZ 2012-01-06 23:43:22