SignalRとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > SignalRの意味・解説 

Microsoft ASP.NET SignalR

(SignalR から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/03/20 07:20 UTC 版)

Microsoft ASP.NET SignalR
作者 David Fowler
開発元 マイクロソフト
最新版
2.4.3 / 2022年1月21日 (3年前) (2022-01-21)[1]
リポジトリ
プログラミング
言語
C#
対応OS Microsoft Windows
サポート状況 Active
種別 イベント駆動、ネットワーク
ライセンス Apache License 2.0
公式サイト www.asp.net/signalr
テンプレートを表示

Microsoft ASP.NET SignalRはマイクロソフトのDavid Fowlerが中心となり開発が行われている、ASP.NETにリアルタイム・ウェブ機能を追加するためのライブラリである[2]。

概要

SignalRはサーバサイドからクライアントのブラウザのJavaScriptによるコードを呼び出しリアルタイム・ウェブを実現するために開発された。リアルタイム・ウェブの機能として、サーバー側のコードが接続されたクライアントにコンテンツをプッシュする機能を実装するために利用できる。これらの機能は以下に示すような複数の通信手段で実装されている[3]。これによりWebSocketがサポートされないブラウザからはWebSocket以外の選択肢を用いてリアルタイム通信を実現できる。これらはライブラリにより最適な通信手段が選択されるため、デベロッパが設定を行う必要はない[4]。

  • WebSocket (サーバ並びにブラウザ共にサポートしていた場合は有効)
  • Server Sent Events
  • Forever Frame
  • Ajax long polling

履歴

2012年11月にASP.NETの一部となることが David Fowler のブログにより発表され[5]、これに伴い直前のバージョン(0.5.3)からパッケージ構成が変更された。これらは ASP.NET 2012 Fall UpdateからRCとして提供され、マイクロソフトによるオフィシャルサポートが開始されている[6]。なお、ASP.NET and Web Tools 2012.2 により正式製品となる SignalR 1.0.0 がリリースされた[7]。

リリース日[1] バージョン番号 備考
0.5.3
2012年10月31日 1.0.0 Alpha1
2012年11月12日 1.0.0 Alpha2
2012年12月13日 1.0.0 rc1
2013年01月15日 1.0.0 rc2
2013年02月18日 1.0.0
2013年02月28日 1.0.1

サンプル

このサンプルは2つのテキスト ボックスに入力された値を全てのクライアントに対して配信している。

View (HTML)

<div>
 <input type="text" id="name" />
 <br /><input type="text" id="message" />
 <br /><input type="button" value="投稿" id="btnPost" />
 <div id="divResult"></div>
</div>
<script>
 $(function () {
  var ch = $.connection.Chat;
  $("#btnPost").click(function () {
   ch.server.postNewMessage($("#name").val(), $("#message").val())
  });
  ch.client.message = function (message) {
   $("#divResult").append('<div>From:'
    + message.From + ' : ' + message.Message + '[' + message.Date + ']' + '</div>'
   );
  };
  $.connection.hub.start();
 });
</script>

Model (C#)

namespace SampleChat.Models
{
 public class ChatModel
 {
   public string Date { get; set; }
   public string From { get; set; }
   public string Message { get; set; }
 }
}

Hub (C#)

using Microsoft.AspNet.SignalR.Hubs;
using SampleChat.Models;
using System;

namespace SampleChat.Hubs
{
 [HubName("Chat")]
 public class ChatHub : Hub
 {
  public void PostNewMessage(string from, string message)
  {
   var mdl = new ChatModel{
     Date = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"),
     From= from,
     Message = message
   };
   Clients.All.message(mdl);
  }
 }
}

脚注・出典

  1. ^ a b “Microsoft ASP.NET SignalR”. Outercurve Foundation. 2018年4月6日閲覧。
  2. ^ “Incredibly simple real-time web for .NET”. SignalR. 2012年12月23日閲覧。
  3. ^ “FAQ”. SignalR. 2012年12月23日閲覧。
  4. ^ 松崎 剛 (2012年4月26日). “WebSocket サーバー開発 : SignalR とクロス ブラウザーへの対応”. 松崎 剛 Blog. 2012年12月23日閲覧。
  5. ^ David Fowler. “Microsoft ASP.NET SignalR”. Unhandled Exception. 2012年12月23日閲覧。
  6. ^ Scott Hanselman. “ASP.NET and Web Tools 2012.2 (Release Candidate)”. COMPUTER ZEN. 2012年12月23日閲覧。
  7. ^ Scott Hanselman. “Released: ASP.NET and Web Tools 2012.2 in Context”. COMPUTER ZEN. 2013年2月20日閲覧。

外部リンク




英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「SignalR」の関連用語

SignalRのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SignalRのページの著作権

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのMicrosoft ASP.NET SignalR (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2026 GRAS Group, Inc.RSS