Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Procedura: Ospitare un servizio in Azure per l'accesso a Service Bus

Procedura: Ospitare un servizio in Azure per l'accesso a Service Bus

Aggiornamento: giugno 2015

La creazione di un'applicazione di servizio da eseguire in Microsoft Azure segue gli stessi modelli di programmazione usati per un'applicazione Azure e per un'applicazione del Bus di servizio di base. È infatti necessario definire e implementare il contratto del servizio, configurare l'endpoint, creare le credenziali e quindi avviare l'host. Al termine, è possibile arrestare l'host. Tenere tuttavia presente che quando si crea un servizio in Azure esistono due problemi univoci:

  • Azure non archivia le informazioni di configurazione di Bus di servizio e Controllo di accesso nel file Machine.config

    Poiché Azure non installa Azure SDK, nel file Machine.config di un computer Azure non sono presenti informazioni relative agli endpoint o ai binding di Bus di servizio. Come spiegato in precedenza, le restrizioni per la sicurezza di Azure impediscono la modifica del file Machine.config di Azure. Per rendere le informazioni di configurazione di Bus di servizio e Controllo di accesso disponibili per le applicazioni di Bus di servizio, è quindi possibile procedere in due modi.

    1. La soluzione consigliata è quella di usare le API di Bus di servizio per configurare l'applicazione a livello di codice. Ad esempio, anche se è possibile archiviare le informazioni relative a nome e password nel file App.config, in genere si tende a impostare a livello di codice qualsiasi configurazione di binding di inoltro. Per altre informazioni sull'impostazione della conficurazione a livello di codice, vedere Configurazione di un servizio WCF da registrare con il bus di servizio.

    2. La seconda soluzione è quella di modificare manualmente il file App.config per l'applicazione aggiungendo tutte le informazioni appropriate. Dopo aver effettuato questa operazione, è possibile usare il file App.config per configurare endpoint e binding. A tale scopo, è possibile visualizzare il file Machine.config in un computer in cui sia installato Azure SDK, trovare tutte le informazioni di configurazione relative a Azure e copiarle nel file App.config dell'applicazione. Questo approccio consente di usare il file App.config nel servizio host, ma rende difficoltoso il testing del codice. Possono infatti verificarsi problemi di duplicazione con il file Machine.config del computer di testing locale, nel quale sarà già installato Azure SDK. È quindi consigliabile usare la precedente opzione ed effettuare tutte le impostazioni a livello di codice.

  • Bus di servizio deve disporre dell'autorizzazione di attendibilità totale per poter essere eseguito in Azure

    Come con tutte le altre applicazioni di Bus di servizio, è necessario verificare che il sistema operativo venga eseguito con l'autorizzazione di attendibilità totale. Tale autorizzazione può essere impostata nel file ServiceDefinition.csdef del progetto Azure mediante la seguente procedura.

  1. In Esplora soluzioni, nel nodo WorkerRole o WebRole (a seconda della posizione in cui si trova il codice), aggiungere l'assembly Microsoft.ServiceBus.dll al progetto Azure come riferimento.

    Questo passaggio costituisce la procedura standard per l'aggiunta di un riferimento a un assembly.

  2. Nella cartella Riferimento fare clic con il pulsante destro del mouse su Microsoft.ServiceBus. Scegliere quindi Proprietà.

  3. Nella finestra di dialogo Proprietà impostare Copia localmente su True.

    In questo modo, l'assembly Microsoft.ServiceBus.dll viene copiato nel percorso \bin locale e reso disponibile per l'applicazione durante l'esecuzione in Azure.

  1. Nel file ServiceDefinition.csdef del progetto impostare il campo enableNativeCodeExecution su "true", come mostrato nel seguente codice. Sostituire "ApplicationNameHere" con il nome dell'applicazione:

    <?xml version="1.0" encoding="utf-8"?>
    <ServiceDefinition name="ApplicationNameHere" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
      <WebRole name="WebRole" enableNativeCodeExecution="true">
        <InputEndpoints>
          <!-- Must use port 80 for http and port 443 for https when running in the cloud -->
          <InputEndpoint name="HttpIn" protocol="http" port="80" />
        </InputEndpoints>
      </WebRole>
      <WorkerRole name="WorkerRole" enableNativeCodeExecution="true">
      </WorkerRole>
    </ServiceDefinition>
    
    

Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2015 Microsoft