![](/img/trans.png)
[英]How do i Add callBack Functionality to my hubClass in signalR for update the current work status to client with time delay?
[英]SignalR hubclass in classlibrary
我在一個圖書館里有一個信號中心中心類
當我在Web應用程序中使用該Hubclass並使用下面的javascript代碼引用該類庫時,它將無法正常工作,
$(function () {
var chat = $.connection.notificationHub;
chat.client.newMessage = function (message) {
alert(message);
$('#messages').append('<li><strong>' + message + '</strong>: </li>');
};
$.connection.hub.start();
});
您需要一個事件來觸發Hub類中的方法。 請參見以下示例:
類庫中的NotificationHub
public class NotificationHub : Hub
{
public void Send(string message)
{
Clients.All.newMessage(message);
}
}
Web應用程序
<input type="text" id="message" />
<input type="button" id="sendmessage" value="Send" />
<ul id="messages"></ul>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.signalR-2.0.1.min.js"></script>
<script src="signalr/hubs"></script>
<script>
$(function () {
var chat = $.connection.notificationHub;
chat.client.newMessage = function (data) {
//alert(data);
$('#messages').append('<li><strong>' + data + '</strong>: </li>');
};
$('#message').focus();
$.connection.hub.start().done(function () {
console.log("Connected");
$('#sendmessage').click(function () {
chat.server.send($('#message').val());
$('#message').val('').focus();
});
});
});
</script>
注意
由於hubclass在類庫中,因此需要在其中安裝Microsoft ASP.NET SignalR
軟件包。 您還需要將其安裝在Web應用程序中。 然后將hubclass引用添加到Web應用程序。 在您的Startup類中添加app.MapSignalR()
,如下所示:
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
app.MapSignalR();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.