Windows Azure et Visual Studio LightSwitch 2011

Ajouter l'accès RDP à l'application LightSwitch 2011 déjà déployée sur Windows Azure

Visual Studio LightSwitch propose une manière simple de développer des applications métier de type bureau ou Cloud. LightSwitch gère toute la plomberie pour vous, afin que vous puissiez vous concentrer sur la création de valeurs métier.

Langage/Outil/Technologie : Windows Azure, Visual Studio 2010, Visual Studio LightSwitch 2011.

Commentez ce tutoriel : Commentez Donner une note à l'article (5)

Article lu   fois.

Les trois auteurs et traducteur

Site personnel

Traducteur :

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

Traduction

Ajouter l'accès RDP à l'application LightSwitch 2011 déjà déployée sur Windows Azure

Dans cette partie, nous allons apprendre comment ajouter les informations d'identification d'accès RDP (Remote Desktop Protocol) à une application LightSwitch déjà déployée sur Windows Azure et que vous avez déjà publié. Vous pouvez lire les deux premières parties de mes articles sur le même sujet :

Le besoin de ce sujet découle du fait que « l'Assistant Publication d'application LightSwitch » déploie directement l'application sur Windows Azure en utilisant un assistant (comme expliqué dans la partie 2 ci-dessus). Toutefois l'assistant n'a pas de moyen pour configurer l'accès RDP à la même application. Cet article comble cette lacune.

Ajouter l'accès RDP

Étape 1

Pour démarrer, je supposerai que vous avez déjà votre application LightSwitch en cours d'exécution dans Azure et si vous regardez le dossier « bin » de votre application, vous verrez les fichiers suivants :

Image non disponible

Comme vous pouvez le constater, nous avons les fichiers CSPKG, CSCFG et CSDEF dans le dossier ci-dessus, qui sont les principaux fichiers ayant trait à Windows Azure. Afin d'ajouter un accès RDP nous allons devoir éditer les fichiers CSDEF et CSCFG.

D'abord, nous devons générer les informations d'identification d'accès RDP pour toute application Windows Azure afin que nous puissions les exporter dans les fichiers LightSwitch CSDEF et CSCFG ci-dessus. Maintenant pour commencer veuillez créer une application Azure « helloworld » simple et utilisez l'option « Publish » pour y ajouter un accès RDP.

Note : Pour savoir comment ajouter l'accès RDP à une application Azure référez-vous à l'article suivant :

http://blogs.msdn.com/b/avkashchauhan/archive/2011/04/03/setting-rdp-access-in-windows-azure-application-with-windows-azure-sdk-1-3-1-4.aspx

Dans l'accès RDP d'une application Windows Azure, un certificat PFX est utilisé pour crypter les informations d'identification d'accès RDP et ce certificat PFX doit être téléchargé dans la section « Certificate » de votre application Windows Azure. Il y a donc deux options :

  1. Nous pouvons créer un nouveau certificat PFX et l'utiliser pour crypter les informations d'identification d'accès RDP, et ensuite télécharger ce PFX dans la partie « Certificate » de votre application Windows Azure dans le portail Windows Azure.
  2. Nous pouvons utiliser le même certificat PFX que nous avons utilisé pour signer le fichier XAP dans la section « Specify a certificate » (l'étape 10 de la deuxième partie).

Parce que l'option 1 ci-dessus est déjà décrite dans mon article indiqué ci-dessus, j'ai décidé d'utiliser l'option 2.

Utilisation du certificat PFX qui a été utilisé pour signer le fichier XAP dans la section « Specify a certificate »

Étape 2

Dans l'assistant de publication de l'application HelloWorld, j'utilise le même certificat que ci-dessous :

Image non disponible

Si vous comparez l'empreinte numérique du certificat ci-dessus avec le certificat de l'application Windows Azure, vous pouvez vérifier que l'empreinte numérique correspond et que donc je n'ai pas besoin de le télécharger à nouveau.

Image non disponible

Maintenant une fois que le paramétrage de l'accès RDP est complété dans une application HelloWorld simple, vous pouvez voir les entrées suivantes, que nous allons utiliser dans notre application LightSwitch :

ServiceDefinition.csdef  (paramètres relatifs à l'accès RDP uniquement)

 
Sélectionnez
<Imports>
 <Import moduleName="RemoteAccess" />
 <Import moduleName="RemoteForwarder" />
 </Imports>

ServiceConfiguration.cscfg (paramètres relatifs à l'accès RDP uniquement)

 
Sélectionnez
<ConfigurationSettings>
 <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled" value="true" />
 <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername" value="avkashc" />
 <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword" value="MIIBHwYJKoZIhvcNAQcDoIIBEDCCAQwCAQAxgdkwgdYCAQAwPzArMSkwJwYDVQQDEyBBd
 mthc2ggV2luZG93cyBBenVyZSBQb3J0YWwgQ2VydAIQXNki5y7CtptNzxrLjUQ52zANBgkqhkiG9w0BAQEFAASBgC2KUWTLVFI0NtfhznAc+LC40l/jmFBdoDlYqh7pBDs4ujEvYCTUDuqfVp2jlqRgKJGUf6UFxaX
 KDgnT78dirwuRnw8aYvlkLEDb0OvjG1DQWFp72XGwp3U8hSljX41zXnkjprEJo4tgaFQIycXkROU4y+11GfOgfzD4A75A95PHMCsGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQI2oBjQVC07caACMjaoYP3REwm" />
 <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration" value="2011-11-30T23:59:59.0000000-08:00" />
 <Setting name="Microsoft.WindowsAzure.Plugins.RemoteForwarder.Enabled" value="true" />
 </ConfigurationSettings>
 <Certificates>
 <Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="A77B40E35556DFDB09C3B246453A548B2D7B9444" thumbprintAlgorithm="sha1" />
 </Certificates>


Maintenant, nous allons essayer de migrer ces paramètres dans notre application LightSwitch. Ici, vous allez devoir mettre à jour ServiceDefinition.csdef et ServiceConfiguration.cscfg qui se trouvent à la racine de l'application LightSwitch :

Image non disponible

Maintenant mettons à jour le fichier ServiceDefinition.csdef qui se trouve dans C:\Azure\AzureLightSwitchWebRole\AzureLightSwitchWebRole\ServiceDefinition.csdef

ServiceDefinition.csdef (Application LightSwitch mise à jour avec les paramètres d'accès RDP)

 
Sélectionnez
<ServiceDefinition name="AzureLightSwitchWebRole" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
 <WebRole name="LightSwitchWebRole"
 vmsize="Small"
 enableNativeCodeExecution="true">
 <ConfigurationSettings>
 <Setting name="Microsoft.LightSwitch.Trace.Enabled" />
 <Setting name="Microsoft.LightSwitch.Trace.LocalOnly" />
 <Setting name="Microsoft.LightSwitch.Trace.Level" />
 <Setting name="Microsoft.LightSwitch.Trace.Sensitive" />
 <Setting name="Microsoft.LightSwitch.Trace.Categories" />
 <Setting name="Microsoft.LightSwitch.RequireEncryption" />
 </ConfigurationSettings>
 <Sites>
 <Site name="Web">
 <Bindings>
 <Binding name="HttpIn" endpointName="HttpIn" />
 <Binding name="HttpsIn" endpointName="HttpsIn" />
 </Bindings>
 </Site>
 </Sites> 
 <Endpoints>
 <InputEndpoint name="HttpIn" protocol="http" port="80" />
 <InputEndpoint name="HttpsIn" protocol="https" port="443" certificate="SSLCertificate" />
 </Endpoints>
 <Certificates>
 <Certificate name="SSLCertificate" storeLocation="LocalMachine" storeName="My" />
 </Certificates>
 <Imports>
 <Import moduleName="RemoteAccess" />
 <Import moduleName="RemoteForwarder" />
 </Imports>
 </WebRole>
</ServiceDefinition>

Maintenant mettons à jour le fichier ServiceConfiguration.cscfg qui se trouve dans C:\Azure\AzureLightSwitchWebRole\AzureLightSwitchWebRole\ServiceConfiguration.cscfg

ServiceConfiguration.cscfg (Application LightSwitch mise à jour avec les paramètres d'accès RDP)

 
Sélectionnez
<ServiceConfiguration serviceName="AzureLightSwitchWebRole" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">
 <Role name="LightSwitchWebRole">
 <Instances count="1" />
 <ConfigurationSettings>
 <!-- A value of true will enable diagnostic logging on the server -->
 <Setting name="Microsoft.LightSwitch.Trace.Enabled" value="false" />
 <!-- A value of true only lets local access to Trace.axd -->
 <Setting name="Microsoft.LightSwitch.Trace.LocalOnly" value="true" />
 <!-- The valid values for the trace level are: None, Error, Warning, Information, Verbose -->
 <Setting name="Microsoft.LightSwitch.Trace.Level" value="Information" />
 <!-- A value of true will indicate that logging sensitive information is okay -->
 <Setting name="Microsoft.LightSwitch.Trace.Sensitive" value="false" />
 <!-- The semi-colon separated list of categories that will be enabled at the specifed trace level -->
 <Setting name="Microsoft.LightSwitch.Trace.Categories" value="Microsoft.LightSwitch" />
 <!-- A value of true will indicate http requests should be re-directed to https -->
 <Setting name="Microsoft.LightSwitch.RequireEncryption" value="true" />
 <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled" value="true" />
 <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername" value="avkashc" />
 <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword" value="MIIBHwYJKoZIhvcNAQcDoIIBEDCCAQwCAQAxgdkwgdYCAQAwPzArMSkwJwYDVQQDEyBBdmthc2gg
 V2luZG93cyBBenVyZSBQb3J0YWwgQ2VydAIQXNki5y7CtptNzxrLjUQ52zANBgkqhkiG9w0BAQEFAASBgC2KUWTLVFI0NtfhznAc+LC40l/jmFBdoDlYqh7pBDs4ujEvYCTUDuqfVp2jlqRgKJGUf6UFxaXKDgnT78dirwuRnw8aYv
 lkLEDb0OvjG1DQWFp72XGwp3U8hSljX41zXnkjprEJo4tgaFQIycXkROU4y+11GfOgfzD4A75A95PHMCsGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQI2oBjQVC07caACMjaoYP3REwm" />
 <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration" value="2011-11-30T23:59:59.0000000-08:00" />
 <Setting name="Microsoft.WindowsAzure.Plugins.RemoteForwarder.Enabled" value="true" />
 </ConfigurationSettings>
 <Certificates>
 <Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="A77B40E35556DFDB09C3B246453A548B2D7B9444" thumbprintAlgorithm="sha1" />
 </Certificates>
 </Role>
</ServiceConfiguration>

Note : Il est toujours une bonne pratique d'avoir une sauvegarde de vos fichiers CSCFG et CSDEF ci-dessus.

Maintenant vous pouvez renommer les fichiers CSPKG, CSCFG et CSDEF qui se trouvent dans C:\Azure\AzureLightSwitchWebRole\AzureLightSwitchWebRole\Bin\<Release|Debug>\

Ensuite, vous pouvez lancer le même assistant de publication et publier à nouveau l'application. Vous verrez des nouveaux fichiers CSCFG, CSDEF et CSPKG qui se seront créés comme suit :

Image non disponible

Une fois la publication terminée, vous pouvez vérifier que l'accès RDP est activé dans votre application. Lorsque vous sélectionnez votre rôle au sein du portail de gestion Windows Azure vous pouvez voir que l'accès RDP est activé et peut être configuré (si nécessaire) comme ci-dessous :

Image non disponible

Lorsque vous sélectionnez votre instance dans le portail de gestion Windows Azure vous pouvez voir que l'accès RDP est activé et peut être configuré (si nécessaire) comme ci-dessous :

Image non disponible

Maintenant vous pouvez lancer la connexion au bureau à distance (Remote Desktop Connection) vers votre application LightSwitch et sans aucun problème, vous aurez votre machine virtuelle comme ci-dessous :

Image non disponible

Si vous avez besoin d'aide sur la façon d'utiliser la connexion au bureau à distance avec Azure VM, référez-vous à l'article suivant : http://blogs.msdn.com/b/avkashchauhan/archive/2011/04/03/how-to-login-into-windows-azure-virtual-machine-using-remote-desktop.aspx

Conclusion

Ceci conclut donc cette troisième et dernière partie de cet article qui nous a permis de voir comment ajouter l'accès RDP à une application LightSwitch publiée dans Windows Azure.

Remerciements

Je tiens ici à remercier Avkash Chauhan de m'avoir autorisé à traduire son billet.
Je remercie tomlev pour sa relecture technique et ses propositions.
Je remercie également zoom61 pour sa relecture orthographique et ses propositions.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2012 Avkash Chauhan. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.