Je souhaite déployer mon application MVC3 sur Azure en utilisant plusieurs sites physiques de la même application. C'est génial de pouvoir utiliser l'élément sites dans ServiceDefinition.csdef pour cela. Mais je veux que chacun des sites se connecte à une base de données différente. La chaîne de connexion est dans le web.config. Existe-t-il un moyen facile de faire cela, en plus de se connecter au VM et de le changer à la main?Plusieurs instances de site dans un webrole avec web.config différent
Répondre
Vous pouvez enregistrer une tâche de démarrage pour aller et modifier/déplacer les fichiers web.config au démarrage de la machine virtuelle. C'est un peu brouillon, mais plus propre que de le faire à la main!
http://msdn.microsoft.com/en-us/library/windowsazure/gg456327.aspx
[Réponse à votre commentaire] - Avec Windows Azure (en fait avec une solution PaaS) La première règle de base est que lorsque le rôle commence toute la configuration devrait être prêt et la deuxième règle de pouce est que rien ne doit être fait dans la machine virtuelle via l'accès RDP, car les modifications ne seront pas conservées. En raison de cette configuration requise déployée dans Azure Package ou modifiée directement à partir de la tâche de démarrage.
[Répondre à votre question] Dans Windows Azure, vous pouvez exécuter plusieurs sites au sein d'un même rôle Web, mais ils doivent tous partager le même fichier web.config principal, car plusieurs sites s'exécutent dans un même rôle Web. Voici comment vous pouvez le faire: http://msdn.microsoft.com/en-us/library/windowsazure/gg433110.aspx
Maintenant que votre exigence est d'avoir plusieurs bases de données, donc dans votre web.config vous pouvez ajouter la chaîne de connexion de plusieurs bases de données comme ci-dessous: $
<ConnectionString>
<Add name="DB1" connectionString="Data Source=DS1.........."/>
<Add name="DB2" connectionString="Data Source=DS2.........."/>
</ConnectionString>
fois vous avez ci-dessus, dans votre code ASP.NET, vous pouvez énumérer ces chaînes de connexion et utiliser des sites spécifiques comme décrit dans l'exemple donné:
http://www.dotnetspark.com/kb/780-how-to-use-multiple-database-connection.aspx
Enfin, vous pouvez ajouter plusieurs sites avec votre rôle Web pendant le développement et peut également avoir une connexion DB spécifique spécifiée dans web.config, donc je ne pense pas qu'il soit nécessaire d'utiliser la tâche de démarrage ou de faire quelque chose dans la VM, sauf si je suis Il manque quelque chose ici.- 1. Plusieurs instances webRole dans Azure et dans l'état de session
- 2. Plusieurs instances de la même vue avec un minuteur différent
- 3. Comment utiliser cspack avec plusieurs sites dans un webrole?
- 4. Comment implémenter la sécurité avec un site Web avec plusieurs dossiers et plusieurs fichiers web.config?
- 5. thème différent dans un site
- 6. Plusieurs instances de Jasperserver
- 7. Comment utiliser plusieurs instances du même gestionnaire d'événements avec un état différent?
- 8. Publication à l'aide de Web.config différent
- 9. Plusieurs instances (2) de Zend_Auth
- 10. log4j avec plusieurs instances WebLogic
- 11. IntelliJ: configurez plusieurs configurations Tomcat avec un server.xml différent
- 12. Chargement d'un fichier web.config différent à l'exécution pour ASP.NET
- 13. Plusieurs instances de CKEditor (dans Safari)
- 14. Migrations Laravel avec plusieurs instances
- 15. Problème avec plusieurs instances d'application asp.net
- 16. Plusieurs instances de jQuery.noConflict()
- 17. Trombone avec plusieurs instances de serveur
- 18. Comment mettre à jour plusieurs instances site Web asp.net
- 19. Plusieurs fichiers externes dans web.config?
- 20. Puis-je héberger un site Web dans Windows Azure VMRole
- 21. iOS CGRectIntersectsRect avec plusieurs instances de UIImageView?
- 22. Exiger plusieurs rôles dans l'autorisation Web.config
- 23. un gestionnaire pour plusieurs instances
- 24. Plusieurs instances de superfish?
- 25. plusieurs instances d'application ClickOnce
- 26. Lancer plusieurs instances de Java avec un fichier jar
- 27. Plusieurs instances de TinyMCE avec Symfony 1.4
- 28. Plusieurs instances de Tomcat
- 29. nom différent de plusieurs sprites
- 30. Exécution de répertoires virtuels avec un environnement .Net différent de celui du site Web
Les machines virtuelles Azure Windows ne sont pas conservées. Par conséquent, il n'est pas recommandé de faire quoi que ce soit par RDP à VM. En outre, lorsque la machine virtuelle est prête et que le rôle est déjà prêt à effectuer toute modification dans web.config, elle ne sera pas disponible pour l'application IIS. Le mieux est de créer une solution directement dans votre rôle. – AvkashChauhan
@Avkash Vous voulez dire en récupérant la chaîne de connexion d'une autre source dans le code? – RolandG