Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 信号器必须在逻辑之前调用.done或.fail_Javascript_C#_Signalr - Fatal编程技术网

Javascript 信号器必须在逻辑之前调用.done或.fail

Javascript 信号器必须在逻辑之前调用.done或.fail,javascript,c#,signalr,Javascript,C#,Signalr,我正在尝试用SignalR创建一个简单的hello world。我有一个中心 public class MyHub : Hub { public void TestConnection(string message) { Clients.Caller.testConnection(message); } } 和一个JS文件(使用Angular) 当我加载页面时,我只希望控制台说“hello Signal”。我收到一条错误消息:信号器:连接尚未完全初始化。

我正在尝试用SignalR创建一个简单的hello world。我有一个中心

public class MyHub : Hub
{
    public void TestConnection(string message)
    {
        Clients.Caller.testConnection(message);
    }
}
和一个JS文件(使用Angular)

当我加载页面时,我只希望控制台说“hello Signal”。我收到一条错误消息:信号器:连接尚未完全初始化。使用.start().done()或.start().fail()在连接启动后运行逻辑

我做错了什么

试试这个:

$.connection.hub.start().done(function () { 
    alert('signalR started');  
    hub.server.testConnection("hello signalR").done(function () { });
});
在服务器上:

Clients.All.testConnection(message);

连接启动后,必须调用hub.server中的函数。在您的示例中,javascript正在运行,但集线器连接尚未完成启动,因此您将其放在.done()的回调中。

这可能无法解决问题,但您应该从C方法调用testMessage,而不是testConnection。

是否添加了
start().fail()
查看初始化是否由于某种原因失败?@RonBeyer我添加了它,但它给出了相同的错误。谢谢。所有部分都不是必需的,但是JS解决了这个问题。我已经试过一次了,但是我没有添加.fail语句,所以这可能是相关的。不确定。不需要Fail语句。All part只指定传输给所有连接的用户。
Clients.All.testConnection(message);