共有関数内の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
EDIT
私は、私はまた、いくつかの良い答えを持っている私の最初の研究で逃したSOポストを見つけました。
興味のあるもの: HttpContext.Current.Response inside a static method
ありがとう@RickNZ - これらのバックグラウンドワーカースレッドはどこから発生しましたか? IIS? – KorsG
'HttpContext'を静的変数に格納すると、IISスレッドから見えるようになります(うまくいかない)。バックグラウンドスレッドは、 'new Thread()'で直接作成するものや、ある種のThreadPool経由で間接的に使うものです。 – RickNZ