IIS和DFS上的asmx WebService中偶尔会出现“无法加载文件或程序集”

我们有两个相同的Windows Server 2003盒子托pipe的ASMX Web服务。 Web服务的虚拟目录加载到DFS共享中,两个服务器都指向相同的共享。 我们在互联网和两个networking服务器之间有一个负载平衡器。

在用户尝试访问Web服务上的方法时,看似随机的时间间隔(现在大概是每周两次),IIS返回错误:方法调用中使用的程序集之一的“无法加载文件或程序集”并会在每次调用方法时继续报告,直到应用程序池被回收。

我们还没有发现任何可区分的问题模式。 这就是我所知道的:

  • 缺less的assembly变化(但它总是一个自制的组装)
  • Web服务方法失败
  • 问题出现的时间或间隔没有明显的模式
  • 出现问题时,没有pipe理员用户访问服务器
  • 失败的方法将在一台服务器上正常工作,并在另一台服务器上失败,即使它们都指向同一个bin文件夹
  • 该问题总是可以通过回收应用程序池并且不作其他更改来纠正

我已启用大会活页夹日志,并知道活页夹正在寻找文件的正确位置。

我们的程序集是为.Net 3.5编译的。

我们有类似的问题。

我们从来没有正式计算出发生了什么事情,但我们将问题缩小到web.config和用户访问承载程序集文件的文件夹中的模拟级别。

我们发现有时IIS工作进程会尝试加载程序集作为访问Web请求的人。 我们可以看到,试图加载程序集的线程当前正在模拟一个用户向其中一个asp.net页面发出请求。

无论如何,我们通过授予对域中经过身份validation的用户的访问来解决此问题。 希望你能find更好的解决scheme。