我是信号手的新手。我在没有自动生成代理的客户端中创建了hubproxy。如何将消息从JavaScript代理发送到服务器?
完毕:-
Signalr成功接收到来自服务器中心类的即时消息。
一切:-
我需要通过Client中的hubproxy将ConnectionId从客户端发送到服务器中枢类,并通过Service中的中枢类基于connectionId响应所请求的客户端
我不知道,如何使用hubproxy将数据从客户端发送到服务器?
Javascript客户端:-
_signalr:function(){
var connection = $.hubConnection();
var proxy=this;
var service = $.connection.serviceHub;
var ServiceHubProxy = connection.createHubProxy('serviceHub');
ServiceHubProxy.on('addMessage', function signalr(widgetName,info) {
if (widgetName == "Layout")
proxy._renderDashboardLayout(null, info);
else
proxy._renderControl(null,widgetName, info);
});
connection.url = 'http://localhost:58087/signalr';
connection.start({ jsonp: true }).done(function () {
var Id = connection.id;
console.log(Id);
console.log("Connected");
proxy.loadLayout();
});
},
HubClass:-
[HubName("serviceHub")]
public class ServiceHub : Hub
{
public void Send(string widgetName,object info)
{
var service = GlobalHost.ConnectionManager.GetHubContext<ServiceHub>();
service.Clients.All.addMessage(widgetName,info);
}
}
Owin初创班:-
public class Startup
{
public void Configuration(IAppBuilder app)
{
var configuration = new HubConfiguration();
configuration.EnableJSONP = true;
app.MapSignalR(configuration);
}
}
任何人都可以提供解决方案吗?
这会更有帮助。
您需要在后端中创建一个函数以接收来自客户端的呼叫。
[HubName("serviceHub")]
public class ServiceHub : Hub
{
//send to client
public void Send(string widgetName,object info)
{
var service = GlobalHost.ConnectionManager.GetHubContext<ServiceHub>();
service.Clients.All.addMessage(widgetName,info);
}
//receive from client
public void ReceiveAnAjaxFromClient(string data)
{
//do something
}
}
在客户端,您将为ReceiveAnAjaxFromClient发送一个ajax
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句