Question

J'ai une application dans Azure et chaque fois que nous le pousser dans la mise en scène segment, on ne peut pas vraiment tester car la chaîne de connexion à la pointe de la prod de la base de données.

Quelqu'un m'a indiqué que vous devriez être en mesure de définir la chaîne de connexion dans le ServiceConfiguration.cscfg fichier à la place (ou avec) le web.fichier de configuration.De cette façon, vous pouvez modifier la chaîne de connexion dans le portail Azure au lieu de rééditer une application qui.

Personne ne sait comment faire cela?

Était-ce utile?

La solution

Dans votre ServiceConfiguration.cscfg fichier ajouter:

<ServiceConfiguration ... />
  <Role ... />
    <ConfigurationSettings>
      <Setting name="DatabaseConnectionString" value="put your connection string here" />
    </ConfigurationSettings>
  </Role>
</ServiceConfiguration>

Maintenant, vous avez une chaîne de connexion, vous pouvez modifier par la modification de la configuration à l'intérieur du portail azure.

Puis, quand vous en avez besoin pour récupérer la chaîne de connexion vous pouvez le faire en utilisant:

using Microsoft.WindowsAzure.ServiceRuntime;

...

String connString = RoleEnvironment.GetConfigurationSettingValue("DatabaseConnectionString")

Vous devrez peut-être ajouter Microsoft.WindowsAzure.ServiceRuntime.dll pour vos références.

RoleEnviroment.IsAvailable peut être utilisé pour tester si votre sont en cours d'exécution dans Azure, et si pas de revenir à votre site web.paramètres de configuration.

using System.Configuration;
using Microsoft.WindowsAzure.ServiceRuntime;

...

if (RoleEnvironment.IsAvailable)
{
    return RoleEnvironment.GetConfigurationSettingValue("DatabaseConnectionString");
}
else
{
    return ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ConnectionString; 
}

Cet article a une explication plus détaillée de la ci-dessus.

Autres conseils

Pour l'embauche d'entité, vous n'avez pas besoin de fournir un nom fournisseur, il est déjà à l'intérieur dans les connexions.La raison pour laquelle il ne fonctionne pas quand c'est dans les paramètres d'azur, il contient et que le symbole de poste doit être transalé vers "avant de créer une nouvelle entitéConnection. Vous pouvez le faire à l'aide de htttutilitility.htmldecode dans System.Web.

En gros, vous devez définir ces paramètres dans un fichier de configuration de service Azure.Vérifiez ici .Une fois défini ces éléments peuvent être changés du portail Azure.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top