2

Using HttpContext.Current.Items we can access variables from current request

My question is what if the request moves to different thread, can we still access this ?

if Yes, how can we access it ?

I assume it will throw null reference exception ?

I am trying with the below code, but it throws Null Ref Exception

    public partial class WebForm1 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }

    protected void BtnClick(object sender, EventArgs e)
    {
        HttpContext.Current.Items["txtbox1"] = txtbox1.Value;
        var t = new Thread(new Threadclas().Datamethod());
        t.Start();
                }
}

public class Threadclas
{
    public void Datamethod()
    {
        var dat = HttpContext.Current.Items["txtbox1"];
        **//how can i access HttpContext here** ?
    }


}
4

1 に答える 1

3

ASP.Net が要求を実行することを決定したスレッドに関係なく、常にHttpContext.Current.Items現在の要求からアクセスできます。

非同期アクションの動作について具体的に質問している場合は、ASP.Net ランタイムがすべてのスレッドの問題を透過的に処理します。そのトピックの詳細については、お勧めします

http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4

于 2013-03-04T07:27:50.933 に答える