Hi to everyone,
I'm using the AsyncFileUpload control to upload images. It works fine from loaclhost, but when I uploaded it on server I get the following error.
I can't even understand the reason of this error.
I'll appreciate any answer.
Thanks in advance
This is the Method that I'm using
protected void AsyncFileUpload1_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e) {
string email = WriteYourEmailTXT.Text;
var dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day).ToString("ddMMyyyy");
string parentFolder = Server.MapPath("uploads");
string childFolder = parentFolder + "\\" + email + "\\";
if (!Directory.Exists(childFolder))
Directory.CreateDirectory(childFolder);
string counter = getCount();
if (AsyncFileUpload1.HasFile) {
string ext = getExtension(AsyncFileUpload1.FileName);
string finalName = dt + "_" + counter + ext;
string finalPath = childFolder + finalName;
AsyncFileUpload1.SaveAs(finalPath);
SetCount();
SetFileName(finalName);
}
}
protected void SetCount() {
HttpCookie aCookie = Request.Cookies["CountPhoto"];
int cookieNum = 0;
if (aCookie != null)
if (aCookie.Value != "")
cookieNum = int.Parse(aCookie.Value.ToString());
string newvalue = (cookieNum + 1).ToString();
Response.Cookies["CountPhoto"].Value = newvalue;
}
protected void SetFileName(string fileName) {
HttpCookie aCookie = Request.Cookies["FileName"];
var filename = "";
if (aCookie != null)
if (aCookie.Value != "") {
filename = aCookie.Value;
}
string newFileName = filename + "," + fileName;
Response.Cookies["FileName"].Value = newFileName;
}
Error
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.
Stack Trace: [SerializationException: Type 'System.Web.HttpPostedFile' 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) +7733643
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) +161 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