Signalr客户端是一个运行在.net框架3.5上的windows服务
本文关键字:框架 net 上的 服务 windows 运行 客户端 一个 Signalr | 更新日期: 2023-09-27 18:12:42
我必须从我的windows服务向我的信号器集线器发送消息。我的一些windows服务运行在.net framework 3.5上。我的第一步是添加这个包:
https://www.nuget.org/packages/Nivot.SignalR.Client.Net35/
以下是我针对这个场景的全部测试代码:
public partial class WinSer35 : ServiceBase
{
private HubConnection hubConnection;
private IHubProxy priceProxy;
public WinSer35()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
hubConnection = new HubConnection("http://localhost:8080/signalr", useDefaultUrl: false);
priceProxy = hubConnection.CreateHubProxy("PriceHub");
hubConnection.Start().Wait();
TestPrice testPrice = new TestPrice() { Id = 1, Buy = 1.2345, Sell = 9.8765, Symbol = "EURUSD" };
priceProxy.Invoke("NotifySubscribers", testPrice).Wait();
}
protected override void OnStop()
{
}
}
在线:
hubConnection.Start((.Wait((;
我得到以下异常:
无法启动服务。System.AggregateException:AggregateException_ctor_DefaultMessage--->System.Net.WebException:远程服务器返回错误:(400(错误请求。位于System.Net.HttpWebRequest.EndGetResponse(IAsyncResult-asyncResult(位于Microsoft.AspNet.SignalR.Client.Http.HttpHelper。<>c_DisplayClass2.b_0(IAsyncResult ar(位于System.Threading.Tasks.TaskFactory
1.FromAsyncCoreLogic(IAsyncResult iar, Func
2 endMethod,TaskCompletionSource`1 tcs(---内部异常堆栈跟踪结束---在System.Threading.Tasks.Task.Wait(Int32毫秒超时,CancellationToken取消令牌(位于System.Threading.Tasks.Task.Wet((在c:''Users''anilliska''Desktop''WindowsFormsApplication1''WinSer35''WinSer35.cs:line 28中的WinSer35.WinSer35.OnStart(String[]args(位于System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(对象状态(--->(内部异常#0(System.Net.WebException:远程服务器返回错误:(400(错误请求。在System.Net.HttpWebRequest…
在.net framework 4.5上运行并引用默认Microsoft.AspNet.SignalR.Client dll的相同代码段工作正常。
你有什么建议吗?想想看,我还有一些其他依赖项,我无法在高于.net framework 3.5的版本中编译我的windows服务。
如果它真的是一个3.5库,它甚至不应该有这些方法,因为这是4.5代码