Windows Azure - Rôle Web ne peut pas accéder à la file d'attente de développement local de stockage

StackOverflow https://stackoverflow.com/questions/3639572

Question

J'ai une bibliothèque de classes qui est partagée entre plusieurs projets de rôle dans ma solution. Deux de ces projets sont un rôle Web et un rôle des travailleurs.

Ils ont chacun les mêmes paramètres de configuration:

<Setting name="QueueConnectionString" value="UseDevelopmentStorage=true" />

chacun d'eux fait un appel à cette fonction:

public static void AddMessage(string Message)
    {
        var account = CloudStorageAccount.DevelopmentStorageAccount;
        ServicePoint queueServicePoint = ServicePointManager.FindServicePoint(account.QueueEndpoint);
        queueServicePoint.UseNagleAlgorithm = false;
        var client = account.CreateCloudQueueClient();
        var queue = client.GetQueueReference(DefaultRoleInstanceQueueName);
        queue.CreateIfNotExist();
        queue.AddMessage(new CloudQueueMessage(Message));
 }

Lorsque cette exécute dans le rôle des travailleurs, il fonctionne sans aucun problème; Je l'ai confirmé approprié et se lit de messages de file d'attente écrit-. Quand il exécute dans les rôles Web, l'appel à queue.CreateifNotExist () se bloque avec l'erreur « réponse n'est pas disponible dans ce contexte ». Je l'ai essayé de chercher des informations sur ce qui pourrait être la cause, mais jusqu'à présent mes efforts de recherche ont été infructueuses. S'il vous plaît laissez-moi savoir s'il y a des informations supplémentaires que je peux comprendre.

Était-ce utile?

La solution

ok, donc après beaucoup de travail, je a déterminé qu'il était parce que je l'appelais de l'intérieur du Global.asax Application_Start.

je me suis déplacé à mon fonction WebRole.cs OnStart () et il fonctionne correctement.

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