调试WCF时无法自动进入服务器

时间:2009-08-31 20:34:17

标签: .net wcf debugging

我感到害怕:

无法自动进入服务器。无法调试远程过程。这通常表示尚未在服务器上启用调试。“

现在,我一直在阅读我需要添加

<compilation debug="true">

到web.config。

很公平,我的问题是我的WCF服务是在windows进程中托管的nettcp绑定。

我在哪里添加?在Windows服务的app.config中,WCF服务是什么?

在哪一节?现在我的Windows服务主机的app.config如下所示:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

  <system.serviceModel>
    <services>
      <service name="Indexer" behaviorConfiguration="IndexerServiceBehavior">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8000/Indexer"/>
          </baseAddresses>
        </host>
        <endpoint address="net.tcp://localhost:9000/Indexer"
                  binding="netTcpBinding"
                  bindingConfiguration="Binding1"
                  contract="WCF.IIndexer" />
      </service>
    </services>
    <bindings>
      <netTcpBinding>
        <binding name="Binding1"
                     hostNameComparisonMode="StrongWildcard"
                     sendTimeout="00:10:00"
                     maxReceivedMessageSize="65536"
                     transferMode="Buffered"
                     portSharingEnabled="false">
          <security mode="None">
            <transport clientCredentialType="None" />
            <message clientCredentialType="None" />
          </security>
        </binding>
      </netTcpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior name="IndexerServiceBehavior">
          <serviceMetadata httpGetEnabled="true" httpGetUrl=""/>
          <serviceDebug includeExceptionDetailInFaults="False" />
        </behavior>
      </serviceBehaviors>
    </behaviors>

  </system.serviceModel>

</configuration>

5 个答案:

答案 0 :(得分:12)

首先,我在Visual Studio 2015中遇到了这个问题。

如果在调用WCF服务的行上添加断点并在调试时按F11进入WCF代码,请注意必须在要调用的WCF服务的第一行添加断点。

答案 1 :(得分:9)

我刚遇到同样的问题。为了能够调试WCF服务,您应该在<compilation debug="true">部分的服务器配置文件中添加<system.web>行。

有关详细信息,请查看链接: http://msdn.microsoft.com/en-us/library/bb157687.aspx

答案 2 :(得分:5)

<pre>
Add the below in your server config file
(i) Add below in app.config, if you are hosting your WCF service on windows service. 
<system.web>
  ...
  ...
  ...
  <compilation debug="true" /> 
</system.web>

(ii) Add below in web.config, if you are hosting your WCF service on IIS. 
<system.web>
  ...
  ...
  ...
  <compilation debug="true" /> 
</system.web>
</pre>

答案 3 :(得分:1)

刚刚找到可能的解决方案。按照本文http://msdn.microsoft.com/en-us/library/bb157687.aspx中的说明修复安装。 (重新)安装VS SP1也可以解决问题。

答案 4 :(得分:1)

我有同样的问题。 当我检查时,我的服务项目是使用.NET Framework 4.5构建的,其中客户端项目在.NET Framework 4.0上

我将服务项目的项目属性更改为.NET Framework 4.0并且它可以工作。