江湖救急~
在做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