好吧,这是真正奇怪的错误之一,似乎机器只是弄乱你。 我们有2个网站,ASP.NET,都是2.0,我们将它们都升级到4.0。 它们是完全相同的代码库,但web.config文件不同,它们指向不同的数据库,它们在IIS中作为单独的Web应用程序运行。
升级后,一个工作,一个不工作。
不起作用的那个将在Microsoft AJAX Control工具包周围抛出一堆javascript错误,例如“未定义Sys”,“未定义类型”和“未定义__nonMSDOMBrowser”(在firebug中)。当我在firebug中使用Scripts面板时,它列出了所有不同的'... ScriptResource.axd?d = IOBqtxq ...'脚本,但当我要求查看它们时,其中许多将返回'无法加载源代码:/ScriptResource.axd?d = IOBqtxq7p ...'。
他们中的一些确实带着CodePlex版权和一些javascript返回,但其中许多人没有。而真正奇怪的是什么?如果我们为破损的站点回收应用程序池,我们在第一次访问该站点时不会收到这些错误。回发工作,我们登录等。然后我们回去再次点击它,javascript错误又回来了,没有回发。
有什么想法吗?
答案 0 :(得分:0)
好吧,我讨厌回答我自己的问题,但由于没有其他人在努力,这是我们提出的最好的。
在IIS中有一个用于指定Web Garden Threads的网站的设置,我假设如果该站点位于负载平衡的Web园中,则使用多少线程。我们将这个新站点设置为7,这就是它在.NET 2.0中的表现。显然2.0更宽容(或忽略它),但4.0吓坏了。对网站的单个请求是对许多不同资源的请求,这些资源最终由不同的线程处理,正如您可以想象的那样,这会导致混乱。并且它每次都不同,具体取决于哪些线程做什么。
所以,除非其他人对此有解释,否则我会关闭它。
答案 1 :(得分:0)
从同一个应用程序池中运行许多应用程序可能会导致非常奇怪的ajax行为。通常情况下,您会看到共享DefaultAppPool的应用程序。
尝试为应用程序创建单独的应用程序池。