私は定期的にクライアントにメッセージをプッシュする必要がありますSignalRを持つ単純なASP.NET 5アプリを構築しようとしています(たとえば、値を持つダッシュボードを実装するブラウザにサーバーからプッシュされた。)ASP.NET 5のIRegisteredObjectの置き換えは?
私は、このようないくつかの記事を調査http://arulselvan.net/realtime-dashboard-asp-net-signalr-angularjs-d3js/またはhttp://henriquat.re/server-integration/signalr/integrateWithSignalRHubs.htmlとなります。 System.Web.Hosting
名前空間のIRegisteredObject
を実装するクラスでタイマーを実装することをお勧めします。
しかし、私は、ASP.NET 5. System.Web
でIRegisteredObject
生活はもはや私はそれ上の任意の情報を見つけることができていないASP.NET 5. に存在する名前空間を見つけることができていないようですオンライン。 ASP.NET 5の代わりに何がありますか?
UPDATE
私は、次のソリューションをしようとしています:
は、例えば、シングルトンサービスとして
Startup.cs
に登録タイマーにをカプセル化するサービスを作成どのようにこのアプローチについて
public void ConfigureServices(IServiceCollection services) { // ... Ticker ticker = new Ticker(); ServiceDescriptor sd = new ServiceDescriptor(typeof(Ticker), ticker); services.Add(sd); // ... }
Startup.cs
でpublic class Ticker { Timer timer = new Timer(1000); public Ticker() { timer.Elapsed += Timer_Elapsed; timer.Start(); } private void Timer_Elapsed(object sender, ElapsedEventArgs e) { // do something } }
?
「HostingEnvironment.QueueBackgroundWorkItem」メソッドはどうですか? .NET 4.5で導入され、 'IRegisteredObject'を置き換えました。 – Anders
いいえ、どちらも見つかりませんでした。 'System.Web.Hosting'にあります - この名前空間はもはや存在しないようです。例えば、System.Web自体のように、あなたの更新については – AunAun
です。取り消しの概念があります。バックグラウンドジョブは、アプリケーションプールがリサイクルするときに完了する必要があります。 – Anders