【问题标题】:How to use SignalR with .net 3.5如何在 .net 3.5 中使用 SignalR
【发布时间】:2012-03-11 07:14:42
【问题描述】:

我想使用 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 中)?谁能指出我正确的方向。

【问题讨论】:

    标签: c# .net .net-3.5 signalr


    【解决方案1】:

    如果您不太害怕编译自己的东西,我已经为 SignalR 创建了一个与 .net 2.0 兼容的客户端库。它可以从我的 SignalR 的 fork (https://github.com/robink-teleopti/SignalR) 中获得。

    目前我无意提出拉取请求,因为我不想给原始项目增加额外的负担。

    我对我的 fork 进行了另一项修改,很高兴知道。当拥有属于 20 多个组的客户端时,我会自动切换到使用 POST 而不是 GET,并且我在服务器端做了一些小的修改来处理这部分。

    【讨论】:

    • 其实现在 SignalR 的核心中有一个 .NET 3.5 客户端。不过,我仍然需要在 NuGet 包中获取它。但它是最后一个版本的一部分。
    • @davidfowl 你还记得曾经发布过的软件包版本吗?
    【解决方案2】:

    我将 v1.x 和 v2.x SignalR 客户端反向移植到 NET35。在此处以 NuGet 包的形式提供:http://www.nuget.org/packages/Nivot.SignalR.Client.Net35/

    【讨论】:

    • @x0n 当我编译项目时,我最终在包含 3 个 dll 和 3 个 xml 文件的 bin 文件夹中,这就是我需要在 .Net 3.5 下使用 SignalR 的全部内容吗?我需要任何额外的 dll 吗?
    • 我猜服务器仍然需要 .Net 4.5?
    • @RafaelDiaz 是的,服务器仍然需要 4.5
    • @RafaelDiaz 为什么不使用 Visual Studio 中的 NuGet 包管理器将程序集添加到您的项目中?少了很多麻烦。
    【解决方案3】:

    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 的全职员工,我怀疑他们很快就会有时间支持旧版本。

    【讨论】:

    • 创建一个非 tpl 客户端实际上是微不足道的,但它现在不是优先事项
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-15
    相关资源
    最近更新 更多