HttpContext is Nothing in new Thread inside a control

  • Thread starter Thread starter Claudio Biagioli
  • Start date Start date
C

Claudio Biagioli

I start a parallel thread inside a control with the following code:

Private Sub StartParallelProc(ByVal Command As SqlClient.SqlCommand)

Dim T As New Threading.Thread(AddressOf ParallelProc)

Command.Parameters("MyID").Value = Guid.NewGuid.ToString

System.Web.HttpContext.Current.Session("ID") = Command

T.Start()

End Sub

Private Sub ParallelProc()

Dim Command As SqlClient.SqlCommand = DirectCast(System.Web.HttpContext.Current.Session("ID") ,SqlClient.SqlCommand )

Command.ExecuteNonQuery()

'other code...


End Sub

The StartParallelProc procedure is called from the CreateChildControls of the Control.

Now, inside the ParallelProc, in the new thread, the System.Web.HttpContext.Current property appears to be Nothing.

Also if I try to access Page.Session property I have an error.

This does not happen if I have the same code inside a page instead of inside a control.

Any Idea, solution?

Do you know alternative ways to communicate between the threads (to pass the ID property and other info?)
 
As far as i know the only way to do it is to pass the Context as
parameter to the thread. let me know if you need a sample.

Natty Gur, CTO
Dao2Com Ltd.
28th Baruch Hirsch st. Bnei-Brak
Israel , 51114

Phone Numbers:
Office: +972-(0)3-5786668
Fax: +972-(0)3-5703475
Mobile: +972-(0)58-888377

Know the overall picture
 
I actually would like a sample of passing a parameter to a thread. I know
it it possible, but the only thing I could find was NOT passing it to the
thread.

Thanks,

bill
 
Back
Top