Xamarinアプリケーションからメッセージが表示されたときに通知を受け取るためにサービスバスキューに登録する方法はありますか(もしそうなら、最良の方法はありますか)。Xamarinからサービスバスキューを効率的に購読できますか?
私はコンソールアプリでこのサンプルを使用しましたし、それがうまく動作しますが、私のXamarinは何の問題もなくWindowsAzure.ServiceBug Nuget package
への参照を追加PCL desipiteフォームにQueueClientをインスタンス化することができるように見えるいけない:
Console.WriteLine("Receive critical messages. Ctrl-C to exit.\n");
var connectionString = "{service bus listen string}";
var queueName = "{queue name}";
var client = QueueClient.CreateFromConnectionString(connectionString, queueName);
client.OnMessage(message =>
{
Stream stream = message.GetBody<Stream>();
StreamReader reader = new StreamReader(stream, Encoding.ASCII);
string s = reader.ReadToEnd();
Console.WriteLine(String.Format("Message body: {0}", s));
});
Console.ReadLine();
Xamarinで行うのが好ましい方法はありますか?
編集:
明確にするために、私は、キューにメッセージを投稿し、それに加入するとメッセージが表示されたときに効率的に通知を受信したくありません。私はREST APIを使用することができますが、私は更新を頻繁にポーリングしなければなりません。これは非常に非効率的です。
編集2:
私はロングポーリングを使用してみましたが、世論調査を返すようそれは本当に私は意味「204コンテンツなし」でほとんど即座にサービスバスキューでは動作しません。依然として連続してキューに当たっています。私は私が正しく理解していれば、あなたが言及したSDKは、Xamarinプラットフォームのために合われていません
おかげ
の可能性のある重複した[XamarinフォームからAzureのServiceBus PCL](のhttp:// stackoverflowのを.com/questions/39753431/azure-servicebus-from-xamarin-forms-pcl) – Thomas
@Thomasに感謝します。しかし、メッセージをキューにプッシュしたくありません。クライアントからのサービスバスキューを継続的にポーリングしなくても、可能な限り最も効率的な方法で購読したい – LDJ