我在IIS中托管了WCF服务。我的客户端是Windows窗体。我在我的客户端应用程序中提供了服务引用,以便它可以生成服务器代理(基于服务wsdl)和我服务中公开的访问方法。如果我想调试服务器代码,我可以从我的客户端应用程序进入(F11)该服务器方法。我知道我实际上并没有调试服务器代码,但我正在进入客户端生成的代理。我很困惑,对于某些服务,为了调试服务器端代码,通常建议将客户端应用程序的调试器附加到w3wp.exe。为什么要这样做,有没有理由这样做?
由于
答案 0 :(得分:0)
我之前见过这个。我认为Visual Studio非常智能,可以检测到服务器代码是在IIS中托管的,并且它建议您连接到IIS内的应用程序池,如果这样做,您可以实际调试WCF服务代码。
答案 1 :(得分:0)
这主要是为了确保您测试最新的服务代码。 如果您正在调试代理,则必须确保为其中的每个更改更新代理,否则在实际服务已更改且引用未更新时您仍将查看旧代理。 如果您将调试器附加到w3wp.exe,您将访问当前版本的WCF服务代码而不是代理中的版本。