2

我最近开始使用启用 AJAX 的 WCF,并且一直受到这个 .NET 缓存问题的困扰 -无法加载文件或程序集 App__Web__hamznvwf

我的服务器每天有 4 到 5 次出现此问题(Win 2003) - 请参阅第一篇文章

所以我将我的文件从服务器上移开并开始在本地运行项目(Win XP)。啊!问题再次出现 -本地。它发生在重新启动后!您认为这是在我的本地计算机和服务器上导致此问题的网络策略吗?我想我会尝试 向所有人打开
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files 。
看看这是否有帮助?

在致电 MS Support 之前,我还应该尝试什么其他事情?

如何在 ASP.NET 临时文件中删除我的“AppNameFolder”?我以为我可以关闭内置的调试网络服务器,就是这样。有些东西阻止我删除它。

4

3 回答 3

3

哇,这个有点牛逼。我做了一些研究,显然很多人多年来一直在经历这个问题。您可能正在缓存网站中定义的类型。此类类型没有程序集,因此在运行时为它们随机生成一个。下次你回收你的 web 服务器时,你的类型会得到一个不同的随机生成的程序集,并且你的缓存将无法反序列化,因为旧的程序集不再存在。您可以尝试以下一些可能的修复方法:

  • 在单独的程序集中而不是在您的网站中定义所有类型。
  • 在您的本地机器上,查看在 webdev 而不是 iis 中运行该站点是否具有相同的行为。
  • 如果您使用的是进程外 (SQL Server) 会话/缓存存储,请尝试使用进程内(本地内存中)会话/缓存存储
  • 删除 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files 下的所有子目录(正如 Dimi 提到的,使用 Unlocker 来打破任何应用程序可能拥有的锁定)
  • 如果您在部署时预编译您的网站,请确保在部署之前关闭您的 Web 服务器。(显然,如果用户在旧版本的网站上请求页面,那么在部署新版本时它会搞砸。)
于 2009-02-02T18:49:22.220 回答
1

您是否尝试过禁用索引服务?此外,转移到Web 应用程序项目并查看此问题是否仍然存在可能是值得的。

于 2009-01-09T18:07:18.583 回答
0

除了上一张海报所说的,我建议使用这样的工具 确定问题所在。

于 2009-01-11T11:36:53.440 回答