我有一个在我的解决方案中的多个Role项目之间共享的类库。其中两个项目是Web角色和工作者角色。
它们各自具有相同的配置设置:
<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));
}
当它在工作者角色中执行时,它可以正常工作;我已经确认了Queue消息的正确读写。当它在Web角色中执行时,对queue.CreateifNotExist()的调用崩溃并显示错误“响应在此上下文中不可用”。我试图搜索可能导致这种情况的信息,但到目前为止,我的搜索工作一直没有结果。如果我可以提供任何其他信息,请告诉我。
答案 0 :(得分:6)
我将它移到我的WebRole.cs OnStart()函数中,它可以正常工作。