Windows Azure -Web角色无法访问本地开发队列存储
-
30-09-2019 - |
题
我有一个课堂库,在解决方案中的多个角色项目之间共享。其中两个项目是网络角色和工人角色。
他们每个都有相同的配置设置:
<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));
}
当这种工作角色执行时,它没有任何问题。我已经确认了适当的读物和队列消息的写作。当它在Web角色中执行时,呼叫queue.createifnotexist()崩溃,错误“在此上下文中不可用响应”。我已经尝试搜索有关可能导致的原因的信息,但是到目前为止,我的搜索工作毫无结果。请让我知道我是否可以包括任何其他信息。
解决方案
好的,所以经过更多的工作,我确定是因为我从global.asax application_start中调用它。
我将其移至webrole.cs onstart()函数,并且可以正常工作。
不隶属于 StackOverflow