Connexion d'Azure Blob à Azure Website
J'essaie de connecter un site web Azure à un Azure blob (où j'ai l'intention d'héberger certains fichiers dans un récipient, puis les saisir à partir de mon site web).
J'ai commencé avec ce tutoriel:
http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-get-started/
J'ai déployé mon site web, puis commença à la suite de ce tutoriel:
http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/#setup-connection-string
Depuis que j'ai été en utilisant un site web Azure, j'ai ajouté le code suivant dans mon web.fichier de configuration (sous la WebApplication1 projet). Il y a aussi un site web.config le fichier dans le dossier Vues, mais je n'ai pas le modifier.
<configuration>
<appSettings>
<add key="StorageConnectionString"
value="DefaultEndpointsProtocol=https;AccountName=account-name;AccountKey=account-key" />
</appSettings>
</configuration>
J'ai suivi toutes les étapes décrites dans le tutoriel et installé pertinentes packages NuGet et puis inclus ces espaces de noms dans mon Controllers/HomeController.cs
fichier:
using System.Configuration;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Auth;
using Microsoft.WindowsAzure.Storage.Blob;
Puis j'ai ajouté l'instruction suivante dans la ActionResult Index()
méthode (qui s'exécute par défaut).
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString);
Lorsque j'essaie d'exécuter la solution, maintenant, je reçois cette erreur:
J'ai aussi essayé en mettant directement la valeur de la StorageConnectionString
(avec mon nom de compte et clé) au lieu de faire référence à elle dans la déclaration suivante:
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["DefaultEndpointsProtocol=https;AccountName=account-name;AccountKey=account-key"].ConnectionString);
J'obtiens toujours la même erreur. Je n'arrive pas à trouver quelque chose sur internet. Des idées?
Merci!
source d'informationauteur Order66
Vous devez vous connecter pour publier un commentaire.
Vous avez une erreur fondamentale dans votre code.
D'abord que vous avez défini une AppSetting:
Puis vous essayez d'obtenir une chaîne de connexion:
Ce ne sera tout simplement pas de travail. Quand l'ensemble AppSetting, vous avez besoin de lire AppSetting. Lorsque vous définissez la propriété ConnectionString, vous avez besoin de lire la Chaîne de Connexion.
Donc, la solution pour être juste garder le web.config comme il est, et de changer la ligne où vous obtenez compte de stockage:
Ou de garder votre ligne pour les chaînes de Connexion mais le changement le web.config:
Et bien sûr, vous devez mettre vos valeurs réelles de Stockage dans le Cloud de compte et le Compte de Stockage de clés (
account-name
sera tout simplement jamais de travail).C'est la plus mauvaise de la documentation à partir d'Azur, l'article ne fait raconter à vous créer un AppSetting et puis la code vous dit de récupérer un ConnectionString.
L'autre correctif est de stocker les détails comme un ConnectionString et de laisser le code est: