Condividi tramite


Cenni preliminari sulle applicazioni ASP.NET nei diagrammi applicazioni

Aggiornamento: novembre 2007

In Progettazione applicazioni è possibile definire le applicazioni ASP.NET che espongono servizi Web basati su file ASMX, documentare contenuto Web o eseguire entrambe le operazioni tramite l'aggiunta o l'uso degli endpoint appropriati. Quando viene aggiunta un'applicazione servizio Web ASP.NET o un'applicazione Web ASP.NET al diagramma applicazioni, la definizione dell'applicazione è dotata rispettivamente di un servizio Web predefinito o di un endpoint di tipo provider di contenuto Web predefinito. Tuttavia in un'applicazione ASP.NET è possibile aggiungere o rimuovere endpoint provider di entrambi i tipi. Nelle applicazioni ASP.NET è inoltre possibile sostituire gli endpoint di tipo provider di servizi Web.

Per ulteriori informazioni, vedere i seguenti argomenti:

Le sezioni seguenti contengono ulteriori informazioni relative alle applicazioni ASP.NET nel diagramma applicazioni:

  • Definizione dei servizi Web nelle applicazioni ASP.NET

  • Definizione di applicazioni Web ASP.NET

  • Implementazione di applicazioni ASP.NET

  • Implementazione di applicazioni consumer di servizi Web

Definizione dei servizi Web nelle applicazioni ASP.NET

Un servizio Web in un'applicazione ASP.NET è rappresentato da un endpoint di tipo provider di servizi Web. Un endpoint di tipo consumer di servizi Web in qualsiasi applicazione rappresenta un punto di connessione a un servizio Web. Nelle applicazioni ASP.NET è possibile definire, verificare e modificare le operazioni per i servizi Web.

Definizione, verifica e modifica di operazioni

In Progettazione applicazioni è possibile definire, visualizzare e modificare operazioni e parametri per ciascun servizio Web in un'applicazione ASP.NET tramite l'endpoint di tipo provider di servizi Web corrispondente.

Suggerimento:

Progettazione applicazioni supporta inoltre l'approccio basato su contratto, in quanto consente di creare un endpoint di tipo provider di servizi Web in un'applicazione ASP.NET con tipi e firme operazione predefiniti basati su un file WSDL o DISCO esistente. Per ulteriori informazioni, vedere Endpoint servizio Web basati su file WSDL.

È possibile definire una o più operazioni utilizzando i seguenti elementi:

  • Nome operazione e tipo restituito, se appropriato.

  • Parametri operazione, inclusi i relativi nomi, tipi, se appropriati, e modificatori che descrivono come passare ciascun parametro.

  • Commenti opzionali per ciascuna operazione o parametro.

Per ulteriori informazioni, vedere Procedura: definire operazioni per i servizi Web ASP.NET.

Definizione di operazioni nella finestra Dettagli servizio Web

In Progettazione applicazioni è possibile utilizzare la finestra Dettagli servizio Web per definire, visualizzare o modificare le operazioni per un endpoint di tipo provider di servizi Web in un'applicazione ASP.NET. Per i servizi Web in applicazioni ASP.NET implementate, le operazioni dei servizi Web vengono visualizzate correttamente nella finestra solo se i metodi Web corrispondenti sono dichiarati completamente all'interno di una singola definizione di classe in un file di codice separato, o in un file di codice sottostante.

Nella tabella seguente vengono descritti i diversi scenari in cui le operazioni dei servizi Web non vengono visualizzate correttamente nella finestra.

Scenario

Finestra Dettagli servizio Web

Il file ASMX contiene la definizione di classe di servizio Web inline.

Non viene visualizzata alcuna operazione.

I metodi Web vengono dichiarati dagli attributi nei metodi di un'interfaccia implementata da una classe di servizio Web.

Oppure

Una classe estende una classe di base che definisce i metodi Web.

Vengono visualizzate solo le operazioni che corrispondono ai metodi Web dichiarati nella classe a cui il file ASMX fa riferimento.

I file di codice sottostante che definiscono i servizi Web contengono associazioni multiple.

Vengono visualizzate solo le operazioni associate con la prima associazione.

Per ulteriori informazioni, vedere Considerazioni sulla decodifica nelle soluzioni esistenti.

Creazione di riferimenti a tipi per operazioni e parametri

La creazione di riferimenti a un tipo per un'operazione o un parametro è un'operazione appropriata a seconda del linguaggio di programmazione scelto per l'applicazione. Quando vengono definiti un'operazione o un parametro, è possibile scegliere una delle azioni seguenti:

  • Lasciare il tipo impostato su un valore vuoto o impostarlo sul valore predefinito, secondo necessità.

  • Scegliere un tipo dall'elenco di tipi IntelliSense.

  • Fare riferimento a un tipo definito in altri progetti e librerie di tipi, se un riferimento a tali progetti e librerie esiste nel progetto di applicazione.

  • Fare riferimento a un tipo che si intende definire in un momento successivo.

Quando i parametri e le operazioni vengono definiti tramite la finestra Dettagli servizio Web, il supporto IntelliSense è disponibile per i tipi di riferimento Visual Basic e Visual C#. Dopo aver implementato l'applicazione, è possibile definire nuovi tipi o ridefinire tipi esistenti. Per ulteriori informazioni, vedere Procedura: definire tipi di operazioni e parametri per i servizi Web ASP.NET.

Definizione di applicazioni Web ASP.NET

In Progettazione applicazioni un endpoint di tipo provider di contenuto Web in un'applicazione ASP.NET rappresenta un punto di connessione al quale il contenuto Web viene esposto, ad esempio file HTML o pagine Active Server Pages (file ASPX). Un endpoint di tipo consumer di contenuto Web in qualsiasi applicazione rappresenta un punto di connessione client a un servizio Web.

Gli endpoint di contenuto Web non supportano la generazione o la sincronizzazione di codice, né consentono la generazione o la sincronizzazione con voci di file di configurazione (file CONFIG) delle applicazioni. Tuttavia è possibile utilizzare endpoint per documentare i requisiti e impostare i vincoli nel supporto del contenuto Web per un sito Web contenuto in un server Web.

Per ulteriori informazioni, vedere i seguenti argomenti:

Implementazione di applicazioni ASP.NET

Quando viene implementata un'applicazione ASP.NET, Visual Studio genera il progetto corrispondente con i file di progetto appropriati. È possibile implementare applicazioni ASP.NET come progetti Web del server di sviluppo ASP.NET basati sul file system, o come progetti Web IIS (Internet Information Services) basati su HTTP. Per ulteriori informazioni, vedere Tipi e prototipi di applicazione per la definizione delle applicazioni e Procedura: scegliere il tipo di sito Web per applicaazioni ASP.NET.

Tutti i progetti di applicazioni ASP.NET includono un file di configurazione Web.config come parte del progetto principale in Esplora soluzioni. Per un'applicazione ASP.NET con uno o più endpoint di tipo provider di servizi Web, il progetto include anche un file ASMX e un file di classe di servizio Web, ovvero un file di codice specifico per il linguaggio di programmazione o file di codice sottostante, per ciascun endpoint di tipo provider di servizi Web.

Nella classe di servizio Web, un'associazione WSDL con un'associazione singola e una porta singola viene associata con ciascun endpoint di tipo provider di servizi Web. Ciascuna operazione di servizi Web, insieme agli eventuali commenti, viene visualizzata come metodo dotato di attributo WebMethod nella classe di servizio Web. Per ciascun endpoint di tipo provider di servizi Web creato da un file WSDL o DISCO, nel progetto di applicazione vengono inoltre inclusi i file di classe che definiscono eventuali tipi XML complessi che supportano la serializzazione XML per operazioni nel file WSDL o i file di schema XML correlati. È quindi possibile completare l'implementazione di ciascuna operazione aggiungendo il necessario codice relativo al corpo del metodo. Per ulteriori informazioni, vedere Endpoint servizio Web basati su file WSDL.

Nota:

Tutte le descrizioni WSDL specificate nei commenti delle operazioni vengono inoltre visualizzate nel file WSDL. È inoltre possibile personalizzare la generazione del file WSDL. Per ulteriori informazioni, vedere Generazione di file WSDL per servizi Web ASP.NET.

Mentre il codice sorgente per un'applicazione implementata viene considerato la definizione principale, le modifiche apportate a un servizio Web ASP.NET in Progettazione applicazioni, nella finestra Dettagli servizio Web, o a un editor di codice si sincronizzano tra loro quando il diagramma applicazioni è aperto. Tuttavia un diagramma chiuso si sincronizzerà con le modifiche al codice solo alla successiva apertura. Per ulteriori informazioni, vedere Procedura: implementare le applicazioni sui diagrammi applicazioni.

Assegnazioni di porte dinamiche per le applicazioni Web ASP.NET

Al momento dell'implementazione di un'applicazione ASP.NET basata su file system, che genera un progetto Web del server di sviluppo ASP.NET, viene assegnato un numero di porta al sito Web associato. Poiché le applicazioni ASP.NET basate su file system utilizzano porte dinamiche per impostazione predefinita, tale numero di porta può variare.

Suggerimento:

È possibile visualizzare il numero di porta nella finestra Proprietà facendo clic con il pulsante destro del mouse, all'interno di Esplora soluzioni, sul progetto di applicazione.

Ad esempio, nuovi numeri di porta vengono assegnati alle applicazioni ASP.NET basate su file system nelle seguenti circostanze:

  • Quando viene aperta una soluzione contenente tali tipi di applicazioni ASP.NET nonché applicazioni consumer di servizi Web implementate e contenenti riferimenti a servizi Web esposti a tali applicazioni ASP.NET.

  • Quando viene utilizzato il debugger di Visual Studio per la prima volta in una soluzione contenente tali tipi di applicazioni ASP.NET.

Se i progetti di applicazioni consumer di servizi Web associati si trovano nella stessa soluzione, tali progetti vengono aggiornati automaticamente. Tuttavia, se non si trovano nella stessa soluzione, ad esempio nel caso in cui siano in soluzioni partizionate, i riferimenti Web a tali progetti non verranno aggiornati e punteranno a servizi Web inesistenti.

Nota:

Se si utilizza il controllo del codice sorgente e i progetti di applicazioni consumer di servizi Web associati vengono archiviati nel controllo del codice sorgente, è necessario estrarre tali progetti per aggiornare i riferimenti Web.

Per controllare l'assegnazione dei numeri di porta è possibile impostare il progetto di un'applicazione ASP.NET basata su file system in modo che non utilizzi porte dinamiche.

Nota:

Dopo aver specificato di non utilizzare porte dinamiche, l'avvio del debugger di Visual Studio può generare un errore che indica che la porta esistente è in uso. In tal caso è necessario modificare manualmente il numero di porta per il progetto del sito Web. Quando il numero di porta viene modificato, Visual Studio genera un avviso che informa che i riferimenti Web esistenti non saranno più validi. Se il diagramma applicazioni è aperto, i riferimenti Web verranno aggiornati. Tuttavia, se il diagramma applicazioni non è aperto, è necessario eliminare e quindi aggiungere di nuovo tali riferimenti Web.

Per ulteriori informazioni, vedere i seguenti argomenti:

Implementazione di applicazioni consumer di servizi Web

Quando si implementa un'applicazione con uno o più endpoint di tipo consumer di servizi Web, viene generato un riferimento Web per ciascun endpoint di tipo consumer di servizi Web, se il file WSDL utilizzato per generare il riferimento Web è disponibile. Il file WSDL è specificato dalla proprietà del percorso WSDL nell'endpoint di tipo consumer di servizi Web. Quando il riferimento Web viene generato, viene generato anche l'URL del servizio Web nel file di configurazione dell'applicazione consumer.

Nota:

Se contemporaneamente viene implementata un'applicazione provider di servizi Web collegata, il file WSDL sarà disponibile durante l'implementazione. Tuttavia, se l'applicazione provider di servizi Web collegata non viene implementata quando l'endpoint di tipo consumer viene implementato, dall'endpoint di tipo consumer verrà visualizzato un avviso che indica l'impossibilità di implementare l'endpoint di tipo consumer. Quando un'applicazione provider di servizi Web viene implementata, tutti gli endpoint di tipo consumer collegati vengono implementati automaticamente se l'applicazione consumer viene implementata. Per ulteriori informazioni, vedere Risoluzione dei problemi relativi ai diagrammi applicazioni.

La creazione della classe e dei tipi proxy del client del servizio Web per la chiamata di operazioni di servizi Web e la gestione della comunicazione di messaggi SOAP viene gestita dal riferimento Web. È inoltre possibile decodificare e visualizzare le classi proxy del client del servizio Web, incluse le classi proxy personalizzate e i riferimenti Web definiti nelle librerie di classi, quali gli endpoint di tipo consumer di servizi Web. Per ulteriori informazioni, vedere Creazione di un proxy del servizio Web XML e Considerazioni sulle classi proxy client personalizzate del servizio Web.

Nota:

È inoltre possibile abilitare la documentazione XML per un'applicazione consumer di servizi Web dopo l'implementazione per includere commenti alle operazioni in un file XML. Il file viene generato dopo aver generato il progetto di applicazione. Per generare il file XML è necessario abilitare la documentazione XML per il progetto Windows. Per i progetti Windows di Visual Basic, vedere Procedura: generare documentazione XML per un progetto. Per i progetti Windows di Visual C#, vedere Procedura: impostare le proprietà di compilazione (C#) e Pagina Generazione, Progettazione progetti (C#).

Vedere anche

Altre risorse

Definizione delle applicazioni ASP.NET nei diagrammi applicazioni