Object not serializable

ArronGrasman

New Member
i have a fileupload control in asp.net, used to upload images. i want to show preview the image in \[code\]image\[/code\] control of asp.net. here is the aspx codeASPX\[code\]<script type="text/javascript"> function FU_Img_onchange(oFU_Img) { alert("sak"); var img = document.getElementById("<%= Btn_Preview.ClientID%>"); img.click(); } function FU_Video_onchange(oFU_Vid) { var vid = document.getElementById("<%= VidPreview.ClientID %>"); vid.click(); }</script>\[/code\]
C# code behind\[code\] protected void Btn_Preview_Click(object sender, EventArgs e) { try { if (FU_Img.HasFile) { string path = Server.MapPath("/TempImages"); FileInfo oFileInfo = new FileInfo(FU_Img.PostedFile.FileName); string fileName = oFileInfo.Name; string fullFileName = path + "//" + fileName; string imagePath = "/TempImages/" + fileName; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } Session["FileUpload"] = FU_Img; FU_Img.PostedFile.SaveAs(fullFileName); Img_Prof.ImageUrl = imagePath; } } catch (Exception ex) { using (StreamWriter sw = new StreamWriter("/log.txt")) { sw.NewLine = DateTime.Now.ToString() + "--->>" + ex.ToString() + "\n" + ex.StackTrace.ToString(); } } }\[/code\]as you can see, i am putting my image control in session. it works fine on development server. when i posted the site to domain i get the issue\[code\]Unable to serialize the session state. In 'StateServer' and 'SQLServer' mode, ASP.NET will serialize the session state objects, and as a result non-serializable objects or MarshalByRef objects are not permitted. The same restriction applies if similar serialization is done by the custom session state store in 'Custom' mode.\[/code\]Stack Trace\[code\][SerializationException: Type 'System.Web.UI.WebControls.FileUpload' in Assembly 'System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' is not marked as serializable.] System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType type) +7738443 System.Runtime.Serialization.FormatterServices.GetSerializableMembers(Type type, StreamingContext context) +258 System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo() +111 System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter) +422 System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter) +51 System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck) +410 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck) +134 System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer) +1577[HttpException (0x80004005): Unable to serialize the session state. In 'StateServer' and 'SQLServer' mode, ASP.NET will serialize the session state objects, and as a result non-serializable objects or MarshalByRef objects are not permitted. The same restriction applies if similar serialization is done by the custom session state store in 'Custom' mode.] System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer) +1662 System.Web.SessionState.SessionStateItemCollection.WriteValueToStreamWithAssert(Object value, BinaryWriter writer) +34 System.Web.SessionState.SessionStateItemCollection.Serialize(BinaryWriter writer) +606 System.Web.SessionState.SessionStateUtility.Serialize(SessionStateStoreData item, Stream stream) +239 System.Web.SessionState.SessionStateUtility.SerializeStoreData(SessionStateStoreData item, Int32 initialStreamSize, Byte[]& buf, Int32& length) +72 System.Web.SessionState.OutOfProcSessionStateStore.SetAndReleaseItemExclusive(HttpContext context, String id, SessionStateStoreData item, Object lockId, Boolean newItem) +87 System.Web.SessionState.SessionStateModule.OnReleaseState(Object source, EventArgs eventArgs) +560 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +68 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75`\[/code\]I am sure there is something wrong with fileupload control and session. But please guide in proper direction what should i do?thanks in advance
 
Back
Top