Je suis en train de travailler sur Windows Azure en créant un projet ASP.NET MVC, j'ai vérifié le WAPTK (Kit de formation Windows Azure Platform), Google et les réponses à ma question, mais je n'ai pas trouvé la réponse. Dans un projet ASP.NET MVC, dans quel fichier puis-je créer des conteneurs pour le stockage en nuage? (Dans le WAPTK, il y a un TP qui utilise des formulaires Web et place des conteneurs de stockage dans la classe partielle _Default.)Dans Windows Azure, dans quel fichier dois-je stocker des informations de stockage pour ASP.NET MVC?
Dans Windows Azure, dans quel fichier dois-je stocker des informations de stockage pour ASP.NET MVC?
Répondre
Dans un projet ASP.NET MVC, dans quel fichier puis-je créer des conteneurs pour le stockage cloud? (Dans le WAPTK, il y a un laboratoire pratique qui utilise webforms et met des conteneurs de stockage dans la classe partielle _Default.)
En général, je vous recommande de mettre en place l'accès à conteneurs (y compris le créer) dans une bien classe encapsulée - se cachant de préférence derrière une interface pour faciliter la testabilité.
Je recommande:
- mis cette classe et son interface dans une bibliothèque de classes (pas dans votre projet ASP.Net)
- mettre les détails de configuration dans les fichiers csdef/cscfg
- si vous ne prévoyez d'utiliser une liste fixe de conteneurs, alors:
- créer ces avant d'installer votre application - par exemple à partir d'une application simple ligne de commande
- ou créer ces d'un appel dans l'init Global.asax
- si vous envisagez de créer dynamiquement des conteneurs (par exemple pour différents utilisateurs ou actions) puis créer ces de contrôleur/service code tel que requis - par exemple lorsqu'un utilisateur s'inscrit ou lorsqu'une action est exécutée pour la première fois.
- si les actions peuvent se produire plusieurs fois et vous ne sais vraiment pas si le conteneur sera là ou pas, trouver un moyen (par exemple une table de hachage ou en sql tableau persistant en mémoire) pour vous assurer que vous n » t besoin d'appeler continuellement CreateIfNotExist - n'oubliez pas que chaque appel à CreateIfNotExist ralentira votre application et vous coûtera de l'argent.
- pour les opérations d'accès « normal » comme lecture/écriture/suppression, ceux-ci seront généralement à partir du code Controller - ou à partir du code de service assis derrière un contrôleur
En cas de doute, pensez un peu comme « comment ce que je partitionner ma logique si je créais des dossiers sur un disque local - ou sur un lecteur réseau partagé »
Hope qui aide un peu.
Stuart
Je ne suis pas sûr de vous avoir bien compris, mais en général les fichiers et Azure ne sont pas compatibles bien. Toutes les modifications stockées sur le système de fichiers local sont volatiles et ne peuvent durer que jusqu'à l'instance Azure en cours. Vous pouvez cependant créer un blob et mount it as a local drive, ce qui rend les données persistantes. Cette approche a quelques limitations, car elle permettra une écriture d'instance azure et un maximum de 8 lecteurs. Donc, à la place, vous devriez probablement utiliser des blobs plutôt que des fichiers. Le problème de savoir quel blob accéder serait alors résolu en utilisant le stockage de table Azure pour indexer les blobs.
Je suis récemment allé à une présentation où le présentateur avait beaucoup étudié le stockage de table Azure et ses conclusions étaient que la limitation des clés de partition à des groupes de 100-1000 éléments donnerait les meilleures performances. (Les clés de partition sont utilisées en interne par azure pour déterminer les données à regrouper.)
Il est évident que je dois être un peu plus clair. –
Vous devez absolument utiliser le stockage BLOB pour vos fichiers. Ce n'est pas particulièrement difficile et comme il s'agit d'un nouveau projet, il n'est pas nécessaire d'utiliser Azure Drives.
Si vous utilisez simplement le stockage de blob pour servir des images pour votre site, vous pouvez les référencer avec une étiquette normale dans votre code html par exemple
<img src="http://myaccountname.blob.core.windows.net/containername/filename">
Cela ne fonctionnera que si le fichier ou le conteneur est partagé et pas sécurisé. C'est bien si vous ne faites que du contenu statique sur les pages html.
Si vous voulez avoir un accès sécurisé aux blobs pour un site sécurisé, vous devez faire quelques choses, d'abord votre site Web devra savoir comment accéder à vos blobs.
dans votre fichier servicedefinition.csdef vous devrez inclure
<Setting name="StorageAccount" />
puis ajoutez
<Setting name="StorageAccount" value="DefaultEndpointsProtocol=https;
AccountName=[youraccountname];AccountKey=[youraccountkey]" />
à votre fichier serviceconfiguration.csfg.
Ensuite, vous pouvez utiliser le kit de développement Windows Azure pour accéder à ce compte depuis votre rôle Web. A partir de
Dim Account As CloudStorageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("StorageAccount"))
Dim blobClient As CloudBlobClient = Account.CreateCloudBlobClient
De là, vous pouvez
- lecture/écriture à blobs
- blobs Supprimer
- liste blobs
- trouver du temps urls limité en utilisant des signatures d'accès partagé.
Il existe une excellente ressource here de Steve Marx.Lequel, bien qu'il s'agisse d'accéder au stockage blob de Silverlight que vous n'utilisez pas, vous donne beaucoup d'informations en un seul endroit.
Votre question n'a pas été très précis, mais cela devrait vous donner une idée où commencer.
@Faester est correcte, vous aurez probablement besoin d'un espace de stockage des ressources table ou SQL Azure pour stocker des références à ces fichiers.
- 1. Stocker les journaux IIS dans Windows Azure
- 2. Chaîne de connexion de l'émulateur de stockage Windows Azure pour ASP.NET MVC?
- 3. Routage ASP.NET MVC dans Azure
- 4. informations d'authentification de formulaire dans asp.net mvc
- 5. Azure et Microsoft ASP.NET MVC
- 6. organisation ASP.NET MVC Windows Azure authentification
- 7. Stockage des blobs dans Windows Azure stocker des données supplémentaires telles que le type de contenu dans DB
- 8. asp.net mvc hosting sur windows azure
- 9. Stockage de caractères spéciaux dans les métadonnées Windows Azure Blob
- 10. Etat de stockage dans asp.net MVC
- 11. Migration de l'appartenance asp.net à Windows Azure
- 12. Lucene.NET avec Windows Azure
- 13. Stockage des données spécifiques à l'utilisateur dans ASP.NET MVC
- 14. Stockage des informations de connexion utilisateur dans l'application dans blackberry
- 15. Où stocker des informations écrites dans le fichier dans Cocoa?
- 16. quel modèle de stockage de données est utilisé pour stocker des articles dans wikipedia
- 17. Windows Azure - Serveur inconnu (mp4) Types MIME dans le stockage Windows Azure IIS
- 18. Stocker des informations dans l'audio
- 19. Stockage des informations ecoded dans mysql
- 20. Déploiement d'application ASP.net dans Windows Azure
- 21. Stockage des informations d'identification LDAP
- 22. Concept de stockage des informations dans Jquery
- 23. Windows Azure: Stockage client Exception non gérée
- 24. Obtenir l'URL complète de n'importe quel fichier dans ASP.Net MVC
- 25. Locataire multiple dans windows azure asp.net MVC2
- 26. web.config dans Windows Azure
- 27. System.Diagnostics.Trace.WriteLine dans windows azure
- 28. stockage Windows Azure blob et Réécriture d'URL
- 29. Stockage des données ASP.NET MVC4 SimpleMembership dans Table Storage
- 30. Azure Blob stockage vs Azure Drive
Cela a aidé un peu, merci pour votre temps. –