スポンサーサイト

--.--.--.--.--:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Microsoft.ServiceBus.dllのバージョンをあげすぎるとMobileServiceが「Unhealthy」になる

2014.06.07.Sat.01:02
.NETバックエンドのモバイルサービスにプッシュ通知の送信を実装すると「Unhealthy」になるので、いろいろ調べたところ、nugetでパッケージをすべて更新した時に「Microsoft.ServiceBus.dll」のバージョンが"2.3.3.0"になってしまっていたのが原因っぽい。
一つずつバージョンを下げていったところ、"2.2.7.0"まで下げたところで動くようになりました。

パッケージマネージャーコンソールで、既定のプロジェクトを [プロジェクト名]Service に変えて、2.2.7.0に更新します。

PM> Install-Package WindowsAzure.ServiceBus -version 2.2.7.0


なお、


とのことなので、単にパッケージの更新をしたいときは、updatepackagesafe.png
スポンサーサイト

.NETバックエンドのモバイルサービスにプッシュ通知の送信を実装すると「Unhealthy」になる

2014.06.05.Thu.02:01
Azure Mobile Services の.NETバックエンドでプッシュ通知を送る方法をまとめていたところ、モバイルサービスプロジェクトをAzureに発行した時、"Unhealthy"になってしまいました。

追記:ひとまず解決しました

手順
1.Azure Mobile Servicesで.NETバックエンドのモバイルサービスを作成
2.クイックスタートからWindowsストアアプリのC#のテンプレートプロジェクトをダウンロード
3.テンプレートプロジェクトを解凍し、VSで開く
4.モバイルサービスプロジェクトのnugetパッケージ管理画面を開き、すべて最新に更新
5.「Controllers/TodoItemController.cs」の「PostTodoItem」関数の中を下記のように変更


public async Task<IHttpActionResult> PostTodoItem(TodoItem item)
{
TodoItem current = await InsertAsync(item);

#region プッシュ通知登録
WindowsPushMessage message = new WindowsPushMessage();
message.XmlPayload = @"<?xml version=""1.0"" encoding=""utf-8""?>" +
@"<toast><visual><binding template=""ToastText01"">" +
@"<text id=""1"">" + item.Text + @"</text>" +
@"</binding></visual></toast>";
try
{
var result = await Services.Push.SendAsync(message);
Services.Log.Info(result.State.ToString());
}
catch (System.Exception ex)
{
Services.Log.Error(ex.Message, null, "Push.SendAsync Error");
}
#endregion

return CreatedAtRoute("Tables", new { id = current.Id }, current);
}


4.の段階で発行すると問題なく :-) になりますが、5.の変更を加えたうえで発行すると、 :-( になってしまいます。

unhealthy.png

なぜなんだぜ?

参考:
Get started with push notifications in Mobile Services
 | HOME | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。