删除目录会导致应用程序重新启动

use*_*964 4 asp.net directory session delete-directory

我有一个带有2个目录(书籍和导出)的应用程序.如果我们在应用程序中创建书籍或书籍页面,则会添加带有页面ID的目录(这用于上载资源).如果我们删除页面,则从数据库和文件系统中删除页面(及其目录).

但是这会导致会话丢失(甚至应用程序重启).我在google上查了一些东西,发现了以下链接.它似乎是ASP.NET 2.0(和3.5)中的一个问题.有没有人有这个问题的解决方案.

我们现在正在考虑编写一个将在晚上清理目录的服务.但是必须有另一个解决方案吗?哦,将目录放在虚拟目录之外不是一个选项.

Sac*_*aur 6

尝试禁用文件系统的监视.这将阻止您的会话活动. 这篇文章可能对您有用.


M4N*_*M4N 5

哦,将目录放在虚拟目录之外不是一个选项.

将目录放在虚拟目录之外是我找到的唯一解决方案(到目前为止).你可以做的是在文件系统中创建一个链接(联结),以便目录看起来在虚拟目录中,例如:

  • 我们的网站(虚拟目录)位于C:\ projectX\website
  • 数据目录(我们创建/删除文件和文件夹的位置)位于C:\ projectX\data
  • 然后我们创建一个链接,使数据文件夹可用作C:\ projectX\website\data

使用程序Linkd.exe(在Windows资源工具包中提供)使用以下命令创建链接:

linkd c:\projectX\website\data c:\projectX\data
Run Code Online (Sandbox Code Playgroud)

现在c:\ projectX\website\data是指向真实数据目录的链接/联结.您可以使用该链接,就像它是一个物理目录一样.

例如,在您的网站中,您可以使用以下代码访问它:

Server.MapPath("~/data")
Run Code Online (Sandbox Code Playgroud)

您还可以使用Windows文件浏览器并浏览到C:\ projectX\website\data.它看起来就像一个真实的目录.