2012-02-20 71 views
6

我想用SiganlR構建一個winform業務解決方案,但我無法在客戶機上安裝.net 4.0。它看起來像SignalR具有.net 4.0的最低要求。從winform和.net 3.5使用SignalR的最佳方法是什麼?我想在客戶端應用程序中包含發送/接收消息功能。如何使用SignalR與.net 3.5

我將在服務器端使用.net 4.0在我的Intranet上的IIS上託管SignalR。

是否可以創建和API(在.net 3.5中)類似於pubnub C#?任何人都可以指向正確的方向。

回答

8

如果您不太害怕編譯自己的東西,我已經爲SignalR創建了一個.net 2.0兼容的客戶端庫。它可以直接從我的fork(https://github.com/robink-teleopti/SignalR)中獲得。

目前我無意提出拉取請求,因爲我不想爲原始項目增加額外的負擔。

我對叉子有一個修改,可以很好地瞭解。當客戶端屬於超過20個組時,我會自動切換到使用POST而不是GET,並且我已經在服務器端進行了少量修改以處理該部分。

+4

現在在SignalR的核心中有一個.NET 3.5客戶端。儘管如此,我仍然需要在NuGet包中獲得它。但它是最後一個版本的一部分。 – davidfowl 2012-07-21 00:06:37

+0

@davidfowl你還記得軟件包的版本嗎? – Mrchief 2015-07-24 18:25:56

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員工,我懷疑他們有時間很快就有時間支持舊版本。

+2

這實際上是非常微不足道的做一個非tpl客戶端,但它現在不是一個優先事項 – davidfowl 2012-02-22 09:24:37

2

我將v1.x和v2.x SignalR客戶端反向移至NET35。作爲NuGet包在這裏:http://www.nuget.org/packages/Nivot.SignalR.Client.Net35/

+1

太棒了,謝謝你的努力@ x0n! – OnoSendai 2014-02-10 16:43:14

+0

@ x0n當我編譯項目時,我最終在帶有3個dll和3個xml文件的bin文件夾中,是否需要在.Net 3.5下使用SignalR?我需要額外的dll嗎? – 2014-11-05 09:57:35

+0

我猜服務器仍然需要.Net 4.5? – 2014-11-05 12:01:21