質問

私はASP.NET MVC 3でFacebookシステムのようなFacebookを実装したいと思います。

は、そのような要求に適していますか? SignalRを使用して、特定のユーザー(このユーザーのすべての開かれたセッション)に通知を送信できますか?

編集

OK、ここで私がしたこと

クライアント側

$(function () {
// Proxy created on the fly
var chat = $.connection.chat;
var username = '@Html.ViewContext.HttpContext.User.Identity.Name';
// Declare a function on the chat hub so the server can invoke it
chat.addMessage = function (message) {
     $('#messages').append('<li>' + message + '</li>');
};
// Start the connection
$.connection.hub.start(function (){
    chat.join(username);
});

});
.

サーバ側

public class Chat : Hub
{
    public void Join(string username)
    {
        AddToGroup(username);
    }
}
.

そして私がコントローラにユーザーに通知する必要があるたびに、次の手順を実行します。

IConnectionManager connectionManager = AspNetHost.DependencyResolver.Resolve<IConnectionManager>();
dynamic clients = connectionManager.GetClients<Chat>();
clients[username].addMessage("test");
.

役に立ちましたか?

解決

これに適しているか、ポーリングを使用することは、2つの選択肢です。

今日からの真新しいビデオをこれから:

http://channel9.msdn.com/shows/web + camps + tv/damian-edwards-and-david-fowler-demontrate-signalr?them_source= dlvr.it&.utm_Medium= TWitter

他のヒント

はい、Signalrはそのために良い選択です。ハブに関するドキュメント(サーバ js client )。

クライアントのセッションをSignalのセッションと関連付けるには、サーバーロジックを実装する必要があります。グループを使用して、各ユーザーのすべてのオープンセッションに通知できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top