ASP.NET-在线程和主线程之间共享静态字典(localhost x server)

时间:2012-03-26 12:42:57

标签: c# asp.net multithreading webforms

我正在使用网络表单。

我正在使用静态字典将数据从线程传递到主线程。问题是主线程无法看到线程添加的数据。

现在,有趣的是在localhost上运行时有效,但在我将其发布到服务器时则不行。

这是我的代码:

private static Dictionary<string, object> staticDictionary = new Dictionary<string, object>();

//start thread
protected void validtionStart_Click(object sender, EventArgs e)
        {
            if (obj != null)
                return;
            lock (((IDictionary)staticDictionary).SyncRoot)//also tried without this
            {
                obj = new Thread(new ThreadStart(ValidateImport));
                obj.IsBackground = false;//also tried true
                obj.Start();
            }

        }

protected void ReadThread()
         {
            staticDictionary["mykey"];//always null
         }

感谢。

编辑--- 更多信息:

- 用户加载页面
- 点击按钮 - &gt;后台线程被解雇。
- 页面上的Javascript不时查询服务器,服务器返回从线程读取的数据。 (这就是我称之为主线程的请求处理程序)

0 个答案:

没有答案