With the new release of Windows Azure Web Sites in June 2012, it is now possible to have free ASP.NET hosting for simple usage. Avec la sortie des sites Web Windows Azure en Juin 2012, il est maintenant possible d’avoir de l’h%u00e9bergement gratuit d’ASP.NET pour une utilisation simple.
This blog post explains how to deploy Need application to Windows Azure Web Sites instead of Cloud Services. Ce billet explique comment d%u00e9ployer l’application Need vers les sites Web Windows Azure plut%u00f4t que dans les “Cloud Services”.
You may find information about that new June 2012 Windows Azure release in Episode 83 of the Cloud Cover Show, or in French in Episode 8 of “Le bulletin Azure”. Vous trouverez des informations sur cette nouvelle version Windows Azure de juin 2012 dans l’Le Bulletin Azure, %u00e9pisode 8, ou en anglais dans l’%u00e9pisode 83 de “The Cloud Cover Show”.

 

In a previous post, I explained what the sample app Need is, and how to deploy it to Windows Azure Cloud Services. Prior to June 7th 2012, Cloud Services were named “hosted services” and it was the unique way to deploy to Windows Azure. Dans un billet pr%u00e9c%u00e9dent, j’ai expliqu%u00e9 ce qu’%u00e9tait l’application Need, et comment la d%u00e9ployer dans les “Cloud Services” Windows Azure. Avant le 7 juin 2012, les “Cloud Services” Windows Azure s’appelaient “hosted services” et %u00e9tait l’unique mode de d%u00e9ploiement Windows Azure.
As Need app. may be deployed many times for small communities inside Facebook, it makes sense to use Windows Azure Web Sites for the following reasons:
– It is free for low usage
– It can scale when usage grows
Comme l’appli. Need peut %u00eatre d%u00e9ploy%u00e9 un certain nombre de fois pour des petites communaut%u00e9s au sein de Facebook, cela peut avoir du sens d’utiliser des sites Web Windows Azure pour les raisons suivantes:
– c’est gratuit pour un usage faible
– cela peut monter en charge en fonction des besoins
Another interesting thing about Windows Azure Web Sites and Facebook canvas applications is that an SSL certificate is provided. Un autre aspect int%u00e9ressant des sites Web Windows Azure dans le cadre d’applications canvas Facebook est qu’un certificat SSL est fourni.
Currently, Windows Azure Web Sites don’t provide the ability to use your own SSL certificate on your own domain name (you can provide your own domain name in reserved mode). With Facebook canvas applications, this is not an issue as end users won’t use directly the web site’s URL; they will see apps.facebook.com/<app namespace>.
In the following screen shot, user sees https://apps.facebook.com/need-sample/ while the canvas app is at https://need.azurewebsites.net.
Actuellement, les sites Web Windows Azure ne proposent pas la possibilit%u00e9 d’utiliser son propre certificat SSL sur son propre domaine (on peut tout de m%u00eame utiliser son propre nom de domaine en mode r%u00e9serv%u00e9). Avec les applications canvas Facebook, cela n’est pas un probl%u00e8me du tout puis que les utilisateurs finaux ne vont pas utiliser l’URL du site Web directement; ils vont voir apps.facebook.com/<espace de noms de l’appli>. Dans la copie d’%u00e9cran suivante, l’utilisateur voit https://apps.facebook.com/need-sample/ et l’appli canvas est %u00e0 https://need.azurewebsites.net

 

So, le’t’s publish the App to Windows Azure Web Sites. Publions donc l’appli vers les sites Web Windows Azure.

 

First step is to create a new Web Site with a Windows Azure SQL Database (was SQL Azure). La premi%u00e8re %u00e9tape est de cr%u00e9er un site Web avec une base de donn%u00e9es SQL Windows Azure (pr%u00e9c%u00e9demment SQL Azure).

Then you can go to the newly created web site administration in the portal to download a publish settings file: Puis on peut aller vers l’administration du nouveau site Web ainsi cr%u00e9%u00e9 pour t%u00e9l%u00e9charger le fichier des param%u00e8tres de publication:

store the file on your local disk enregistrer le fichier sur le disque local
From Visual Studio, right click on the Web Site project (the Azure Cloud Service deployment project is useless for Azure Web Sites) and choose Publish. Depuis Visual Studio, cliquer droit sur le projet Web (le projet de d%u00e9ploiement Windows Azure vers les “cloud services” est inutile pour le d%u00e9ploiement vers les sites Web Windows Azure) et choisir “Publish”.

Import the file you just downloaded  
set the connection string for NeedContext from the drop down box: choisir la cha%u00eene de connexion pour NeedContext depuis le liste combin%u00e9e d%u00e9roulante:
Then publish on next page. Start Preview button will optionally show the files that needs to be updated when publishing for the n-th time. Puis publier sur la page d’apr%u00e8s. Le bouton “Start Preview” montre optionellement les fichiers qui ont besoin d’%u00eatre remplac%u00e9s %u00e0 destination quand on publie pour la n-i%u00e8me fois.
This will show the Web Site in the browser. An error like this shows up in Windows Azure Web Sites: Cela va montrer le site Web dans le navigateur. Une erreur telle que celle-ci appara%u00eet avec les Sites Web Windows Azure:

Could not load file or assembly ‘Microsoft.WindowsAzure.ServiceRuntime, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ or one of its dependencies. The system cannot find the file specified.

This is because the Need application uses Windows Azure API that are not deployed by default in Azure Web Sites. They are deployed by default in Windows Azure Cloud Services so Visual Studio adds the reference with the copy local option set to false. Cela vient du fait que l’appli Need utilise les API Windows Azure qui ne sont pas d%u00e9ploy%u00e9es par d%u00e9faut dans les sites Web Windows Azure. Elles sont d%u00e9ploy%u00e9s par d%u00e9faut dans les “Cloud Services” Windows Azure et Visual Studio ajoute donc la r%u00e9f%u00e9rence avec l’option “copy local” %u00e0 “false”.
The copy local option, when set to true, includes the DLL to the deployment destination . So let’s set it to true for the two assemblies we need. L’option “copy local”, quand mise %u00e0 “true”, inclut les DLL dans la destination du d%u00e9ploiement.Positionnons donc cette valeur %u00e0 “true” pour les deux assemblys dont nous avons besoin.
Then you just have to deploy again to Windows Azure Web Sites and you’ll have the site running. Puis il suffit de red%u00e9ployer vers les sites Web Windows Azure et le site fonctionnera.
Another important step is to change the parameters of the App in Facebook so that the canvas is at <yourapp>.azurewebsites.net: Une %u00e9tape importante est de changer les param%u00e8tres de l’appli Facebook de fa%u00e7on %u00e0 ce que l’appli Canvas soit %u00e0 <votreappli>.azurewebsites.net

 

An instance of the app is deployed on a Windows Azure Web Site and you can try it. Just connect with you Facebook account and go to the following URL: Une instance de l’appli est d%u00e9ploy%u00e9e sur un site Web Windows Azure et vous pouvez l’essayer. Connectez-vous simplement %u00e0 Facebook avec votre compte et allez %u00e0 l’URL suivante:

https://apps.facebook.com/need-sample/

Once you’ve accepted the App, the App must accept you. As it is deployed in demo mode, you just have to enter the demo invitation code which is the following: Une fois que vous avez accept%u00e9 l’appli, l’appli doit vous accepter. Comme elle est d%u00e9ploy%u00e9e en mode d%u00e9mo, vous avez juste %u00e0 entrer le code d’invitation qui est le suivant:

data-may-be-deleted

 

Benjamin

Blog Post by: Benjamin GUINEBERTIERE