在VS 2010中有没有一种方法可以禁用WCF服务调试?

3
我有一个ASP.NET WebForms应用程序,通过我在Visual Studio 2010中使用"添加服务引用"命令创建的WCF服务代理消费第三方服务。我已经在单独的部分类定义中向生成的客户端类添加了几个公共方法,以便它们即使在重新生成代理时也能保留下来。我的代码调用这些方法而不是直接调用映射到API调用的代理方法。但问题在于,当我需要调试我添加的方法时,我在其中放置断点,然后尝试“跳过”或“步入”代码时,Visual Studio会卡住一段时间,然后返回以下错误:

无法自动进入服务器。连接到服务器计算机'[服务地址]'失败。调试器无法连接到远程计算机。这可能是因为远程计算机不存在或防火墙可能阻止与远程计算机的通信。请参见帮助以获取帮助。

此错误发生后,Visual Studio会自动退出我正在调试的方法,从而阻止我调试客户端代码。Visual Studio正在尝试连接到远程第三方服务以尝试进行调试。但是,我无法控制此服务,并且永远无法访问它以执行此操作。是否有任何方法可以告诉Visual Studio不要尝试调试此远程服务,只需调试客户端代码?

更新
我查看了生成的客户端代码,并发现它应用了DebuggerStepThroughAttribute,所以我想这解释了我无法"步入"我的代码的问题,但仍无法解决防止VS尝试调试远程服务的更大问题。

不是一个好的答案,但你可能需要回滚,然后手动创建代理和连接。或者只需复制为您创建的内容,然后稍后手动添加。"添加服务引用"及其对解决方案的影响很糟糕。 - user1228
1个回答

1

我认为Visual Studio现在已经内置了WCF服务主机行为,适用于WCF库项目。据我所知,唯一关闭它的方法是将项目类型更改回普通库。您可以通过手动编辑.csproj文件来实现:从中删除{349c5851-65df-11da-9384-00065b846f21}(以及相关的分号)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接