急,asp.net中序列化问题
我在web中设置了<sessionState mode='StateServer' stateConnectionString='tcpip=127.0.0.1:42424' sqlConnectionString='data source=127.0.0.1;Trusted_Connection=yes' cookieless='false' timeout='1200'/>
刚刚添加了一个页面,但是运行后提示:无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式下执行了类似的序列化,则适用同样的限制。[SerializationException: 程序集“System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”中的类型“System.Web.UI.WebControls.FileUpload”未标记为可序列化。]
如果把mode类型改成InProc 就可以,但是我在不想改变mode的类型,请问如何修改我的页面代码 ,谢谢 首次遇到这样的问题,请大家帮助
部分代码如下:
/// <summary>
/// 用于保存当前页面上传文件控件集到缓存中
/// </summary>
protected void SaveFUC()
{
ArrayList AL = new ArrayList();
foreach (System.Web.UI.Control C in tabFU.Controls)
{
if (C.GetType().ToString() == "System.Web.UI.HtmlControls.HtmlTableRow")
{
HtmlTableCell HTC = (HtmlTableCell)C.Controls[0];
foreach (System.Web.UI.Control FUC in HTC.Controls)
{
//判断该控件是否为上传控件(FileUpLoad),如果是,则添加到ArrayList中
if (FUC.GetType().ToString() == "System.Web.UI.WebControls.FileUpload")
{
FileUpload FU = (FileUpload)FUC;
AL.Add(FU);
}
}
}
}
------解决方案--------------------
说的很清楚
“System.Web.UI.WebControls.FileUpload”未标记为可序列化。]
这个对象不支持序列化呀