我只是想删除project folder
中的Directory
。在运行时删除目录
该文件夹具有所有网络sharing authority and permission
。
问题出在我deleting the folder
。
从serverpath(Virtual Directory)
中删除文件夹。
但我的问题是,当我完成了我的任务,点击任何控制它将我重定向到Login page
与return url
上仍然有根目录下的secure authentication
可
我只是想删除project folder
中的Directory
。在运行时删除目录
该文件夹具有所有网络sharing authority and permission
。
问题出在我deleting the folder
。
从serverpath(Virtual Directory)
中删除文件夹。
但我的问题是,当我完成了我的任务,点击任何控制它将我重定向到Login page
与return url
上仍然有根目录下的secure authentication
可
应用程序域回收时 子目录被删除,这就是为什么你的会话将丢失,你被重定向到登录页面。
欲了解更多详情,请查看这篇文章从MSDN博客和读为什么一个应用程序域回收?从这里 ASP.NET Case Study: Lost session variables and appdomain recycles
,并检查这一个Deleting ASP.NET 2.0 Application Sub-Directories Shuts Down the AppDomain
谢谢阿赫塔尔我明白这个问题,但你能告诉我解决这个问题吗?我该如何克服这种情况 – Vir 2011-05-21 13:52:00
从项目的根可以代替文件夹放到App_Data文件夹?
正如在另一个答案中指出的那样,这是因为每当您删除Web应用程序的目录结构中的文件夹(即在Web应用程序的根目录下)时,Web应用程序都会重新启动。
我发现这个问题的唯一解决方案是将数据目录(您创建/删除/修改)移到Web应用程序的根目录/虚拟目录之外。
然后,我们在文件系统中创建一个链接(联结),以便目录看起来在虚拟目录中。这可以防止ASP.NET监视数据目录以进行删除操作。
例子:
C:\projectX\website
C:\projectX\data
C:\projectX\website\data
链接使用程序创建Linkd.exe
(在Windows资源工具包可得),用下面的命令:
linkd c:\projectX\website\data c:\projectX\data
现在C:\projectX\website\data
是链路/结指向真实数据的目录。在您的Web应用程序中,您可以继续工作,就好像数据目录是Web应用程序根目录下的物理目录一样。
例如在您的网站上,你可以使用此代码访问数据的文件夹:
Server.MapPath("~/data")
而且你还可以使用Windows文件浏览器,浏览到C:\ projectX创建\网站\数据。它看起来就像一个真实的目录。
正如您所看到的,您可以继续使用链接的数据文件夹,就好像它是Web应用程序目录中的普通文件夹一样。唯一的区别是ASP.NET不会跟踪目录进行删除操作,因此不会重新启动应用程序。这意味着,您现在可以根据需要在~/data
目录内创建/删除/修改文件夹和文件,而无需重新启动Web应用程序。
我真的不明白你的问题。你能改述最后一句话吗? – 2011-05-14 09:45:43