Cliente WCF detras de un ISA Server o un ProxyServer??


Como siempre en esas cosas de la vida en un cliente requeriamos que uno de nuestros programas hechos con .NET, de hecho con .NET 3.5 y WCF, como cliente acceda a un Servidor, claro este cliente esta completamente bajo el control de un ISA Server 2004, y cuando queria acceder al servidor me daba el siguiente error:

When attempting to invoke any of the generated client class methods, we recieve the following error: "The remote server returned an unexpected response: (407) Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy service is denied. )."

Pero el resto de cosas funcionaban bien!! Internet Explorer, otros programas con acceso a la red y demas!! Que estaba haciendo mal??
Primero pues lo mas evidente, la configuracion de mi cliente en la parte WCF, si ustedes ven en la parte de la configuracion del binding en la seccion transport hay una propiedad llamada proxyCredentialsType en donde puedes decir que credenciales se pasan, claro pasa ISA Server se deben usar las credenciales Windows asi es que intente poner ahi la opcion y pues no no funciono... Mi binding quedaba algo asi

<binding name="wsData" closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="4194304" maxBufferPoolSize="4194304" maxReceivedMessageSize="4194304"
messageEncoding="Mtom" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="128" maxStringContentLength="10000000"
maxArrayLength="65536" maxBytesPerRead="8192" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientcredentialtype="None">proxyCredentialType="Windows"</strong>
realm="" />
<message clientcredentialtype="UserName" algorithmsuite="Default">
</security>
</binding>


Dando vueltas por ahi algunas personas tenian el mismo problema, pero lo mas frustrante es que nadie tenia una respuesta para esto, asi es que segui dando vueltas y en un foro encontre a alguien que si lo logro pero claro despues de una larga charla se llego a la conclusión de que se debia cambiar el machine.config para que se usen las credenciales por defecto, y esto se logra incluyendo estas lineas:

<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true">
</defaultProxy>
</system.net>

Entonces con esto es mejor reiniciar la computadora despues de esto magicamente el error desaparece!!

Una acotacion, resulta que el machine.config hay que buscarlo en la carpeta del framework 2.0, por que?? Recuerden que tanto Framework 3.0 y 3.5 son agregados al 2.0 por lo tanto el Framework base es 2.0, si no me creen busquen el machine.config en los otros folders y cuando lo encuentren miren detenidamente las secciones que estan al ultimo...

Ojala les sirva!!