Monday, April 28, 2014

asp.net threads, tasks, - httpcontext.current returns null / nothing

try running threads in asp.net, and access httpcontext.current, it will return null / nothing.

solution below. 


    Protected Sub Page_Load(sender As Object, e As EventArgs)

        HttpContext.Current.Items("hello") = "aloha"
        Dim ctx = HttpContext.Current
        Threading.Tasks.Task.WaitAll({Threading.Tasks.Task.Factory.StartNew(Sub()
                                                  
                                                                                HttpContext.Current = ctx
                                                                                haha()
                                                  
                                                                            End Sub)
                                     })
        
        
    End Sub
    
    Sub haha()
       
        Response.Write(HttpContext.Current.Items("hello"))
        
    End Sub