1
我目前是一名学生,想为我的学校做小型项目。我完全是signalR的新手。请帮帮我。检索计数声明并通过信号发送给客户R
我想从数据库中获取计数并将其返回并发送给调用该方法/函数的客户端。然后客户端将显示在网页上。
启动
using Microsoft.Owin;
using Owin;
using mini_project;
namespace mini_project
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
}
枢纽
public class queryHub : Hub
{
private static mpDBEntities db = new mpDBEntities();
private int noG { get; set; }
public void GetStatusG()
{
var x = db.Database.ExecuteSqlCommand("select COUNT(Room_Status.Status) from Room_Cur_Status, Room_Status where Room_Status_Id = Room_Status.Id AND Room_Status.Status = 'G'");
//var x = db.Room_Cur_Status
// .Where(o => o.Room_Status.Status.Equals('G'))
// .Select(o => o.Room_Status.Status)
// .Count();
Clients.All.getG(x);
}
}
客户端代码
<script>
var chat;
var noG;
$(document).ready(function() {
chat = $.connection.queryHub;
function Test() {
noG = chat.client.getG;
}
$.connection.hub.start()
.done(function() {
console.log('connected');
Test();
console.log('Got It');
document.getElementById('test1').innerHTML = noG
})
.fail(function (ex) {
console.log('not connected' + ex);
});
});
</script>
</head>
<body>
<div>
<p id="test1"></p>
</div>
</body>
</html>
“$(文件)。就绪(函数(){ \t \t \t聊天= $ .connection.queryHub; \t \t \t $。 connection.hub.start() \t \t \t \t \t \t .do ne(function(){ \t \t \t \t \t \t \t console.log('connected'); \t \t \t \t \t \t \t \t \t \t \t \t \t}) \t \t \t \t \t .fail(功能(前){ \t \t \t \t \t \t控制台。日志('未连接'+ ex); \t \t \t \t \t}); \t \t \t chat.client.getG =函数(X){ \t \t \t \t的console.log(X); \t \t \t \t的document.getElementById( 'TEST1')的innerHTML = X \t \t \t}。 \t \t});?” 我说喜欢这一点,但它仍然没有工作 –
是您的插座已经被正确建立连接你得到任何错误消息 – fahadash
而且你在哪里你的服务器上调用GetStatusG()/ hub? – fahadash