Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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
Asp.net 如何调试WCF服务应用程序?_Asp.net_Wcf - Fatal编程技术网

Asp.net 如何调试WCF服务应用程序?

Asp.net 如何调试WCF服务应用程序?,asp.net,wcf,Asp.net,Wcf,新手问题。在vs2010(.net 4.0)中,我使用WCF服务应用程序模板创建了一个Web应用程序。然后使用Web Deploy将其发布到与我的客户端应用程序位于同一个框中的IIS 7 如何调试WCF服务应用程序 我试过这个: 在Service1.svc.cs代码中设置断点 使用调试配置重新编译所有。构建目标是回收站\ 将WCF服务应用项目发布到本地IIS7网站 启动调用IIS7网站的客户端应用程序 在管理模式下启动VS2010的第二个实例,并附加到进程w3wp.exe 返回vs的第一个实例并

新手问题。在vs2010(.net 4.0)中,我使用WCF服务应用程序模板创建了一个Web应用程序。然后使用Web Deploy将其发布到与我的客户端应用程序位于同一个框中的IIS 7

如何调试WCF服务应用程序

我试过这个:

  • 在Service1.svc.cs代码中设置断点
  • 使用调试配置重新编译所有。构建目标是回收站\
  • 将WCF服务应用项目发布到本地IIS7网站
  • 启动调用IIS7网站的客户端应用程序
  • 在管理模式下启动VS2010的第二个实例,并附加到进程w3wp.exe
  • 返回vs的第一个实例并执行设置了断点的方法
  • 调回vs的第二个实例(已连接的实例),只会显示“在运行模式下无法显示反汇编”

    我错过了什么?有更好的办法吗

    任何帮助或建议都将不胜感激

    编辑#1:我在web.config中添加了调试,如下所示:

     <system.web>
    <compilation debug="true" targetFramework="4.0" />
    </system.web>
    <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
              <serviceMetadata httpGetEnabled="true"/>
               <serviceDebug httpHelpPageEnabled="true" includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
    </system.serviceModel>
    
    
    
    还是不走运

    编辑#2:在自己的vs实例中直接运行web服务应用程序项目时,我得到

    Web项目“WCFServiceApplication0”当前配置为 使用URL“http:/localhost:8999/WCFServiceApplication0”。Web服务器已将此URL映射到其他文件夹“C:\Nova5\WCFServiceApplication0\u deploy”。是否要重新映射此URL以指向Web项目的文件夹?”


    这应该如何回答?*部署文件夹是如何制作的?感谢您的考虑。

    您可以直接调试WCF服务

    VS(以管理员身份运行)->打开Wcf项目->属性->Web ->指向IIS的虚拟目录

    然后右键单击Svc.cs->Debug as New instance


    如果解决方案中有多个可承载项目,如1个Web和1个Wcf,请从解决方案->设置启动项目中设置多个启动项目

    是否在visual studio中以调试模式启动WCF服务?右键单击项目->调试->启动新实例。或者您需要专门调试部署的版本吗?@JanneMatikainen调试专门部署的版本将是最好的,但由于我有这两种版本的代码,任何一种方法都可以。谢谢。@JanneMatikainen我试过了,结果得到:“无法在web服务器上开始调试。web服务器配置不正确…”我补充道,运气不好。我遗漏了什么???您应该能够以与IIS上承载的普通web应用程序相同的方式调试WCF服务。最好的方法是将VS设置为指向IIS,然后在调试模式下运行。您应该能够浏览显示WCF页面的页面。现在启动调用此WCF服务的客户端应用程序(例如windows应用程序),在调用该服务时,即该服务应达到断点的方法。@Rajesh Newbie这里…我如何“指向VS到localhost/myservice.svc”?对不起我的无知。我试过了。。。请看我上面的编辑。那么我是否应该重新映射Web项目?谢谢(我不知道它最初是如何映射到*(部署)的),我不太明白。什么是“指向IIS的VirtualDirectory”,以及如何/在何处右键单击svc.cs(我不选择Debug)。谢谢