SignalR v2.2.0 发布,一个ASP.NET实时 Web库

jopen 8年前
   <p style="text-align: center;"><img alt="" src="https://simg.open-open.com/show/47066eb21bd8e2cbf3db7fba1e63df3b.png" /></p>    <p>ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程。实时 Web 功能是指这样一种功能:当所连接的客户端变得可用时服务器代码可以立即向其推送内容,而不是让服务器等待客户端请求新的数据。SignalR 可以用于将任何种类的“实时”Web 功能添加到您的 ASP.NET 应用程序。虽然我们经常把聊天应用作为最常用的一个例子,但实际上你可以利用它做很多事情。如果用户是通过刷新 web 页面,来查看新的数据,或者是通过页面实现长轮询来检索新的数据,那么就该考虑使用 SignalR 了。</p>    <p style="text-align: center;"><img alt="" src="https://simg.open-open.com/show/90d3c32a799aa8da24d9da511ebbaa91.png" /></p>    <h2>更新日志</h2>    <h3>Bugs修复</h3>    <ul>     <li>An unhandled exception in ProcessWebSocketRequestAsync method for request (<a href="/misc/goto?guid=4958992189585025243">#3342</a>)</li>     <li>Canceled Tasks returned from Groups.Add and Groups.Remove (<a href="/misc/goto?guid=4958992189699234360">#3337</a>)</li>     <li>TypeLoadException when use strongly typed Hub with an inherited interface (<a href="/misc/goto?guid=4958992189785753538">#3311</a>)</li>     <li>With Redis scale-out, calling the method Groups.Add(connectionId, groupName).Wait() never completes (<a href="/misc/goto?guid=4958992189884431040">#3240</a>)</li>     <li>Stack Overflow Exception version 2.1.1 (<a href="/misc/goto?guid=4958992189961177984">#3228</a>)</li>     <li>In .Net client race condition when connection stopped and heartbeat running (<a href="/misc/goto?guid=4958992190056129158">#3212</a>)</li>     <li>In .Net client race condition causes ArgumentNullException (<a href="/misc/goto?guid=4958992190152858899">#3211</a>)</li>     <li>Remove async/await from code that can run with the sync context (<a href="/misc/goto?guid=4958992190240238352">#3176</a>)</li>     <li>Detect blocks/deadlocks in .NET client receive queue and log an error when it occurs (<a href="/misc/goto?guid=4958992190326252369">#3167</a>)</li>     <li>Small trace issue in SqlReceiver (<a href="/misc/goto?guid=4958992190419898620">#3147</a>)</li>     <li>Nightly Microsoft.AspNet.SignalR.Redis package from dev branch still has old dependency BookSleeve (<a href="/misc/goto?guid=4958992190498332644">#3137</a>)</li>     <li>Add a workaround to make sure Redis connection is reconnected in ConnectionRestored event after Redis restart (<a href="/misc/goto?guid=4958992190589693078">#3095</a>)</li>     <li>With Redis scale-out, SignalR existing connections will miss some messages after Redis restart (<a href="/misc/goto?guid=4958992190674421510">#3091</a>)</li>     <li>Issues with large message sizes again (<a href="/misc/goto?guid=4958992190771723434">#163</a>) (<a href="/misc/goto?guid=4958992190864542480">#3040</a>)</li>     <li>Task for Groups.Add never completes (<a href="/misc/goto?guid=4958992190947281929">#3037</a>)</li>     <li>In perfmon instances of SignalR perf counters for full IIS only show like default web site, doesn't show web application instances (<a href="/misc/goto?guid=4958992191029655588">#3002</a>)</li>     <li>Memory leaks in IE/Chrome when use SignalR longPolling (<a href="/misc/goto?guid=4958992191114853883">#2953</a>)</li>     <li>.Net client webSockets fallback wait transportConnectTimeout then start next transport (<a href="/misc/goto?guid=4958992191201088591">#2903</a>)</li>     <li>JS client fallback wait transportConnectTimeout then start next transport (<a href="/misc/goto?guid=4958992191289358577">#2902</a>)</li>     <li>Fix references in portable library for Xamarin projects (<a href="/misc/goto?guid=4958992191371618907">#2833</a>)</li>     <li>Object Expected Error Line : 1285 onInitialized(); When trying to use signalr(forevrframe) with jQuery UI Dialog (<a href="/misc/goto?guid=4958992191454678271">#2795</a>)</li>     <li>signalr.exe ghp doesn't dispay error message about generating hubproxy javascript for server Hub classes (<a href="/misc/goto?guid=4958992191533712862">#2769</a>)</li>     <li>MessageBus.Dispose spins on Interlocked.Exchange(ref _gcRunning, 1) == 1 (<a href="/misc/goto?guid=4958992191615009430">#1088</a>)</li>     <li>consider updating the log info "....a connection lost timeout of " for keepAliveData.timeout (<a href="/misc/goto?guid=4958992191713806223">#1084</a>)</li>     <li>update log message for foreverFrame when it is not supported (<a href="/misc/goto?guid=4958992191813654319">#1057</a>)</li>    </ul>    <h3>新特性</h3>    <ul>     <li>Change .Catch() to trace to passed in TraceSource (<a href="/misc/goto?guid=4958992191903264003">#3107</a>)</li>     <li>Support WebSockets on Windows Phone 8.1/Windows Store 8.1 (<a href="/misc/goto?guid=4958992191998298203">#3027</a>)</li>     <li>Update Redis extension to StackExchange.Redis (<a href="/misc/goto?guid=4958992192088191719">#2961</a>)</li>    </ul>    <h2>下载</h2>    <ul>     <li><a href="/misc/goto?guid=4958992192175328164" rel="nofollow"><strong>Source code</strong> (zip)</a></li>     <li><a href="/misc/goto?guid=4958992192291226490" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li>    </ul>