日期:2014-05-17  浏览次数:20460 次

文件操作时 造成Session 丢失问题 该如何解决?
各位大哥。。在做图片上传时候我有段代码是对文件的操作的 如下:

// 临时Temp文件 移动NewsImages
        string sourceFilePath = Server.MapPath("~/UploadFile/NewsImages/Temp/" + FileName);
        if (System.IO.File.Exists(sourceFilePath))
        {
            string destFilePath = Server.MapPath("~/UploadFile/NewsImages/" + FileName);
            System.IO.File.Move(sourceFilePath, destFilePath);
        }

        // 删除临时文件夹
        if (System.IO.Directory.Exists(Server.MapPath("~/UploadFile/NewsImages/Temp/")))
        {
            System.IO.Directory.Delete(Server.MapPath("~/UploadFile/NewsImages/Temp/"), true);
        } 
        #endregion  


加这段代码造成Session 丢失 返回登录页面?我在配置有设置Session时间 这种文件操作造成丢失怎么解决?求救
------最佳解决方案--------------------

Session["Key"] = 1;
临时Temp文件 移动NewsImages        string sourceFilePath = Server.MapPath("~/UploadFile/NewsImages/Temp/" + FileName);        if (System.IO.File.Exists(sourceFilePath))        {            string destFilePath = Server.MapPath("~/UploadFile/NewsImages/" + FileName);            System.IO.File.Move(sourceFilePath, destFilePath);        }         // 删除临时文件夹        if (System.IO.Directory.Exists(Server.MapPath("~/UploadFile/NewsImages/Temp/")))        {            System.IO.Directory.Delete(Server.MapPath("~/UploadFile/NewsImages/Temp/"), true);        } 

if(Session["Key"] == null)
{//没有值
Response.Write("Session丢失");
}
------其他解决方案--------------------
不会丢失,代码是没有问题,你查度一下SESSION的三种保持机制,试试中间那一种可以让SESSION保持的好好的
------其他解决方案--------------------
应该不会呀,你在这些代码前给session赋值然后在代码执行后判断下session的值是否还在,有可能问题不在这些代码这个位置
------其他解决方案--------------------
我注释这段代码?上传图片  Session不会丢失。。。
------其他解决方案--------------------
。。。我测试看看
------其他解决方案--------------------
顶个 
------其他解决方案--------------------
我上面的代码也提示session丢失?
------其他解决方案--------------------
不会丢失。。好像跟删除文件Session会丢失
------其他解决方案--------------------
我知道原因了。。。。谢谢各位的回答: 配置文件改成这种就好了  

<sessionState mode="StateServer"