当前位置:编程学习 > C#/ASP.NET >>

江湖救急~


在做36小时性能并发测试时,  4个多小时后 出现了一下错误.8,9个小时后出现了第二次  同样错误

平均1个用户 几十秒就可以执行完整个流程,循环在做此流程.刚开始没出现此错误.   

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="ASP.NET 2.0.50727.0" /> 
  <EventID Qualifiers="32768">1309</EventID> 
  <Level>3</Level> 
  <Task>3</Task> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2013-10-23T07:06:40.000000000Z" /> 
  <EventRecordID>26905</EventRecordID> 
  <Channel>Application</Channel> 
  <Computer>WIN-M1CDB51VKSQ</Computer> 
  <Security /> 
  </System>
- <EventData>
  <Data>3005</Data> 
  <Data>发生了未处理的异常。</Data> 
  <Data>2013/10/23 15:06:40</Data> 
  <Data>2013/10/23 7:06:40</Data> 
  <Data>a02f97e88ad14ea382448c7f0762c175</Data> 
  <Data>1138318</Data> 
  <Data>1</Data> 
  <Data>0</Data> 
  <Data>/LM/W3SVC/2/ROOT-1-130269721739342764</Data> 
  <Data>Full</Data> 
  <Data>/</Data> 
  <Data>D:\IRB\</Data> 
  <Data>WIN-M1CDB51VKSQ</Data> 
  <Data /> 
  <Data>3856</Data> 
  <Data>w3wp.exe</Data> 
  <Data>IIS APPPOOL\IRB</Data> 
  <Data>ArgumentException</Data> 
  <Data>序列化类型“System.Data.DataTable”的值“ds”时出错。</Data> 
  <Data>http://10.114.4.35/NetInterestIncome/Deposit/Forecast_NewBusiness_Deposit_Step3_Arg1.aspx?ReportID=31&ProdList=38,39,74&State=1&Quarter=4</Data> 
  <Data>/NetInterestIncome/Deposit/Forecast_NewBusiness_Deposit_Step3_Arg1.aspx</Data> 
  <Data>10.114.4.166</Data> 
  <Data /> 
  <Data>False</Data> 
  <Data /> 
  <Data>IIS APPPOOL\IRB</Data> 
  <Data>9</Data> 
  <Data>IIS APPPOOL\IRB</Data> 
  <Data>False</Data> 
  <Data>在 System.Web.UI.ObjectStateFormatter.SerializeValue(SerializerBinaryWriter writer, Object value) 在 System.Web.UI.ObjectStateFormatter.Serialize(Object stateGraph) 在 System.Web.UI.Util.SerializeWithAssert(IStateFormatter formatter, Object stateGraph) 在 System.Web.UI.HiddenFieldPageStatePersister.Save() 在 System.Web.UI.Page.SaveAllState() 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)</Data> 
  </EventData>
  </Event> asp.net --------------------编程问答-------------------- 加静态锁,最好用单例模式
        private static volatile pageCache instance = null;
        private static object thislock = new object();//静态锁
        private pageCache()
        {
            cache = SiteCache.GetCacheService();
            db = new DBTool();
        }
        /// <summary>
        /// 单体模式返回当前类的实例
        /// </summary>
        /// <returns></returns>
        public static pageCache GetCacheService()
        {
            if (instance == null)
            {
                lock (thislock)
                {
                    if (instance == null)
                    {
                        instance = new pageCache();
                    }
                }
            }
            return instance;
        }
        /// <summary>
        /// 添除商品信息
        /// </summary>
        public void clearCommodity()
        {
            lock (thislock)
            {
                cache.RemoveObject(_commodity_cache_path);
            }
        }
        /// <summary>
        /// 获取商品信息
        /// </summary>
        /// <returns></returns>
        public DataTable getCommodity()
        {
            DataTable _list = cache.RetrieveObject(_commodity_cache_path) as DataTable;
            if (_list == null)
            {
                lock (thislock)
                {
                    string query = "Select * From v_gl_indexCommodity ";
                    DataTable dt = db.ExecuteTable(query, null);
                    if (dt != null)
                    {
                        _list = dt;
                        cache.AddObject(_commodity_cache_path, _list);
                    }
                }
            }
            return _list;
        } --------------------编程问答-------------------- 我加了个锁之后,在跑了12个小时之后 又出现了同样的问题.
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,