如何为我的signalR中的hubClass添加回调功能,以在延迟的情况下向客户端更新当前工作状态? - javascript

我是signalR的新手。我正在signalR中开发一个简单的应用程序。要求是,signalR需要在一定时间延迟下向客户端重复更新当前时间。虽然我开始运行,但是代码仅获得服务器响应一段时间。它不会一次又一次地重复。我需要一次又一次地回调sameHubclass来更新当前时间到客户端!

这是我的代码:

Javascript客户端代码:-

<body>
<div class="container">
<input type="hidden" id="name" />
</div>
<script src="Scripts/jquery-1.6.4.min.js"></script>
<script src="Scripts/jquery.signalR-2.2.1.min.js"></script>
<script src="signalr/hubs"></script>
<script type="text/javascript">
$(function () {
        var chat = $.connection.timeHub;
        chat.client.broadcastMessage = function (name,current) {
        var now = current;
        console.log(current);
        $('div.container').append('<p><strong>'+name+"=" 
               + now + '</strong></p>');

        };
        $("#name").val(prompt("Enter the UserName", ""));

            $.connection.hub.start().done(function () {
                chat.server.send($("#name").val());

            });

    });
</script>
</body>

HubClass:-

public class timeHub : Hub
{
   public void send(string name)
    {

        while(true)
        {

            string current = DateTime.Now.ToString("HH:mm:ss:tt");
            Clients.All.broadcastMessage(name,current);
            Console.WriteLine(current);
            Console.ReadLine();
            System.Threading.Thread.Sleep(3000);
            send(name);
        }
    }
}

MyOwin启动类:-

 [assembly: OwinStartup(typeof(Time.Startup))]

 namespace Time
  {
    public class Startup
     {
        public void Configuration(IAppBuilder app)
         {
           app.MapSignalR();
         }
     }
 }

如何在SignalR的Javascript客户端代码中为HubClass添加回调功能。

这是我当前的没有回调函数和timedelay的输出:

如何为我的signalR中的hubClass添加回调功能,以在延迟的情况下向客户端更新当前工作状态? - javascript

但是signalR和.net客户端应用程序还是可以正常工作。我需要为hubclass设置时间延迟并定期回调samehub类吗?

如何为我的signalR中的hubClass添加回调功能,以在延迟的情况下向客户端更新当前工作状态? - javascript

是否可以在一段时间内回调服务器中的同一集线器类?
为此,我补充说,hubclass中的时间延迟。我在服务器中回调了hubclass。它将无法正常工作。有人可以为我提供解决方案吗?

参考方案

理想情况下,您希望使用一个计时器,该计时器以当前时间调用broadcastMessage方法。但是,您的send集线器方法存在一些问题。此外,SignalR会为每个呼叫实例化集线器类,并且不会维护状态。

使用C#执行JavaScript页面 - javascript

我正在尝试使用C#抓取一个网站。在此过程中的某个时候,网站返回了我需要执行的JavaScript页面,以便它将生成一些参数,然后使用所生成的参数作为查询变量来发布请求。这是JavaScript文件https://jsfiddle.net/7aw5vr59/浏览器生成的结果文件如下所示:<imimxxxyyy id="ActiveX"…

如何在JavaScript中将多个h1元素替换为h1,h2,h3,h4,h5,h6? - javascript

@foreach (var item in Model) { <div class="panel-heading"> <h1> <a href="#">@item.Title</a> </h1> </div> } 结果; (每页发布数:6)<…

在提交时在表单操作中获取变量丢失 - javascript

            当表单由onchange事件提交时,它不会保留get变量view。任何想法为什么会发生这种情况?提交后,这是它进入的网址,index?month=February&year=2014<form action="index?view=list" class="pure-form pure-fo…

将值设置为无法与jQuery一起使用的隐藏字段 - javascript

我有一个使用Visual Studio 2013创建的应用程序,但是在使用jQuery向隐藏字段分配值时遇到了一些问题。首先,我要为隐藏变量分配一个值,因为我无法直接访问.cs文件中标签的文本值,因此我必须将标签的值分配给隐藏的输入字段才能访问在.cs文件中。我希望这是有道理的。这是我在.aspx文件中的隐藏输入字段: <input type=…

选择后显示输入元素 - javascript

我有一个表格,其中取决于用户的选择,输入元素是否可见。实际上,用户正在以另一种形式设置已定义的合作伙伴类型,并且如果选中该元素,则允许在该类型的合作伙伴上可见的元素类型1将显示以下元素:<input type="text" id="partner" name="partner" class=&…