我有一个解决方案WCFSampleSolution,它具有我所有的项目 - Web服务,客户端和网站。该结构是这样的:在本地IIS中托管的调试WCF服务不起作用
- WCFSampleSolution
- C:\ WCFSample \网站
- WCFService
- WCFWebClient
我创建WCFService项目为我服务。它包含IService1.cs和Service1.cs。然后我在IIS中托管服务。我通过创建一个网站并将.svc和web.config文件添加到网站项目中来实现此目的。然后在IIS中发布它。当我运行http:\ MyMachineName \ Website \ Service.svc时,它显示服务描述。然后我创建了调用web服务的Web客户端。我使用服务引用来添加服务。它调用Service1的方法。它工作正常。但我不能调试这个程序/设置。我验证了WCFWebClient项目和Website项目中的配置文件,并且它们具有适当的调试设置。
<compilation debug="true">
我把断点,但控制永远不会去我的seb服务。我也尝试过附加程序,但它也不起作用。但我能够调试我的其他WCF项目之一。设置有点不同。在该项目中,我复制了.svc文件并在我的Web客户端中进行了配置,调试工作正常。
请帮助!
Pradeep,非常感谢回复。我不知道如何附加到w3wp?我所做的是,打开VS 2008,然后选择Tools-> Attach to Process并选择aspnet_wp.exe。我确信我做得不对,因为在我附加之后,我无法对VS做任何事情。你能指导我怎么做吗?还有最后一行是什么意思? – 2010-10-06 20:27:16
aspnet_wp.exe是附加的正确过程。我想你是在Windows XP机器上。你正在采取正确的步骤。我已经看到即使服务托管在IIS中的行为,VS启动其构建的Web服务器“WebDev.WebServer40.exe”(我在VS 2010中看到这个名称)。您还需要将其附加到aspnet_wp.exe的一侧。你还可以分享你的代码库,以便我也可以看看。 – Pradeep 2010-10-07 04:37:06
谢谢Pradeep,我无法调试。我在这里错过的是,我需要做的工作之一是:我将其放在这里供其他人使用:1.在调用Web服务方法之前以及服务方法(重要)之前在客户端放置断点。 2.运行应用程序。 3.当控制位于客户端中断点时,打开Debug-> Attach to Process并选择aspnet_wp.exe。 4.立即开始调试。瞧! – 2010-10-07 15:36:33