Windows Azure - Web角色无法访问本地开发队列存储

Thi*_*100 2 azure azure-storage azure-web-roles azure-queues

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

它们各自具有相同的配置设置:

<Setting name="QueueConnectionString" value="UseDevelopmentStorage=true" />
Run Code Online (Sandbox Code Playgroud)

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

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));
 }
Run Code Online (Sandbox Code Playgroud)

当它在Worker Role中执行时,它可以正常工作; 我已经确认了Queue消息的正确读写.当它在Web角色中执行时,对queue.CreateifNotExist()的调用崩溃并显示错误"响应在此上下文中不可用".我试图搜索可能导致这种情况的信息,但到目前为止,我的搜索工作一直没有结果.如果我可以提供任何其他信息,请告诉我.

Thi*_*100 6

好的,所以经过更多的工作,我确定这是因为我是从Global.asax Application_Start中调用它.

我把它移到我的WebRole.cs OnStart()函数,它运行正常.