为了账号安全,请及时绑定邮箱和手机立即绑定

asp.net web 环境下使用多线程,对象为NULL,容易使IIS 应用程序池崩溃

asp.net web 环境下使用多线程,对象为NULL,容易使IIS 应用程序池崩溃

墨色风雨 2018-09-06 19:13:23
很多时候需要一个线程异步执行ThreadPool.QueueUserWorkItem(TryCreateDataAsync, info);大多数时候我这样异步执行一个任务在这种情况下TryCreateAndSaveData 这个方法 里面经常出现错误,致使IIS 应用程序池崩溃报错提示:this.storeDataList.Add(info.Store, outdata); 对象为null    void TryCreateDataAsync(object o)    {        RequestInfo info = o as RequestInfo;        //创建并存储缓存        Store.StoreData outdata = null;        TryCreateAndSaveData(info, out outdata);    }    bool TryCreateAndSaveData(RequestInfo info, out Store.StoreData outdata)    {        outdata = CreateData(info);        if (outdata != null)        {            //存入store            if (outdata.Seconds > 0 && outdata.BodyData.Length >= 0)            {                this.storeDataList.Add(info.Store, outdata);            }            return true;        }        return false;    }
查看完整描述

2 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

要看你这个PageCache是怎么实现的了, 如果是用HttpContext那就是不行的。多线程下是获取不到HttpContext的

查看完整回答
反对 回复 2018-09-23
  • 2 回答
  • 0 关注
  • 861 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信