服务器发送的事件如何与ASP.NET MVC一起使用?
我有一个ASP.NET MVC应用程序,我正在使用服务器发送的事件。 应用程序工作正常,但我对它的工作原理有一些疑问。 以下是控制器代码。
public class HomeController : Controller { // // GET: /Home/ public ActionResult Index() { ViewBag.Message = "SSE WITH ASP.NET MVC"; return View(); } public ActionResult Message() { var result = string.Empty; var sb = new StringBuilder(); sb.AppendFormat("data: {0}nn", DateTime.Now.ToString()); return Content(sb.ToString(), "text/event-stream"); } }
以下是视图代码。
function contentLoaded() { var source = new EventSource('home/message'); //var ul = $("#messages"); source.onmessage = function (e) { var li = document.createElement("li"); var returnedItem = e.data; li.textContent = returnedItem; $("#messages").append(li); } }; window.addEventListener("DOMContentLoaded", contentLoaded, false); @ViewBag.Message
SSE WITH ASP.NET MVC
我的问题是:1。时间每3秒更新一次。 为什么会这样? 2.如何确定调用控制器操作的频率?
时间每3秒更新一次。 为什么会这样?
因为Controller
返回包含单个数据的ActionResult
然后关闭连接,所以浏览器等待3秒钟然后重新打开它。
如何确定调用控制器操作的频率?
您可以通过循环和延迟来确定调用任何其他方法的频率。
SSE是服务器发送事件,您从服务器端管理所有这些内容,只有在您明确保持连接打开时它才能正常工作,否则您也可以从客户端进行AJAX轮询。
上述就是C#学习教程:服务器发送的事件如何与ASP.NET MVC一起使用?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/988044.html