我是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和.net客户端应用程序还是可以正常工作。我需要为hubclass设置时间延迟并定期回调samehub类吗?
是否可以在一段时间内回调服务器中的同一集线器类?
为此,我补充说,hubclass中的时间延迟。我在服务器中回调了hubclass。它将无法正常工作。有人可以为我提供解决方案吗?
参考方案
理想情况下,您希望使用一个计时器,该计时器以当前时间调用broadcastMessage方法。但是,您的send
集线器方法存在一些问题。此外,SignalR会为每个呼叫实例化集线器类,并且不会维护状态。
我正在尝试使用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=&…