我有一个带有2个目录(书籍和导出)的应用程序.如果我们在应用程序中创建书籍或书籍页面,则会添加带有页面ID的目录(这用于上载资源).如果我们删除页面,则从数据库和文件系统中删除页面(及其目录).
但是这会导致会话丢失(甚至应用程序重启).我在google上查了一些东西,发现了以下链接.它似乎是ASP.NET 2.0(和3.5)中的一个问题.有没有人有这个问题的解决方案.
我们现在正在考虑编写一个将在晚上清理目录的服务.但是必须有另一个解决方案吗?哦,将目录放在虚拟目录之外不是一个选项.
尝试禁用文件系统的监视.这将阻止您的会话活动. 这篇文章可能对您有用.
哦,将目录放在虚拟目录之外不是一个选项.
将目录放在虚拟目录之外是我找到的唯一解决方案(到目前为止).你可以做的是在文件系统中创建一个链接(联结),以便目录看起来在虚拟目录中,例如:
我们的网站(虚拟目录)位于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是指向真实数据目录的链接/联结.您可以使用该链接,就像它是一个物理目录一样.
例如,在您的网站中,您可以使用以下代码访问它:
Server.MapPath("~/data")
您还可以使用Windows文件浏览器并浏览到C:\ projectX\website\data.它看起来就像一个真实的目录.