Csharp/C#教程:服务器发送的事件如何与ASP.NET MVC一起使用?分享


服务器发送的事件如何与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

(0)
上一篇 2021年12月23日
下一篇 2021年12月23日

精彩推荐