Html Page :
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<label id="serverDate"></label>
<button id="initTimer">Start Timer</button>
<!--Script references. -->
<script src="Scripts/jquery-1.6.4.min.js"></script>
<script src="Scripts/jquery.signalR-2.0.0.js"></script>
<!--Reference the autogenerated SignalR hub script. -->
<script src="signalR/hubs"></script>
<script type="text/javascript">
$(function () {
// Declare a proxy to reference the hub.
var hub = $.connection.demoHub;
hub.client.serverDateTimeInfo = function (time) {
$("#serverDate").text(time);
};
$.connection.hub.start().done(function () {
alert('Server connected');
hub.server.getServerDatetime();
$("#initTimer").click(function () {
hub.server.initTimer();
});
});
});
</script>
</body>
</html>
SignalR Hub Page :
using Microsoft.AspNet.SignalR;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Timers;
using System.Web;
namespace SignalRChat
{
public class DemoHub :Hub
{
public void GetServerDatetime()
{
SendNotification();
}
private void SendNotification()
{
try
{
Clients.Caller.serverDateTimeInfo(DateTime.Now.ToString());
}
catch { }
}
public void InitTimer()
{
Timer timer = new Timer(1000);
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.AutoReset = true;
timer.Enabled = true;
}
public void timer_Elapsed(object sender, ElapsedEventArgs e)
{
SendNotification();
}
}
}
No comments:
Post a Comment