Condividi tramite


Considerazioni sulla ridenominazione degli endpoint

Aggiornamento: novembre 2007

In Progettazione applicazioni e Progettazione sistemi, è possibile rinominare endpoint su applicazioni, sistemi e membri di tali sistemi, a seconda del tipo di endpoint. Quando si rinomina un endpoint, tenere presenti le seguenti considerazioni:

  • È necessario scegliere un nome univoco per l'endpoint. I nomi degli endpoint non devono essere in conflitto con i nomi delle risorse o, se all'interno di un sistema, con i nomi dei membri del sistema.

  • I caratteri incompatibili con SDM (System Definition Model) saranno omessi dai nomi. Se il nome risultante è in conflitto con un altro nome o con un nome SDM riservato, alla fine del nome viene aggiunto un numero ordinale o, se un numero ordinale esiste già, esso viene incrementato. Per ulteriori informazioni su SDM, vedere Cenni preliminari su SDM (System Definition Model).

  • L’operazione di ridenominazione di un endpoint di una definizione di applicazione rinomina l’endpoint in tutti gli utilizzi di quella definizione nelle definizioni di sistema. L’operazione di ridenominazione di un endpoint di un membro di una definizione di sistema rinomina l'endpoint della definizione di applicazione e tutti gli utilizzi di tale definizione nelle altre definizioni di sistema.

  • Quando si rinomina un endpoint provider, Visual Studio non aggiornerà l'endpoint di tipo consumer corrispondente a meno che non esista già una connessione tra gli endpoint sul diagramma applicazioni.

  • È possibile rinominare gli endpoint di una definizione di applicazione secondo necessità prima di procedere alla implementazione di tale applicazione. Tuttavia una volta implementata l’applicazione, la ridenominazione dell’endpoint influisce sui file dei progetti associati in diversi modi a seconda dell'endpoint.

    Ad esempio, quando si rinomina un endpoint provider di servizi Web .NET, tenere presenti le seguenti considerazioni:

    • Per impostazione predefinita, il nome dell'endpoint si basa sul nome del servizio WSDL. Ad esempio, quando si decodifica per la prima volta un endpoint di servizi Web .NET, il nome dell'endpoint si basa sul nome del servizio WSDL.

    • Se il nome della classe di servizi Web corrisponde al nome dell'endpoint, l’operazione di ridenominazione dell'endpoint rinomina il nome della classe di servizi Web.

      Nota:

      La ridenominazione della classe di servizi Web comporta la ridenominazione del file di classe di servizi Web e del nome del servizio WSDL, se tali nomi corrispondono al nome della classe di servizi Web. La ridenominazione del servizio WSDL comporta la ridenominazione del file ASMX e del nome di associazione WSDL, se tali nomi corrispondono al nome del servizio WSDL.

      Pertanto, se si modifica il nome dell'endpoint, può darsi che tale modifica si propaghi dal nome dell'endpoint al nome della classe, dal nome della classe al nome del servizio WSDL, dal nome del servizio WSDL al nome del file ASMX e quindi al nome di associazione WSDL.

    • Se la ridenominazione di un endpoint di tipo provider di servizi Web causa la modifica del nome del file ASMX, tutti i riferimenti Web associati e le classi proxy sottostanti vengono eliminati, con conseguente mancata implementazione dei corrispondenti endpoint di tipo consumer di servizi Web. Per generare nuovi riferimenti Web sarà necessario implementare di nuovo gli endpoint di tipo consumer. Se si utilizza il controllo del codice sorgente, prima di ripetere l'implementazione potrebbe essere necessario anche archiviare gli eventuali file modificati. Per ripetere l'implementazione di un endpoint di tipo consumer di servizi Web, fare clic con il pulsante destro del mouse sull'endpoint e scegliere Implementa.

  • Se la ridenominazione di un endpoint di tipo provider di servizi Web implementato causa la modifica del nome del servizio Web, le classi proxy associate con i riferimenti Web al serivizo Web non corrisponderanno più con il nome del servizio. Di conseguenza l'applicazione potrebbe non essere compilabile. Per risolvere questo problema, correggere le parti di codice che fanno riferimento ai vecchi nomi di servizi.

Vedere anche

Attività

Procedura: rinominare endpoint su applicazioni