Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 应用程序池在站点上崩溃_C#_Asp.net_.net_Iis - Fatal编程技术网

C# 应用程序池在站点上崩溃

C# 应用程序池在站点上崩溃,c#,asp.net,.net,iis,C#,Asp.net,.net,Iis,所以我一直在试图弄清楚为什么应用程序池时不时地崩溃,并且我已经确定了cau似乎是导致问题的页面 当我在浏览器中打开站点并访问Shipping cart页面(在向购物车添加内容后),整个浏览器变得无响应,我打开Task Manager,看到IE(浏览器)使用了99%的CPU,所以我右键单击>创建转储>尝试读取转储,但WinDBG似乎不喜欢DMP文件;我不会读的 所以我继续,并尝试在没有转储文件的情况下解决它。我启动VisualStudio,打开有问题的站点,然后执行相同的过程(将内容添加到购物车,

所以我一直在试图弄清楚为什么应用程序池时不时地崩溃,并且我已经确定了cau似乎是导致问题的页面

当我在浏览器中打开站点并访问Shipping cart页面(在向购物车添加内容后),整个浏览器变得无响应,我打开Task Manager,看到IE(浏览器)使用了99%的CPU,所以我右键单击>创建转储>尝试读取转储,但WinDBG似乎不喜欢DMP文件;我不会读的

所以我继续,并尝试在没有转储文件的情况下解决它。我启动VisualStudio,打开有问题的站点,然后执行相同的过程(将内容添加到购物车,然后访问购物车页面)。令我惊讶的是,一切都很好


不知道现在该怎么办。有什么建议吗?当一切都在本地完美运行时,以及过去一切都在线完美运行,但不再在线正常运行时,您如何确定挂起的原因?

如果浏览器没有响应,占用99%的CPU,这是客户端问题;它很可能与IIS或服务器端代码无关

是否您的页面中有一些javascript存在缺陷并进入繁忙循环?我认为值得一试来测试(使用IE的开发者工具(F12)、Visual Studio的javascript调试功能或FireFox与FireBug的结合)

编辑 我觉得奇怪的是,你的应用程序池崩溃了,这样做会导致web浏览器变得没有响应。对于无响应,您是否真的意味着浏览器本身停止工作(即,返回页面或转到另一个url(如google.com)是不可能的?)

无论如何,如果您认为问题发生在服务器端,您可以尝试以下方法(以增加工作量的顺序):

  • 应用程序池崩溃后,请检查windows事件日志(从命令提示符运行“eventvwr”),并查看提供的信息
  • 查看IIS日志(您可能会先查看),看看它是否包含任何奇怪的请求模式,例如您的页面被敲打)
  • 从IIS运行网站,但将Visual Studio中的调试器(在“工具”下的“附加到进程-仅包括托管代码”)附加到IIS工作进程(通常为w3wp.exe)。如果您的页面抛出异常,VS应该能够捕获它
  • 向页面添加更多跟踪,应用程序的错误似乎是一个特别好的候选

类似:对不起,@Aristos,我不明白这个公认答案中的代码与这个问题有什么关系[?]。这是一个常见的错误,会使池崩溃。检查您是否有类似的问题。顺便问一下,是什么让您相信您的应用程序池崩溃了?重新启动它“修复”了它(直到它再次崩溃)-我的web主机告诉我它也崩溃了。谢谢,但是如果是这样,为什么本地调试时本地PC上没有出现此问题(因为在线和离线版本都是相同的)?你说的在线和离线,我认为你是指在本地工作而不是在另一台机器上工作?或者在本地工作而不是在生产web服务器上托管?好问题,你是否使用完全相同的浏览器(即在同一台计算机上)连接到它吗?是的,这正是我的意思。是的,我使用的是完全相同的版本。(但同时体验此版本的客户端使用的是不同的浏览器(Safari))。