我刚刚开始使用一些SignalR并尝试设置它,以便Windows服务可以将消息发送到网页。
我有集线器所有设置,这似乎在网站内正常工作。
Namespace SignalR
Public Class SignalRHub
Inherits Hub
Public Sub Send(name As String, message As String)
Clients.All.broadcastMessage(name, message)
End Sub
End Class
End Namespace
但是我无法以任何形式或形式连接到集线器。
以下代码通过Web服务正确获取身份验证令牌,然后进行集线器连接。但是,集线器连接总是断开连接,然后hubConnection start始终抛出错误"解析值时遇到意外字符:。路径'',第0行,第0位。"
我已经尝试过在小提琴手中进行监听,似乎没有任何东西出现在击中SignalR api的任何尝试中。集线器页面已启动,可从
访问http://localhost:56731/signalr/hubs
任何人都知道我做错了什么?
protected override void OnStart(string[] args) {
Debugger.Launch();
WriteToLog("Service Started");
try {
String url = "http://localhost:56731/";
var wsAuth2 = new wsAuth.Authentication();
string authToken = wsAuth2.Authenticate("username", "password");
var hubConnection = new HubConnection(url,
new Dictionary<string, string>
{
{ "token", authToken }
});
IHubProxy signalRServiceProxy = hubConnection.CreateHubProxy("SignalRHub");
hubConnection.Start().Wait();
signalRServiceProxy.Invoke("Send", "Hello Billy!").Wait();
}
catch (Exception ex) {
var error = ex.GetError();
}
}
感谢。
答案 0 :(得分:0)
这看起来像你的问题 - 解决方案可能是关闭Forms身份验证,或检查方法签名是否在客户端和服务器之间匹配: