我正在尝试在WPF中创建一个需要将消息发送到属于其他云应用程序的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
我试图查找此异常,但未找到正常的解决方案。每个帖子都在谈论一个azure云应用程序,而我正试图从WPF中做到这一点。
答案 0 :(得分:1)
只要您具有相应的权限,就可以从任何地方向Azure队列发送邮件。我假设您正在谈论存储队列(与服务总线队列对比):您需要存储帐户密钥或队列的共享访问签名。此时,您可以从您想要的任何应用程序中编写消息。
只需创建队列客户端,创建消息,然后向队列添加消息。如果您的应用程序在本地,移动设备或不同的数据中心运行,而不是存储队列的存储帐户,则在添加消息时会有一些延迟,但是,工作正常。 / p>
答案 1 :(得分: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());
希望能帮助其他人解决同样的问题!