我想使用SiganlR构建一个winform业务解决方案,但我无法在客户端计算机上安装.net 4.0。看起来SignalR的最低要求是.net 4.0。从winform和.net 3.5使用SignalR的最佳方法是什么?我想在客户端应用程序中包含发送/接收消息功能。
我将使用服务器端的.net 4.0在我的Intranet上的IIS上托管SignalR。
是否可以创建与pubnub C#类似的API(在.net 3.5中)?任何人都可以指出我正确的方向。
答案 0 :(得分:8)
如果您不太害怕编译自己的东西,我已经为SignalR创建了一个.net 2.0兼容的客户端库。它可以在SignalR的叉子(https://github.com/robink-teleopti/SignalR)之外使用。
目前我无意提出拉取请求,因为我不想为原始项目增加额外的负担。
我的fork上还有一个修改,可以很好地了解。当拥有属于20多个组的客户端时,我会自动切换到使用POST而不是GET,并且我在服务器端进行了一些小修改以处理该部分。
答案 1 :(得分:2)
我将v1.x和v2.x SignalR客户端向后移植到NET35。在此处以NuGet包的形式提供:http://www.nuget.org/packages/Nivot.SignalR.Client.Net35/
答案 2 :(得分:1)
SignalR项目的一位作者的目标是使用.NET 4中提供的TaskParallelLibrary(TPL)。所以我怀疑该项目中的任何C#代码都将在.NET 3.5上运行。为什么不在服务器上托管TCP或命名管道WCF端点并使用正常的.NET客户端回调?如果服务器是带有WAS或AppFabric的Windows Server 2008,则相对容易。
如果旧服务器可以托管WebBrowser control并使用SignalR javascript客户端库来处理信令。
在另外6个月内,我打赌原生.NET 3.5客户端库,但由于维护人员是全职MS员工,我怀疑他们是否有时间很快就能支持旧版本。