将Visual Studio调试器附加到Sharepoint 2007工作进程会导致进程崩溃

时间:2009-10-01 15:53:55

标签: asp.net sharepoint iis sharepoint-2007 debugging

尝试附加到与sharepoint关联的iis工作进程时,工作进程终止,并显示以下错误:

The web server process taht was being debugged has been terminated by IIS. http://blog.chrisballance.com/content/binary/workerProcessError.png

我部署了正确的程序集,因为在我的代码中添加以下行会在未附加调试器时产生相同的效果,同样会崩溃Sharepoint的IIS工作进程:

System.Diagnostics.Debugger.Break();

环境

  • Visual Studio 2008
  • IIS7
  • 具有4GB内存的单处理器VM

这里有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您是否检查过错误消息中提到的“Ping最长响应时间”是否未设置为SharePoint应用程序池的极低值?

IIS管理器=>应用程序池=> (选择apppool)=>高级设置

默认值为90秒,但对于实际调试,您可能希望增加

答案 1 :(得分:1)

克里斯,

我不知道你的代码在哪里进入调试,但我的猜测是它在某个部分以某种方式破坏了与工作进程的通信。如果标准检查是工作进程运行状况的就地(默认行为),则IIS确定您的工作进程已无响应并正在回收它。

我在代码方面没有建议,但您是否尝试在调试时禁用应用程序池运行状况检查?对于为您的站点提供服务的工作进程,这将需要以下内容:

  1. 取消选中相关应用程序池配置设置的“回收”标签上选中的任何框。
  2. 取消选中与ping和快速失败保护相关联的“运行状况”选项卡设置。
  3. 执行此操作应该会阻止IIS假设您的工作进程“挂起”,实际上它已暂停并等待您的干预。

    我希望这有帮助!