1)这种通知可以由signalR
开发2)我们可以编写JQuery函数,它将运行后台的每个部分并命中服务器以检查是否有任何答案是否到达问题或检查是否存在任何问题更改或检查是否有任何评论等等找到活动,然后在页面上显示一条消息,要求用户加载更改。
但我不知道堆栈溢出是如何开发此通知系统的? 所以我正在寻找最好的指导,为任何网站开发类似的通知系统。
感谢
public class ChatHub : Hub
{
public void Send(string name, string message)
{
Clients.All.sendMessage(name,message);
}
}
code in global.asax
protected void Application_Start(object sender,EventArgs e)
{
RouteTable.Routes.MapHubs();
}
client code
<script src="http://code.jquery.com/jquery-1.8.2.min.js" type="text/javascript"></script>
<script src="Scripts/jquery.signalR-1.0.1.min.js" type="text/javascript"></script>
<script src="signalr/hubs" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
// Proxy created on the fly
var chat = $.connection.chatHub;
// Get the user name and store it to prepend to messages.
$('#displayname').val(prompt('Enter your name:', ''));
// Declare a function on the chat hub so the server can invoke it
chat.client.sendMessage = function (name, message) {
var encodedName = $('<div />').text(name).html();
var encodedMsg = $('<div />').text(message).html();
$('#messages').append('<li>' + encodedName +
': ' + encodedMsg + '</li>');
};
// Start the connection
$.connection.hub.start().done(function () {
$("#send").click(function () {
// Call the chat method on the server
chat.server.send($('#displayname').val(), $('#msg').val());
});
});
});
</script>
嗨@Anders感谢您的指导,并且您让我使用您的图书馆但是当我转到该页面时,我发现没有可靠的代码,我需要将其放入我的页面。通常当我们使用signalr时,我们编写了上面的代码。单侧集线器和另一侧是客户端,但我不明白我需要编写什么来实现您的代码,我也想知道您的代码将提供更多。
所以请详细指导我。感谢
答案 0 :(得分:1)
这个想法很简单,使用pub / sub将更新推送到客户端。实际上,开发这样一个功能丰富且实时的CMS需要时间。轻松入门,随时添加功能。
不要轮询,而是使用SignalR,我的问题是Stackoverflow使用某种CQRS域。在读模型存储中,您可以将更改推送到消息总线,然后将它们转发给客户端。
您可以查看signalR的事件聚合器代理,
https://github.com/AndersMalmgren/SignalR.EventAggregatorProxy/wiki
在客户端我会使用Knockout或SignalR,但请记住,如果你想让SEO工作,你也需要在服务器上呈现内容