FIX: URI in un documento WCF WSDL intende inaccessibile istanze interne anziché al sistema di bilanciamento del carico come previsto in .NET Framework 3.0 in Windows Server 2003, Windows XP, Windows Vista e Windows Server 2008

Traduzione articoli Traduzione articoli
Identificativo articolo: 971842 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Quando si utilizza un servizio Windows Communication Foundation (WCF) in scenari con carico bilanciato in Microsoft .NET Framework 3.0 in Windows Server 2003, Windows XP, Windows Vista e Windows Server 2008, si verificano uno o più dei seguenti problemi:

Problema 1

Si consideri il seguente scenario:
  • È stato installato Windows Azure SDK e Windows Azure Tools per Microsoft Visual Studio.
  • Creare un progetto servizio Web area e aggiungere al progetto un servizio Windows Communication Foundation (WCF).
  • Eseguire il debug del progetto nell'infrastruttura di sviluppo.
  • Passare al documento WSDL (Web Service Definition Language) di WCF al servizio.
In questo scenario, si noterà che gli URI nel documento WSDL vedere inaccessibile al sito Web interno istanze (http://127.0.0.1:5001/Service.svc?wsdl). Tuttavia, si prevede che gli URI nel documento WSDL per fare riferimento al sistema di bilanciamento del carico (http://127.0.0.1:81/Service.svc?wsdl). Inoltre, quando si tenta di aggiungere un riferimento al servizio, viene visualizzato un messaggio di errore nelAggiungi Riferimento al servizioNella finestra di dialogo.

Problema 2

Si consideri il seguente scenario:
  • Hosting di un servizio WCF in un'istanza dietro un sistema di bilanciamento del carico.
  • Utilizzare il comando ? Add Service Reference ? o ilsvcutil.exestrumento della riga di comando per scaricare i metadati del servizio.
In questo scenario, quando si tenta di generare un proxy dai metadati, il processo non riesce perché i metadati contengono gli URI che istanze del sito Web interno di riferimento.

Cause

I problemi descritti nella sezione "Sintomi" si verificano perché il sistema di bilanciamento del carico è accessibile dall'esterno. Tuttavia, le istanze del sito Web interno dietro il bilanciamento del carico non sono accessibili.

Risoluzione

Informazioni sull'hotfix

È disponibile un hotfix supportato. Questo hotfix è tuttavia destinato alla correzione del problema descritto in questo articolo. Applicare questa correzione solo ai sistemi in cui si verificano questo problema specifico. Questo hotfix potrebbe eseguite ulteriori verifiche. Se questo problema non causa gravi difficoltà, si consiglia di attendere il successivo aggiornamento software contenente questo hotfix.

Per scaricare questo hotfix da MSDN Code Gallery, visitare il seguente sito Web Microsoft:
http://code.msdn.Microsoft.com/KB971842

NotaMSDN Code Gallery vengono visualizzate le lingue per cui è disponibile l'hotfix. Se la lingua desiderata nell'elenco non viene visualizzato, è perché non è disponibile per la lingua nella pagina risorse Code Gallery.

NotaSe si verificano ulteriori problemi o se è necessaria la risoluzione dei problemi, potrebbe essere necessario creare una richiesta di assistenza separata. I costi di supporto normale verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico hotfix in questione. Per un elenco completo di numeri di telefono del servizio clienti Microsoft e supporto tecnico o per creare una richiesta di assistenza separata, visitare il seguente sito Web Microsoft:
http://support.Microsoft.com/contactus/?ws=support

Prerequisiti

o applicare questo hotfix, è necessario disporre di .NET Framework 3.5 Service Pack 1 (SP1) o di .NET Framework 3.0 Service Pack 2 (SP2) installato in uno dei seguenti sistemi operativi:
  • Windows XP
  • Windows Server 2003
  • Windows Vista SP2
  • Windows Server 2008 SP2

NotaFor a Windows 7 or Window Server 2008 R2 version of this hotfix, click the following article number to view the article in the Microsoft Knowledge Base:
981002A hotfix rollup is available for Windows Communication Foundation in the .NET Framework 3.5 SP1 for Windows 7 and Windows Server 2008 R2

Necessità di riavvio

Non è necessario riavviare il computer dopo avere applicato questo hotfix.

Informazioni sulla sostituzione della correzione

Questo hotfix non sostituisce eventuali altri aggiornamenti rapidi.

Informazioni sui file

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). Quando si visualizzano le informazioni sul file, viene convertita in ora locale. To find the difference between UTC and local time, use theTime Zonenon è visualizzata nella finestra di dialogoData e oraitem in Control Panel.
x86-based version for Windows Vista SP2 and Windows Server 2008 SP2
Riduci questa tabellaEspandi questa tabella
Nome fileVersione fileDimensioni fileDataOraPiattaforma
Servicemonikersupport.dll3.0.4506.414317,24008-Jul-200912:26x 86
System.runtime.serialization.dll3.0.4506.4143970,75208-Jul-200912:26x 86
System.servicemodel.dll3.0.4506.41435,939,20008-Jul-200912:26x 86

x64-based version of Windows Vista SP2 and Windows Server 2008 SP2
Riduci questa tabellaEspandi questa tabella
Nome fileVersione fileDimensioni fileDataOraPiattaforma
Servicemonikersupport.dll3.0.4506.414319,28808-Jul-200912:26x 64
System.runtime.serialization.dll3.0.4506.4143847,87208-Jul-200912:26x 64
System.servicemodel.dll3.0.4506.41435,275,64808-Jul-200912:26x 64

Itanium-based version of Windows Server 2008 SP2
Riduci questa tabellaEspandi questa tabella
Nome fileVersione fileDimensioni fileDataOraPiattaforma
Servicemonikersupport.dll3.0.4506.414333,64008-Jul-200912:27IA-64
System.runtime.serialization.dll3.0.4506.4143847,87208-Jul-200912:26IA-64
System.servicemodel.dll3.0.4506.41435,275,64808-Jul-200912:26IA-64

Status

Microsoft ha confermato che si tratta di un problema con i prodotti elencati nella sezione "Si applica a".

Informazioni

To enable the hotfix after you installed it, you have to configure the WCF service to use the following service behavior:
<serviceBehaviors>
   <behavior name="<name>">
     <useRequestHeadersForMetadataAddress>
       <defaultPorts>
          <add scheme="http" port="81" />
          <add scheme="https" port="444" />
        </defaultPorts>
      </useRequestHeadersForMetadataAddress>
   </behavior>
</serviceBehaviors>

Nota<name></name>is a placeholder that you should replace with the behavior name in your WCF service.

The hotfix causes WCF to generate the correct URI by using the "Host" HTTP header of the incoming metadata request. In this case, the "Host" header contains the load balancer address instead of the internal node address.

If a URI inside the WSDL document has a different scheme than the scheme of the "Host" header URI, for example, if a request for metadata comes over HTTPS but the metadata contains HTTP URIs, the hotfix will need the port number for that different scheme. The port number can be specified per scheme in the <defaultports> section.</defaultports>

Proprietà

Identificativo articolo: 971842 - Ultima modifica: mercoledì 1 dicembre 2010 - Revisione: 3.0
Le informazioni in questo articolo si applicano a:
  • Microsoft .NET Framework 3.0
  • Microsoft .NET Framework 3.0 Service Pack 1
  • Microsoft .NET Framework 3.0 Service Pack 2
Chiavi: 
kbexpertiseadvanced kbsurveynew kbqfe kbmt KB971842 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 971842
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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