FIX: URI de un documento de WSDL de WCF de modo que hacen referencia a instancias internas inaccesibles en lugar de al equilibrador de carga como se esperaba en.NET Framework 3.0 en Windows Server 2003, Windows XP, Windows Vista y Windows Server 2008

Seleccione idioma Seleccione idioma
Id. de artículo: 971842 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Cuando se utiliza un servicio de Windows Communication Foundation (WCF) en escenarios con equilibrio de carga en Microsoft .NET Framework 3.0 en Windows Server 2003, Windows XP, Windows Vista y Windows Server 2008, experimenta uno o varios de los siguientes problemas:

Problema 1

Considere el siguiente escenario:
  • Ha instalado el SDK de Azure de Windows y Windows Azure de herramientas de Microsoft Visual Studio.
  • Crear un proyecto de servicio de la nube de Web y agregar un servicio de Windows Communication Foundation (WCF) para el proyecto.
  • Depure el proyecto en la estructura de desarrollo.
  • Busque el documento de lenguaje de definición de servicios Web (WSDL) del WCF service.
En esta situación, observa que inaccesible para los identificadores URI en el documento WSDL, consulte el sitio Web interno de instancias (http://127.0.0.1:5001/Service.svc?wsdl). Sin embargo, que espera el URI del documento WSDL para hacer referencia a los equilibradores de carga (http://127.0.0.1:81/Service.svc?wsdl). Además, cuando intenta agregar una referencia al servicio, recibirá un aviso de un error en laAgregar referencia de serviciocuadro de diálogo.

Problema 2

Considere el siguiente escenario:
  • Aloja un servicio WCF en una instancia de una carga-equilibrador.
  • Utiliza el comando ? Add Service Reference ? o laSvcUtil.exeherramienta de línea de comandos para descargar los metadatos del servicio.
En este escenario, cuando intenta generar a un proxy de los metadatos, el proceso falla debido a que los metadatos contienen a identificadores URI que hacen referencia las instancias de sitio Web interno.

Causa

Los problemas descritos en la sección "Síntomas" se producen debido a que el equilibrador de carga se tiene acceso externamente. Sin embargo, las instancias de sitio Web interno tras el equilibrador de carga son inaccesibles.

Solución

Información de la revisión

Hay una revisión compatible de Microsoft. Sin embargo, esta revisión se diseñó para corregir el problema descrito en este artículo. Aplíquela sólo a los sistemas que experimenten este problema específico. Esta revisión es posible que realicen pruebas adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a que la próxima actualización de software que contenga este hotfix.

Para descargar este hotfix desde MSDN Code Gallery, visite el siguiente sitio Web de Microsoft:
http://Code.msdn.Microsoft.com/KB971842

NotaLa Galerie de Code muestra los idiomas para los que la revisión está disponible. Si no ve su idioma en que aparecen, es porque la página de recursos de la Galería de código no está disponible para ese idioma.

NotaSi, además de aparecer problemas o si necesita solucionar un problema, quizás tenga que crear una solicitud de servicio independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no guarden relación con esta revisión en cuestión. Para obtener una lista completa de servicio al cliente de Microsoft y soporte técnico de números de teléfono o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft:
http://support.Microsoft.com/contactus/?ws=support

Requisitos previos

Debe tener .NET Framework 3.5 Service Pack 1 (SP1) instalado para aplicar este hotfix.

NotaEsta revisión se aplica sólo a Windows Vista y Windows Server 2008. Para obtener una versión de Windows 7 o Windows Server 2008 R2 de esta revisión, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
981002Un paquete acumulativo de revisiones está disponible para Windows Communication Foundation en .NET Framework 3.5 Service Pack 1 de Windows 7 y Windows Server 2008 R2

Requisito de reinicio

No es necesario que reinicie el equipo después de aplicar este hotfix.

Información de sustitución de revisión

Esta revisión no reemplaza ningún otro hotfix.

Información de archivo

Versión de el inglés de esta revisión tiene los atributos de archivo (o atributos de archivo más reciente) mostrados en la tabla siguiente. Las fechas y horas de estos archivos se muestran en hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para ver la diferencia entre hora UTC y la hora local, utilice elZona horariaen la ficha delFecha y horaartículo en control de panel.
x 86 - versión para Windows Vista Service Pack 2 y Service Pack 2 de Windows Server 2008
Contraer esta tablaAmpliar esta tabla
Nombre de archivoVersión del archivoTamaño de archivoFechaTiempoPlataforma
Servicemonikersupport.dll3.0.4506.414317,24008-Jul-2009.12: 26x 86
System.Runtime.Serialization.dll3.0.4506.4143970,75208-Jul-2009.12: 26x 86
System.ServiceModel.dll3.0.4506.41435,939,20008-Jul-2009.12: 26x 86

-versión de 64 de Windows Vista Service Pack 2 y Service Pack 2 de Windows Server 2008
Contraer esta tablaAmpliar esta tabla
Nombre de archivoVersión del archivoTamaño de archivoFechaTiempoPlataforma
Servicemonikersupport.dll3.0.4506.414319,28808-Jul-2009.12: 26x 64
System.Runtime.Serialization.dll3.0.4506.4143847,87208-Jul-2009.12: 26x 64
System.ServiceModel.dll3.0.4506.41435,275,64808-Jul-2009.12: 26x 64

Versión basada en Itanium del Service Pack 2 de Windows Server 2008
Contraer esta tablaAmpliar esta tabla
Nombre de archivoVersión del archivoTamaño de archivoFechaTiempoPlataforma
Servicemonikersupport.dll3.0.4506.414333,64008-Jul-2009.12: 27IA-64
System.Runtime.Serialization.dll3.0.4506.4143847,87208-Jul-2009.12: 26IA-64
System.ServiceModel.dll3.0.4506.41435,275,64808-Jul-2009.12: 26IA-64

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se refiere a:".

Más información

Para habilitar la revisión después de que está instalada, tendrá que configurar el servicio WCF para usar el comportamiento de los servicios siguientes:
<serviceBehaviors>
   <behavior name="<name>">
     <useRequestHeadersForMetadataAddress>
       <defaultPorts>
          <add scheme="http" port="81" />
          <add scheme="https" port="444" />
        </defaultPorts>
      </useRequestHeadersForMetadataAddress>
   </behavior>
</serviceBehaviors>

Nota<name>es un marcador de posición que se debe reemplazar con el nombre de comportamiento en el servicio WCF.

La revisión hace que WCF generar el URI correcto mediante el encabezado HTTP de "host" de la solicitud entrante de los metadatos. En este caso, el encabezado de "host" contiene la dirección del equilibrador de carga, en lugar de la dirección de nodo interno.

Si un identificador URI en el documento WSDL tiene una combinación distinta de la combinación de la cabecera de "Host" URI, por ejemplo, si se trata de una solicitud de metadatos a través de HTTPS, pero los metadatos contiene identificadores URI de HTTP, la revisión necesita el número de puerto para esa combinación de diferente. Se puede especificar el número de puerto por el esquema en la sección <defaultports>.

Propiedades

Id. de artículo: 971842 - Última revisión: viernes, 04 de junio de 2010 - Versión: 1.0
La información de este artículo se refiere a:
  • Microsoft .NET Framework 3.0
  • Microsoft .NET Framework 3.0 Service Pack 1
  • Microsoft .NET Framework 3.0 Service Pack 2
Palabras clave: 
kbexpertiseadvanced kbsurveynew kbqfe kbmt KB971842 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 971842

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com