2009-08-31 7 views
7

consigo la temida:No es posible dar un paso automáticamente en el servidor durante la depuración WCF

Incapaz de paso automáticamente en el servidor. El procedimiento remoto no podría ser debugged.This por lo general indica que la depuración no se ha habilitado en el servidor."

Ahora, he estado leyendo que tengo que añadir

<compilation debug="true"> 

al web.config .

Muy bien, mi problema es que mi servicio WCF es una unión nettcp alojada en un proceso de ventanas.

¿Dónde puedo añadir? en el app.config del servicio de windows hostiung el servicio WCF?

¿En qué sección? En este momento mi app.config para Windows Service Host se ve así:

<?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> 

Respuesta

8

Acabo de tener el mismo problema. Para poder depurar un servicio WCF, debe agregar la línea <compilation debug="true"> en el archivo de configuración del servidor dentro de la sección <system.web>.

Para más detalles, consulte el enlace: http://msdn.microsoft.com/en-us/library/bb157687.aspx

+9

"agregue el archivo de configuración del servidor dentro de la sección". - Todavía no estoy muy seguro de qué hacer. ¿Qué quisiste escribir aquí? –

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> 
+1

.... ¿qué? ¿Entonces lo agregas dos veces? En 2 elementos diferentes 'system.web'? – mmcrae

1

Tuve el mismo problema. Cuando revisé, mi proyecto de servicio se creó utilizando .NET Framework 4.5 donde estaba el proyecto del cliente .NET Framework 4.0

Cambié las propiedades del proyecto del proyecto de servicio para tener .NET Framework 4.0 y funcionó.

9

En primer lugar, Tengo este problema en Visual Studio 2015.

Si agrega un punto de interrupción en la línea que llama servicio WCF y pulse F11 en el tiempo de depuración para entrar en el código de WCF, tenga en cuenta usted debe agregue un punto de interrupción en la primera línea del Servicio WCF al que está llamando.

+1

Usted, señor, es una estrella. Me estaba volviendo loco intentar adjuntarme a un antiguo servicio web de Asmx que se ejecutaba en una segunda instancia de Visual Studio 2013. Agregar un punto de interrupción en la primera línea del método web que se llamaba hizo el truco (por cierto, para cualquier otra persona con el mismo problema, ambas instancias de Visual Studio fueron 2013 en mi caso). –

Cuestiones relacionadas