Exporter (0) Imprimer
Développer tout

Hébergement d'un service sur Windows Azure ayant accès à Service Bus

La création d’une application de service qui s’exécute sur Windows Azure suit les modèles de programmation pour une application Windows Azure et une application Windows Azure Service Bus traditionnelle : vous définissez et implémentez le contrat de service, configurez le point de terminaison, créez les informations d’identification, puis démarrez l’hôte. Lorsque vous avez terminé, vous arrêtez l’hôte. Cependant, notez que vous pouvez rencontrer deux problèmes uniques lors de la création d'un service dans Windows Azure :

  • Windows Azure ne stocke pas les informations de configuration Service Bus et Access Control dans le fichier Machine.config

    Windows Azure n’installant pas le kit de développement logiciel Windows Azure, le fichier Machine.config d’un ordinateur Windows Azure ne contient aucune information concernant les liaisons ou les points de terminaison Service Bus. Comme indiqué précédemment, les restrictions de sécurité Windows Azure vous empêchent de modifier le fichier Machine.config Windows Azure. Par conséquent, deux options sont possibles pour rendre accessibles les informations de configuration Service Bus et Access Control à vos applications Service Bus.

    1. La solution recommandée consiste à utiliser les API Service Bus pour configurer votre application par programme. Par exemple, bien que vous puissiez stocker vos informations de nom et de mot de passe dans le fichier App.config, vous définiriez par programme toutes les configurations de liaison de relais. Pour en savoir plus Pour plus d'informations sur le sujet suivant sur le paramétrage de la configuration par programme, voir Configuration d'un service WCF pour s'inscrire auprès de Service Bus.

    2. La deuxième solution consiste à modifier manuellement le fichier App.config pour votre application en ajoutant toutes les informations pertinentes. Après cette opération, vous pouvez utiliser le fichier App.config pour configurer les liaisons et les points de terminaison. Pour ce faire, vous pouvez voir le fichier Machine.config sur un ordinateur sur lequel le kit de développement logiciel Windows Azure est installé, trouver toutes les informations de configuration associées à Windows Azure et les copier dans le fichier App.config de l’application. Bien qu’il vous soit possible d’utiliser le fichier App.config sur le service d’hôte, il sera difficile de tester votre code : il est possible que vous rencontriez des problèmes de duplication avec le fichier Machine.config de l’ordinateur de test local, sur lequel le kit de développement logiciel Windows Azure est déjà installé. C'est pourquoi il est recommandé d’utiliser l'option précédente, et de tout configurer par programme.

  • Service Bus Service Bus doit disposer d’une autorisation de confiance totale pour s’exécuter sur Windows Azure.

    Comme avec toutes les autres applications Service Bus, vous devez vous assurer que le système d’exploitation s’exécute avec une autorisation de confiance totale. Vous pouvez configurer cela dans le fichier ServiceDefinition.csdef de votre projet Windows Azure, à l’aide de la procédure suivante.

Pour inclure l'assembly Service Bus dans votre application

  1. Dans l’Explorateur de solutions, sous le nœud WorkerRole ou WebRole (en fonction de l’emplacement de votre code), ajoutez l’assembly Microsoft.ServiceBus.dll à votre projet Windows Azure en tant que référence.

    Cette étape est le processus standard à suivre pour ajouter une référence à un assembly.

  2. Dans le dossier Référence, cliquez avec le bouton droit de la souris sur Microsoft.ServiceBus. Puis cliquez sur Propriétés.

  3. Dans la boîte de dialogue Propriétés, définissez Copie locale sur True.

    Cela permet de vous assurer que l’assembly Microsoft.ServiceBus.dll est copié vers le chemin local \bin et qu’il est disponible pour votre application lorsqu’elle s’exécute sur Windows Azure.

Pour définir l’application Windows Azure sur Confiance totale

  1. Dans le fichier ServiceDefinition.csdef de votre projet, définissez le champ enableNativeCodeExecution sur "true", comme le montre le code suivant. Remplacez "ApplicationNameHere" par le nom de votre application :

    <?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>
    
    

Ajouts de la communauté

Afficher:
© 2014 Microsoft