在web项目中对服务器上的文件进行管理,其中有个功能是文件夹的重命名我在msnd中没找到直接更改文件夹名字的办法,只能通过复制我是这样的的
public string renameDir(string oldPath,string newPath)
{
DirectoryInfo di = new DirectoryInfo(newPath);
if (di.Exists == true)
{
return "重名!";
}
else
{
DirectoryInfo dis = new DirectoryInfo(oldPath);
dis.MoveTo(newPath);
//dis.Delete(true);
return "成功!";
}
}现在的问题是,执行超作后都要重新登陆,,不知道有没有更好的办法???

解决方案 »

  1.   

    上面得方法是正确得,不过我开始怀疑是否能移动成功,如果正在访问得文件可能就无法移动了.
    关于移动后登陆得问题,一般看来肯定是要重新登陆.比如http://xxx.xx.xx/admin/1.aspx
    ADMIN目录移动到admin2了,在其他人得客户端上都是ADMIN得路径,当然不行,如果在客户端保存得是一个http://xxx.xx.xx/go.aspx?url=1.aspx,只会将url后得路径转换到实际得admin目录下操作还是可行得.比如用户登陆后的页面显示<a href=http://xxx.xx.xx/go.aspx?url=1.aspx>操作一</a>点击后go.ASPX页面查询admin目录到底是什么,如果是admin就转到http://xxx.xx.xx/admin/1.aspx,如果是admin2就转到http://xxx.xx.xx/admin2/1.aspx,这样连真实的admin目录都可以对客户隐藏了,缺点就是增加一个中间过程,降低了一点点效率(如果admin路径存放在appction效率影响不会大),记得修改目录后要更新这个记录.