一运行网站,就会报
“发生类型为 System.StackOverflowException 的异常。 ”
---------------------------------- //生成以当前时间为名字的目录,并且返回目录地址;
public string CreateDirectory()
{
string path=HttpContext.Current.Request.PhysicalApplicationPath+@"articles\data\";//整个程序的物理路径加上+"articles\data\"
path=path+DateTime.Now.Year.ToString();
if (Directory.Exists(path))
{
path=path+"\\"+DateTime.Now.Month.ToString();
if (Directory.Exists(path))
{
return path+"\\";
}
else
{
Directory.CreateDirectory(path);
return path+"\\";
}
}
else
{
Directory.CreateDirectory(path);
CreateDirectory();//递归调用用来检查月份目录是否生成
return path+"\\";
}
}

解决方案 »

  1.   

    没调试,个人觉得是因为asp.net这个帐户没有创建文件夹的权限而导致的...
      

  2.   

    堆栈益处了,递归函数没有找到出口。
    建议debug一下,跟踪进去看看。小问题两个:
    把HttpContext.Current.Request.PhysicalApplicationPath 改成Server.MapPath("/");
    else
    {
        Directory.CreateDirectory(path);
        CreateDirectory();//递归调用用来检查月份目录是否生成
        return path+"\\";
    }
    这里的return 有点小问题,返回的路径是不对的。