Condividi tramite


Procedura: fare riferimento a librerie di classi da applicazioni nei diagrammi applicazioni

Aggiornamento: novembre 2007

In Progettazione applicazioni è possibile rappresentare i riferimenti a librerie di classi da applicazioni nel diagramma applicazioni. Progettazione applicazioni non supporta la progettazione o la rappresentazione diretta di librerie di classi nel diagramma applicazioni; tuttavia è possibile utilizzare un servizio Web ASP.NET come facciata per le funzionalità implementate da una libreria di classi. È quindi possibile decodificare i riferimenti a tale libreria di classi da altre applicazioni come connessioni da quelle applicazioni al servizio Web specifico.

Nell'elenco seguente sono descritti i passaggi necessari per eseguire questa operazione:

  • Aggiungere un servizio Web ASP.NET alla soluzione e fare riferimento al servizio Web dalla libreria di classi.

  • Fare riferimento alla libreria di classi dall'applicazione consumer, che può essere un'applicazione ASP.NET, Windows o di Office già esistente o aggiunta nel diagramma applicazioni.

  • Copiare le voci appropriate dal file di configurazione della libreria di classi nel file di configurazione dell'applicazione consumer.

Questi passaggi consentono di decodificare un endpoint consumer del servizio Web nell'applicazione consumer e una connessione al servizio Web ASP.NET.

Suggerimento:

È inoltre possibile utilizzare questa tecnica per visualizzare i riferimenti Web o le classi proxy client del servizio Web personalizzate definite nelle librerie di classi come endpoint consumer del servizio Web e connessioni nel diagramma applicazioni. Tuttavia non è possibile rappresentare tali elementi tramite Progettazione applicazioni, progettando prima gli endpoint di tipo consumer di servizi Web e aggiungendo quindi le voci di file di configurazione appropriate. Per ulteriori informazioni, vedere Riferimenti Web e classi proxy client personalizzate di servizi Web in librerie di classi.

Per fare riferimento a un servizio Web da una libreria di classi

  1. Aprire il file del diagramma applicazioni (con estensione ad).

  2. Aggiungere un servizio Web ASP.NET al diagramma.

    Suggerimento:

    Per ulteriori informazioni, vedere Procedura: definire le applicazioni sui diagrammi applicazioni.

    L'aggiunta di questo servizio Web consentirà ad altre applicazioni di fare riferimento a una libreria di classi utilizzando il servizio Web.

  3. Nel diagramma scegliere un'applicazione Windows o ASP.NET esistente come applicazione consumer o aggiungerne una nuova.

  4. Implementare il servizio Web ASP.NET e l'applicazione consumer, se non sono ancora stati implementati.

    Nota:

    Per ulteriori informazioni, vedere Procedura: implementare le applicazioni sui diagrammi applicazioni. Il servizio Web ASP.NET deve essere implementato prima di aggiungere un riferimento al servizio Web nella libreria di classi. L'applicazione consumer deve essere implementata in modo tale che in un secondo tempo sia possibile modificarne il file di configurazione.

    L'applicazione consumer utilizzerà le funzionalità della libreria di classi per chiamare il servizio Web.

  5. Se necessario, aggiungere un progetto di libreria di classi nuovo o esistente alla soluzione.

    Nota:

    Nel progetto di libreria di classi deve essere presente un file App.config affinché le voci del file di configurazione appropriate vengano aggiunte quando viene aggiunto il riferimento Web.

  6. Se nel progetto di libreria di classi, nel servizio Web ASP.NET o nell'applicazione consumer non è presente alcun file di configurazione, aggiungere il file di configurazione appropriato (App.config o Web.config) al progetto di libreria di classi.

    Suggerimento:

    Per aggiungere un file di configurazione, selezionare il nodo del progetto in Esplora soluzioni, scegliere Aggiungi nuovo elemento dal menu Progetto e scegliere in base alle proprie esigenze File di configurazione dell'applicazione o File di configurazione Web nella finestra di dialogo Aggiungi nuovo elemento.

  7. In Esplora soluzioni selezionare il nodo del progetto di libreria di classi e scegliere Aggiungi riferimento Web dal menu Progetto.

  8. Nella finestra di dialogo Aggiungi riferimento Web fare clic su Servizi Web in questa soluzione, scegliere il servizio Web creato e fare clic su Aggiungi riferimento.

    In Esplora soluzioni verrà aggiunto un riferimento al servizio Web nella cartella Riferimenti Web del progetto di libreria di classi.

  9. In Esplora soluzioni selezionare il nodo del progetto di libreria di classi e scegliere Genera <NomeLibreriadiClassi> dal menu Genera.

    Suggerimento:

    È anche possibile fare clic con il pulsante destro del mouse sul nodo del progetto e scegliere Genera. Dopo avere aggiunto nuovi riferimenti Web, ripetere la generazione della libreria di classi prima di copiare le voci del file di configurazione e di aggiungere il riferimento alla libreria di classi. In caso contrario, i riferimenti al servizio Web nelle librerie di classi Visual Basic potrebbero non essere decodificati se la libreria di classi viene generata come ultimo passaggio dopo la copia delle voci del file di configurazione e l'aggiunta del riferimento alla libreria di classi nell'applicazione consumer. Per ulteriori informazioni, vedere Risoluzione dei problemi relativi ai diagrammi applicazioni.

È ora possibile aggiungere un riferimento alla libreria di classi nell'applicazione consumer.

Suggerimento:

Se il file di configurazione non è presente o è stato eliminato dal progetto di libreria di classi dopo l'aggiunta dei riferimenti Web al progetto, è possibile aggiungere un nuovo file di configurazione. I riferimenti Web non saranno tuttavia aggiunti automaticamente al file di configurazione. Sarà necessario rimuovere i riferimenti Web dal progetto e quindi aggiungerli nuovamente. Questa operazione implica la creazione di un nuovo file di configurazione contenente voci per i riferimenti Web aggiunti.

Per fare riferimento alla libreria di classi dall'applicazione consumer

  1. In Esplora soluzioni selezionare il nodo del progetto dell'applicazione consumer e scegliere una delle opzioni seguenti:

    • Per le applicazioni Windows o di Office, scegliere Aggiungi riferimento dal menu Progetto.

    • Per le applicazioni ASP.NET, scegliere Aggiungi riferimento dal menu Sito Web.

      Suggerimento:

      È anche possibile fare clic con il pulsante destro del mouse sul nodo principale del progetto e scegliere Aggiungi riferimento.

  2. Nella scheda Progetti, scegliere il progetto della libreria di classi e fare clic su OK.

Per copiare voci dal file di configurazione della libreria di classi nel file di configurazione dell'applicazione consumer

  1. Aprire il file App.config nel progetto della libreria di classi e il file di configurazione nel progetto dell'applicazione consumer.

  2. Nel file App.config della libreria di classi copiare le voci seguenti dalle sezioni <configSections> e <applicationSettings>.

    Nota:

    Includere i tag <configSections> o <applicationSettings>, se non sono presenti nel file di configurazione di destinazione. Se si stanno copiando voci per più librerie di classi, copiare solo un insieme di tag "applicationSettings" <sectionGroup>.

     <configSections>
       <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=VersionNumber, Culture=neutral, PublicKeyToken=b77a5c561934e089"><section name="ClassLibraryName.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /></sectionGroup>
    </configSections>
    
    <applicationSettings>
       <ClassLibraryName.Settings>      <setting name="ClassLibraryName_WebServiceProxyClassName" serializeAs="String"><value>http://WebServiceURL.asmx</value></setting></ClassLibraryName.Settings>
    </applicationSettings>
    
  3. Incollare le voci copiate nella sezione <configuration> appena dopo il tag <configuration> nel file di configurazione dell'applicazione consumer.

  4. In Esplora soluzioni, scegliere il nodo principale della soluzione e scegliere Genera soluzione dal menu Genera.

    Suggerimento:

    È anche possibile fare clic con il pulsante destro del mouse sul nodo principale della soluzione e scegliere Genera soluzione.

    Nel diagramma applicazioni un endpoint consumer del servizio Web viene decodificato nell'applicazione consumer e viene connesso al servizio Web ASP.NET.

I riferimenti ai servizi Web potrebbero non essere decodificati correttamente negli scenari seguenti:

  • I riferimenti ai servizi Web potrebbero non essere decodificati correttamente quando un progetto Web Windows e un progetto Web ASP.NET fanno entrambi riferimento alla stessa libreria di classi.

    Per risolvere questo problema, chiudere il diagramma applicazioni e rimuovere i riferimenti alla libreria di classi condivisa dai progetti Web Windows e ASP.NET. Aggiungere innanzitutto il riferimento alla libreria di classi al progetto Web ASP.NET, aprire il diagramma applicazioni e quindi aggiungere il riferimento alla libreria di classi al progetto Windows. Per ulteriori informazioni, vedere Risoluzione dei problemi relativi ai diagrammi applicazioni.

  • I riferimenti a servizi Web in librerie di classe Visual Basic potrebbero non essere decodificati correttamente quando un'applicazione consumer fa riferimento a più librerie di classi e ognuna di queste librerie contiene un riferimento Web a un servizio Web diverso.

    Per risolvere questo problema, aggiornare tutti i riferimenti Web nelle librerie di classi interessate. Fare clic con il pulsante destro del mouse su ogni riferimento Web in ogni libreria di classi interessata, scegliere Aggiorna riferimento Web e quindi ripetere la generazione dell'intera soluzione. Dopo avere aggiunto nuovi riferimenti Web e avere rigenerato le librerie di classi corrispondenti, ripetere la generazione dell'intera soluzione per decodificare questi riferimenti Web.

Vedere anche

Attività

Procedura dettagliata: rappresentazione di connessioni indirette ai servizi Web

Concetti

Cenni preliminari sulle applicazioni ASP.NET nei diagrammi applicazioni

Altre risorse

Riferimento alle librerie di classi da applicazioni in diagrammi applicazioni