I want to implement HTML5 Server Sent Event feature with ASP.NET Web Forms with Web Service.
My client code is
$(document).ready(function () {
initialize();
});
function initialize() {
if (window.EventSource == undefined) {
document.getElementById('OutputDiv').innerHTML = "Your browser doesn't support Server Side Events.";
return;
}
var source = new EventSource("WebSercvice.asmx");
source.onopen = function (event) {
document.getElementById('OutputDiv').innerHTML += 'Connection Opened.<br>';
};
source.onerror = function (event) {
if (event.eventPhase == EventSource.CLOSED) {
document.getElementById('OutputDiv').innerHTML += 'Connection Closed.<br>';
}
};
source.onmessage = function (event) {
document.getElementById('OutputDiv').innerHTML += event.data + '<br>';
};
and Server side code is
[WebMethod]
public void HelloWorld() {
DateTime startDate = DateTime.Now;
HttpContext.Current.Response.ContentType = "text/event-stream";
while (startDate.AddMinutes(1) > DateTime.Now)
{
HttpContext.Current.Response.Write(string.Format("data: {0}\n\n", startDate));
HttpContext.Current.Response.Flush();
System.Threading.Thread.Sleep(1000);
}
}
But it is not able to call the service method.