我感到害怕:
无法自动进入服务器。无法调试远程过程。这通常表示尚未在服务器上启用调试。“
现在,我一直在阅读我需要添加
<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>
答案 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并且它可以工作。