2014-02-20 62 views
0

我想在WPF中创建一个需要将消息发送到属于其他云应用程序的Azure队列的Windows应用程序。稍后,工作者角色将从队列中提取这些消息并对数据进行一些操作。从WPF应用程序发送消息到Azure队列

  • 它甚至可能或者我必须使用具有Web角色的云应用程序吗?
  • 如果是这样,有人能指点我一个很好的阅读来源,如何做到这一点?
  • 如果不是,我该如何制作一个使用Azure队列的Windows可执行应用程序?

编辑:这是我的代码,我包括在此:

using Microsoft.WindowsAzure; 
using Microsoft.WindowsAzure.StorageClient; 
using Microsoft.WindowsAzure.ServiceRuntime; 


var storageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString"); 
var queue = storageAccount.CreateCloudQueueClient(); 

我得到这个异常:

SetConfigurationSettingPublisher needs to be called before FromConfigurationSetting can be used 

我试图查找此异常,但没”找到一个正常的解决方案。每篇文章都在谈论一个天蓝色的云应用程序,同时我正在尝试从WPF开始。

回答

0

我设法让它工作,并得到朋友的帮助。这是我做过什么:

新增参考System.Configuration为了使用ConfigurationManager

添加到在app.config:

<appSettings> <add key="StorageConnectionString" value="UseDevelopmentStorage=true;DevelopmentStorageProxyUri=http://127.0.0.1:10001/"/> </appSettings>

为了连接到本地存储账户:

CloudStorageAccount st = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["StorageConnectionString"].ToString());

希望它可以帮助其他卡住同样的问题!

1

只要您有适当的权限,就可以从任何地方将邮件发送到Azure队列。我假设你在谈论存储队列(与服务总线队列):你需要存储帐户密钥或队列的共享访问签名。在这一点上,你可以写任何你想要的应用程序的消息。

只需创建队列客户端,创建消息并向队列添加消息。如果您的应用在内部部署,移动设备上或与存储队列的存储帐户不同的数据中心内部运行,添加消息时会有一些延迟,但在其他情况下可以正常工作。

+1

当然,你需要从的NuGet的WindowsAzure.Storage软件包安装到您的WPF应用程序;) –

+0

Iv'e添加一个问题,因为我仍然无法得到它的工作。 – Technotronic

+1

问题在于您检索连接字符串的方式。看看[这StackOverflow问题/答案](http://stackoverflow.com/questions/17789937/azure-storage-sdk-v1-3-to-v2-setconfigurationsettingpublisher)的更多信息。 –

相关问题