WCF调试在Visual Studio客户端中不可见

时间:2014-02-13 12:35:48

标签: c# wcf visual-studio-2013 wcftestclient

我的项目基于WCF Web服务,在调试时,它启动了WCF测试客户端。当我遇到错误时,而不是在特定点破坏代码,它只是将错误报告给WCF测试客户端。

我希望它在代码中断,所以我可以调试并观察它正在打破哪些记录。这曾经发生过,但突然间它停止了工作。我不知道是否在web.config中禁用了它。

Project Web Server仍然设置为IIS Express(localhost:#####),我还有其他使用WCF测试客户端的项目,这些项目正在破解代码。

<?xml version="1.0"?>
<configuration>

  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="ConnectorService.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <appSettings>
     <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
  </appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime requestValidationMode="2.0" targetFramework="4.5"/>
  </system.web>
  <system.serviceModel>
    <behaviors>

      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>

    </behaviors> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    <directoryBrowse enabled="true"/>
  </system.webServer>

  <applicationSettings>
    <ConnectorService.Properties.Settings>
      <setting name="ConnectionName" serializeAs="String">
        <value>Test</value>
      </setting>
      <setting name="UserName" serializeAs="String">
        <value>TestUser</value>
      </setting>
      <setting name="Password" serializeAs="String">
        <value>Password</value>
      </setting>
    </ConnectorService.Properties.Settings>
  </applicationSettings>
</configuration>

我不知道它可能是什么,如果我能提供更多信息,请问,谢谢。

3 个答案:

答案 0 :(得分:0)

嘛!如果您正在制作 REST 服务,那么Fidler是一个不错的选择。

  1. 始终使用记录机制。就像引发异常时一样,创建一个文件并在 catch 块中将日志详细信息放在该文件中。

  2. 要进行调试,Visual Studio中的一个选项是附加到进程选项。在菜单栏中,转到调试,然后附加到流程... 并选择适当的流程(可能是Fiddler)。

  3. 另一个选择是,在同一个WCF解决方案中创建另一个项目(Client Project)。确保您的客户端项目使用您的WCF服务。现在右键单击,点击设置启动项目... ,检查单选按钮多个启动项目...... ,并从项目中选择列表,选择操作开始

  4. 执行此操作后,在要调试的WCF代码中使用断点运行项目,然后执行客户端。当提出请求时,它将达到断点。确保您以调试模式运行。

  5. 请参阅此answer

答案 1 :(得分:0)

确保在启动客户端时将其附加到调试器。 Here是如何将进程附加到调试器。

答案 2 :(得分:0)

我意识到这是一个非常老的问题,但是我相信这是由web.config中的此设置引起的: aspNetCompatibilityEnabled =“ true”