Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.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/design-patterns/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# WCF远程调试失败-未加载任何符号_C#_Wcf_Debugging_Iis - Fatal编程技术网

C# WCF远程调试失败-未加载任何符号

C# WCF远程调试失败-未加载任何符号,c#,wcf,debugging,iis,C#,Wcf,Debugging,Iis,我正在尝试远程调试IIS 6上的wcf服务。它一直工作良好,直到昨天。现在断点未被命中,警告消息显示“此文档未加载任何符号”。我通过重新启动iis和应用程序池解决了这个问题,但它只运行了几天。现在我也有同样的问题。我已经阅读了互联网上几乎所有关于这个的建议,我检查了构建选项、GAC、ASP临时文件夹。当服务文件加载时,VS正在写入我的DLL已加载。但是当我查看debug->modules窗口时,它显示这些模块尚未加载。调试时我仍然可以看到异常。现在我暂时使用Debug.WriteLn()进行调试

我正在尝试远程调试IIS 6上的wcf服务。它一直工作良好,直到昨天。现在断点未被命中,警告消息显示“此文档未加载任何符号”。我通过重新启动iis和应用程序池解决了这个问题,但它只运行了几天。现在我也有同样的问题。我已经阅读了互联网上几乎所有关于这个的建议,我检查了构建选项、GAC、ASP临时文件夹。当服务文件加载时,VS正在写入我的DLL已加载。但是当我查看debug->modules窗口时,它显示这些模块尚未加载。调试时我仍然可以看到异常。现在我暂时使用Debug.WriteLn()进行调试,但这需要很多时间和精力。任何帮助都将不胜感激

另外,我在电脑上使用VS 2010、WinXp Sp3,在服务器上使用Windows Server 2003

[更新]VS 2010是否有修补程序可以修复远程调试问题


[更新]我注意到w3wp进程类型现在是x86,尽管我的服务以前被客户端调用过,应该是托管类型

首先:请安装IIS 7,非常推荐

第二:我想,有时每个人都会遇到这种情况,通过选项(删除现有文件(选中)、源代码(选中))再次部署服务可以解决问题

事实上,在我的情况下,这是唯一的解决办法

问候,


马扎尔·卡里米最后,我找到了一个解决办法。我将我的WCF输出文件复制到服务器上与我的pc相同的位置。这非常复杂,但调试工作非常完美。

以下是您的答案,以及我遇到的问题:

我注意到w3wp进程类型现在是x86,尽管我的服务 以前由客户端调用,它应该是托管类型

通常,要使w3wp.exe进程实际显示在“附加到进程”调试对话框中,只需本地浏览到IIS中的站点即可。这将加速该过程,并确保可供选择


但是,您必须浏览到使用与要调试的WCF服务相同的应用程序池类型的站点。如果您选择使用32位进程(x86)的应用程序池,并将其附加到期望x64版本的WCF服务,则结果“此文档未加载任何符号”,断点将显示为“空心”红色圆圈。

我始终删除现有文件并清理ASP临时文件夹。WCF servece与源代码一起部署,并处于调试模式。很遗憾,我无法安装IIS 7,但在出现该问题之前,调试已正常运行了数月。请尝试将新的不同应用程序域与WCF服务关联(应完全专用于WCF服务,而不是其他应用程序)。我已创建了一个新域,现在调试正在工作。对这个错误有什么解释吗?检查使用旧应用程序域的其他应用程序,它们可能是停止为其他应用程序调试的原因。或者检查您的应用程序域配置。嗯,有很多原因。我的最佳开发实践是为每个服务/应用程序设置单独的应用程序域。所以,若有人导致工作进程崩溃,其他人不会受到伤害。我每个域只有一个应用程序。而且它再也不起作用了。今天早上我试着调试我的应用程序,但我遇到了同样的问题。虽然我已经创建了一些新的域来解决这个问题,但它没有帮助。