2016-12-20 15 views
1

NotificationDateTimeフィールドを持つデータベースに多数の通知レコードが格納されています。ASP.NET MVCコアアプリケーションのリアルタイム通知

これらの通知を利用できるようになると、リアルタイムで表示する必要があります。

私は、毎時クライアントからサーバーにpingを送信して、現在の通知があるかどうかを確認する必要があると仮定しています。

このシナリオでは、SignalRライブラリが完璧だと思います。しかし、私はそれが私のアプリケーションが何であるASP.NETコアと互換性があるとは思わない。このようなことに私が使用できる代替技術はありますか?

+0

SignalR '0.2.0-rtm-22752'は、ASP.NET Core 1.1をサポートしています。http://github.com/aspnet/SignalR-Server/blob/rel/1.1.0/src/Microsoft.AspNetCoreを参照してください。 SignalR.Server/project.jsonしかし、あなたはNuget上にあるように見えないので、ほとんどの場合夜間のフィードが必要です。または、ウェブサイトhttps://www.nuget.org/packages?q=Microsoft.AspNetCore .SignalR – Tseng

+0

パッケージのソースから夜間のフィードを取得する方法を理解したら、このシナリオではsignalRが理想的なものになりますか? –

+0

もちろん、それがSignalRのために作られたものです。しかし、まだ開発中であるため、従来のSignalRクライアントのすべての機能が利用できない場合があります。 – Tseng

答えて

3

SignalRはASP.NETコアで利用可能ですが、それ自体はまだ開発中です。

0.2.0-rtm-22752バージョンは、ASP.NETコア1.1(それはproject.jsonだに見られるように)に対する最新のものビルドです。

公式のナゲットフィードには掲載されていないので、aspnetcore-masterマイジェットフィード(link)を追加する必要があります。

またはVS 2015: ツール>オプション...> Nuget Package Manager> [+]アイコン。

https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json」がナゲット源として追加されています。

次に、aspnetcore-masterのパッケージがナゲット経由で利用可能になります。

SignalRについては、サーバーを自分でポーリングする必要はありません。 SignalRはデフォルトでWebSocket経由で接続しようとしますが、失敗した場合は長いポーリングに戻り、他の方法で接続をアクティブにします。

+0

おかげさまで、ありがとうございます。私は今、私のasp.netコアWebアプリケーションでSignalRを使用しています。私はこの小さなチュートリアルを見つけました。このチュートリアルは私が手伝ってくれました:https://radu-matei.github.io/blog/aspnet-core-mvc-signalr/。このチュートリアルでは、そのNuGetパッケージソースを使用するように指示しています。私は今、NotificationDateTime = DateTime.Now()、つまり_repository.GetNotifications(DateTime.Now())の通知を選択するデータベース呼び出しをサーバー上のどこに追加する必要があるかを調べようとしています。これはSignalRクライアントから呼び出されたコントローラのActionMethodですか? –

+0

あなたはポストでフィードを使用する場合、aspnetcore-ci-dev、最新のパッケージをホストする夜間ビルドフィードを使用すると注意します。夜間に.NET Core/ASP.NET Coreのビルドに対して書かれていることが多く、パッケージは新しい変更のためにアップグレードされます。 aspnetcore-masterフィードを使用すると、その安定した唯一のマイルストーンがそこにプッシュされます(つまりrc1、rc2、rtm、1.0、1.1プレビュー、1.1など) – Tseng

+0

私はaspnetcore-masterを使用して切り替えました。チュートリアルのようにAspNetCore.WebSocketsパッケージが必要かどうか分かりますか? –

関連する問題