【发布时间】:2023-12-16 06:43:01
【问题描述】:
我刚刚开始使用一些 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
但是我无法让我的 Windows 服务以任何形状或形式连接到集线器。
下面的代码通过 web 服务正确地获取了一个身份验证令牌,然后建立了集线器连接。但是,集线器连接总是断开连接,然后 hubConnection 启动总是抛出错误“解析值时遇到意外字符:。路径'',第 0 行,位置 0。”
我尝试在 fiddler 中进行监控,但似乎没有任何尝试显示 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();
}
}
谢谢。
【问题讨论】:
标签: c# vb.net windows-services signalr