【问题标题】:Windows Azure - Web Role cannot access Local Development Queue StorageWindows Azure - Web 角色无法访问本地开发队列存储
【发布时间】:2011-04-08 01:30:25
【问题描述】:

我有一个在我的解决方案中的多个角色项目之间共享的类库。其中两个项目是 Web Role 和 Worker Role。

它们都有相同的配置设置:

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

他们每个人都在调用这个函数:

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));
 }

当它在 Worker Role 中执行时,它可以正常工作;我已经确认正确读取和写入队列消息。当它在 Web 角色中执行时,对 queue.CreateifNotExist() 的调用会崩溃,并出现错误“响应在此上下文中不可用”。我已经尝试搜索有关可能导致此问题的信息,但到目前为止,我的搜索努力没有结果。如果我可以提供任何其他信息,请告诉我。

【问题讨论】:

    标签: azure azure-storage azure-web-roles azure-queues


    【解决方案1】:

    好的,经过大量工作后,我确定这是因为我是从 Global.asax Application_Start 中调用它的。

    我将它移到了我的 WebRole.cs OnStart() 函数中,它可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-06
      • 2014-07-07
      • 1970-01-01
      • 2013-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多