如何通过SignalR在asp.net中实现客户端调用服务器方法,代码为何不工作?

2026-04-30 13:1110阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计295个文字,预计阅读时间需要2分钟。

如何通过SignalR在asp.net中实现客户端调用服务器方法,代码为何不工作?

当我在客户端调用服务端`SendNewOrderConfirmation`方法时,在线聊天中收到了+undefined+ is not a function的错误。有人知道为什么会这样吗?谢谢,在服务端有`public class Dri`。

当我尝试从客户端调用服务器端的SendNewOrderConfirmation时,我得到了

如何通过SignalR在asp.net中实现客户端调用服务器方法,代码为何不工作?

“undefined” is not a function

在线聊天.SendNewOrderConfirmation(数据);
有谁知道为什么会这样?
谢谢

在服务器端

public class DriverChat : Hub, IDisconnect { public void Start(Driver d) { ... } public void SendNewOrderConfirmation(OrderDriverData data) { LogFile.LogResponseTime(data.orderId, data.driverId); } }

在客户端

function begin(args) { try { //alert('begin'); chat = $.connection.driverChat; chat.refresh = function () { ready++; }; chat.disconnect = function () { alert('Server has disconnected'); }; $.connection.hub.start(function () { chat.start(args); ready++; // alert('signalR started'); }); } catch (e) { alert(e.message); return e.message; } } function confirmNewOrder(data) { try{ alert('sending cofirmation'); chat.SendNewOrderConfirmation(data); alert('confirmation sent'); } catch (e) { alert(e); } }; } 根据您使用的SignalR版本,答案可能会有所不同.

首先,如果您使用的是v1 Alpha之前的版本,那么您的代码应该是;

chat.sendNewOrderConfirmation(data);

注意小写s.

如果您使用的是版本v1 Alpha或更高版本,那么您的代码应该是;

chat.server.sendNewOrderConfirmation(data);

本文共计295个文字,预计阅读时间需要2分钟。

如何通过SignalR在asp.net中实现客户端调用服务器方法,代码为何不工作?

当我在客户端调用服务端`SendNewOrderConfirmation`方法时,在线聊天中收到了+undefined+ is not a function的错误。有人知道为什么会这样吗?谢谢,在服务端有`public class Dri`。

当我尝试从客户端调用服务器端的SendNewOrderConfirmation时,我得到了

如何通过SignalR在asp.net中实现客户端调用服务器方法,代码为何不工作?

“undefined” is not a function

在线聊天.SendNewOrderConfirmation(数据);
有谁知道为什么会这样?
谢谢

在服务器端

public class DriverChat : Hub, IDisconnect { public void Start(Driver d) { ... } public void SendNewOrderConfirmation(OrderDriverData data) { LogFile.LogResponseTime(data.orderId, data.driverId); } }

在客户端

function begin(args) { try { //alert('begin'); chat = $.connection.driverChat; chat.refresh = function () { ready++; }; chat.disconnect = function () { alert('Server has disconnected'); }; $.connection.hub.start(function () { chat.start(args); ready++; // alert('signalR started'); }); } catch (e) { alert(e.message); return e.message; } } function confirmNewOrder(data) { try{ alert('sending cofirmation'); chat.SendNewOrderConfirmation(data); alert('confirmation sent'); } catch (e) { alert(e); } }; } 根据您使用的SignalR版本,答案可能会有所不同.

首先,如果您使用的是v1 Alpha之前的版本,那么您的代码应该是;

chat.sendNewOrderConfirmation(data);

注意小写s.

如果您使用的是版本v1 Alpha或更高版本,那么您的代码应该是;

chat.server.sendNewOrderConfirmation(data);