asp.net使用线程遇到的问题?????????
常识在asp.net中使用线程
private void Page_Load(object sender, System.EventArgs e)
{
lock(this)//确保临界区被一个Thread所占用
{
Thread thread=new Thread(new ThreadStart(dowork));
thread.Start();
}
}
public void dowork()
{
SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings[ "mconn "]);
SqlCommand cmd=new SqlCommand( "Insert Into biao1 (na)values( 'test ') ",conn);
conn.Open();
for(int i=0;i <50;i++){cmd.ExecuteNonQuery();}
conn.Close();
}
如果是这样的话就没有错误
但是如果我把
dowork()里面替换成
HttpContext.Current.Response.Write( "Thread started. Main done. ");
也就是
public void dowork()
{
HttpContext.Current.Response.Write( "Thread started. Main done. ");
}
就提示
未处理的“System.NullReferenceException”类型的异常出现在 未知模块 中。
其他信息:
未将对象引用设置到对象的实例。
没有 可用于当前位置的源代码
这是为什么???
------解决方案--------------------asp.net 下最好不要用多线程
------解决方案--------------------可以用 似乎调用时要用个委托吧
------解决方案--------------------不是相同的进程赵成的