我正在尝试在Windows服务中使用MS Windows Azure队列来阅读邮件。我在创建队列引用时遇到错误,
异常信息:Microsoft.WindowsAzure.Storage.StorageException 在Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync [[System.Boolean,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]](Microsoft.WindowsAzure.Storage.Core.Executor.RESTCommand` 1,Microsoft.WindowsAzure.Storage.RetryPolicies.IRetryPolicy,Microsoft.WindowsAzure.Storage.OperationContext) 在Microsoft.WindowsAzure.Storage.Queue.CloudQueue.CreateIfNotExists(Microsoft.WindowsAzure.Storage.Queue.QueueRequestOptions,Microsoft.WindowsAzure.Storage.OperationContext)
但是同一段代码可以作为控制台应用程序使用。
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(GetQueueSource);
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
CloudQueue queue = queueClient.GetQueueReference(QueueRef);
queue.CreateIfNotExists(); //getting error at this point
return queue;
答案 0 :(得分:0)
我正在尝试在Windows服务中使用MS Windows Azure队列来阅读邮件。我在创建队列引用时遇到错误
我创建了一个简单的Windows服务应用程序,并将代码放在OnStart方法中,就像这样。
protected override void OnStart(string[] args)
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName={mystorageaccountname};AccountKey={account key}");
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
CloudQueue queue = queueClient.GetQueueReference("myqueue");
queue.CreateIfNotExists();
CloudQueueMessage mes = new CloudQueueMessage("windows service mes");
queue.AddMessage(mes);
}
当服务开始在我这边运行时,可以创建队列并将消息添加到此队列。我正在使用WindowsAzure.Storage v8.1.0和.NET framework 4.5。
<package id="WindowsAzure.Storage" version="8.1.0" targetFramework="net45" />
您可以创建一个新的Windows服务应用程序并使用我的代码执行相同的测试,以检查您是否可以无错误地操作队列消息。此外,请确保队列名称确认为these rules。