This release brings a huge amount of changes including new features, massive performance improvements and some API breaking changes (for the better of course).
Here’s an overview of the changes in this release:
- Increased throughput by almost 100% from 0.3.5
- Substantially reduced memory use
- Decoupled from ASP.NET, can now host on other servers, e.g. OWIN, HttpListener, etc.
- Standardized on JSON.NET for JSON serialization and deserialization
- Removal of non-async APIs
- Removal of statics to allow for better isolation (like testing, multi-host, etc.)
- Support for four transports:
- WebSockets on ASP.NET with Windows 8
- Server Sent Events (EventSource)
- Forever Frame
- Ajax Long Polling
- Improved transport negotiation
- Support for custom querystring values in connection URLs
- Support for dynamic parameters to hub methods
- Improved disconnect logic and notification
- Client support for .NET, Silverlight and Windows Phone 7
- Improved tracing
- Tools and configuration for load testing
- Loads and loads of bug fixes
Plans for future releases
Our upcoming releases will focus on supporting scale out for web farms and cloud hosting scenarios, along with further features and improvements. While the list is still being decided, the following features are being considered:
- Scale out providers for SQL Server and Service Bus
- Cross domain connections
- Hub JS proxy file generation at design/build time for improved JS IntelliSense & bundling support
- .NET client side proxy generation
- Much improved tracing
- Web Forms control for server originated post-back (for use in UpdatePanels)
Giving Feedback & Getting Assistance
Please jump into the SignalR room on JabbR if you want to discuss any feature or issue or just chat with the SignalR team and other SignalR users. If you find a bug or have a feature suggestion, please log an issue on github.
Show Your Support
We love hearing of people having fun with SignalR. To show your support and keep us in the loop of your successes or otherwise, you can follow SignalR on twitter, and watch the SignalR repository on github.
Thanks to those who attended my BUILD talk on the new features for working with data in ASP.NET Web Forms 4.5 Developer Preview (great name 😐 ).
If you didn’t catch it, you can watch it on Channel 9.
The demo project I used can be downloaded from http://files.damianedwards.com/BUILD2011-WebForms.zip
We’d love to hear feedback on these new features so please download the Visual Studio 11 Developer Preview, read the series on new ASP.NET features from ScottGu, read the What’s New in ASP.NET 4.5 and Visual Web Developer whitepaper, and try out the new features with *your* projects, by opening them in VS11 and updating them to use things like Model Binding and Unobtrusive Validation.
There’s no better testing than with real world apps!
This new library is maintained by the jQuery UI team but no longer has a dependency on jQuery. It is completely standalone, meaning you can use it with any JS library or environment you like. That’s very cool.
Moving forward, the jQuery UI library will utilize Globalize for providing globalization of the its widgets, and expose an API interface that can be met by Globalize while encouraging widget authors to utilize this API to ensure any widget can be globalized in the same way, with or without globalize.js as a depedency. That’s cool too.
The library includes culture information for ~350 cultures. That’s quite a lot. And an interesting fact: these culture files are generated from the culture info in the .NET framework. That’s especially cool.
You can grab globalize.js and the desired culture files from its home on the jQuery github account. It’s currently in “in development” status at version 0.1.0a1. You can read more about plans for its development and further releases on its jQuery UI wiki page.
A while back I posted about automating the checking of HTML validity of your ASP.NET site using unit tests that leverage the W3C Markup Validation Service. I’ve showed the technique in a number of presentations since then and used it on a number of projects to good effect.
In an effort to make it easier to consume in your own project and allow for future expansion with new features, I’ve refactored it and rolled it into a new open-source library called WebAssert, up on CodePlex.
This initial release supports checking for markup and CSS validity of URLs using the W3C hosted validators, or your own hosted instances. This release supports the MSTest framework in Visual Studio but there is already a fork containing a wrapper for NUnit which I plan to integrate soon. You can also test sites hosted using the AspNetDevelopmentServer attribute under MSTest.
Any feedback please let me know.
While at Tech.Ed Australia last week I took part in a couple of Tech Talks and a panel discussion about building for “Reach” or “Rich” web experiences. Details below.
Tech Talk: ASP.NET MVC vs. ASP.NET Web Forms – will webforms be replaced by MVC?
ASP.NET MVC is currently the technology flavour of the season. ASP.NET webforms has been a dominant development platform for a long time but MVC is receiving a lot of focus and is the choice of architetecural purists. Does this signal the demise of ASP.NET webforms? Should we be choosing MVC for all future projects?
Tech Talk: Building Fast, Public Websites
Building public websites can be hard at the best of times. Making them fast can be even harder. What makes a website faster? What makes it appear faster to users? How can you leverage features of ASP.NET to get the best experience for your users? Tune in to hear two ASP.NET MVPs share some of the problems they had to solve while rebuilding Australia’s largest e-commerce site.
Panel: Rich vs. Reach – should we develop apps for the lowest common denominator?
I’m hosting half of the upcoming Readify Developer Network Dev Day in Melbourne on Friday the 9th of October. I’ll be talking about “Building for the Web with .NET” and Mitch Denny will be talking about “Software Quality and Application Lifecycle Management”. The cost is minimal and you can choose to attend the whole day or just the topic that interests you. Hope to see you there.
Readify Developer Network Dev Day
MELBOURNE | Friday 9th October 2009
Hear from Microsoft Tech.Ed 2009 Presenters and MVPs, Mitch Denny and Damian Edwards
developer consultants and attendees are provided a variety of topic streams to choose from.
Join us for our upcoming RDN Dev Day and hear the latest on ‘Software Quality and Application Lifecycle Management’ and ‘Building for the Web with .NET’.
By attending this seminar you will gain greater knowledge and insight into the tools needed to assist you and your team in achieving your business objectives.
Each presentation is of a world-class standard as most Readify consultants are well recognised and highly regarded within the industry and present regularly at
events such as Tech.Ed, ReMIX, CodeCamp Oz, User Groups, plus many more. Readify also has eleven Microsoft Most Valuable Professionals (MVPs) on board.
Date: Friday 9th October 2009
Location: MELBOURNE | Cliftons Corporate Training Centre – 440 Collins Street (click here for location information & map)
Times: Stream A & B | 9am – 5pm
Stream A only | 9am – 12.30pm
Stream B only | 1.30pm – 5pm
A light lunch will be served from 12:30pm – 1:30pm for all attendees
Investment: Stream A & B (full day) | $150 + GST …register now
Stream A only (half day) | $75 + GST …register now
Stream B only (half day) | $75 + GST …register now
Bookings: Register online* or phone 1300 666 274
STREAM A :
Presented by Mitch Denny (MVP) | Chief Technology Officer, Readify
Gathering Quality Requirements for Agile Development Teams
Agile software development teams are supposed to be able to operate with incomplete requirements. The problem is that incomplete requirements are often
confused with poor quality requirements and too many agile software development teams start writing code without a good idea of what it is that they are actually
trying to achieve.
In this session Mitch will introduce you to SketchFlow, a component of Expression Blend 3, and look at how you can use it within your projects to rapidly produce
prototypes and gather feedback from customers and how to integrate this with Team System.
Introduction to Visual Studio Team System 2010
Visual Studio 2010 is just around the corner and quality is the number one focus of this release. In this session, Mitch will look into the features planned in the
upcoming Visual Studio 2010 release and explain how they can be used in software teams. Mitch will cover:
- What is in it for developers?
- What is in it for testers?
- What is in it for architects?
STREAM B :
Presented by Damian Edwards (MVP) | Senior Consultant, Readify
During this session, Damian will cover the following areas:
- Building Fast, Standards Compliant ASP.NET Websites
- ASP.NET MVC: Building for the web
- Introduction to the ASP.NET Web Forms Model-View-Presenter framework
* BOOK NOW AS SEATS ARE LIMITED! *
*Registrations now open and will be closing on Wednesday 7 October.
During my recent presentation to the Victoria.NET DevSIG on jQuery, I talked about how to get started using jQuery with ASP.NET Web Forms projects. Part of this was around how I like to set up my projects with jQuery to take advantage of the script management features that ASP.NET & Visual Studio 2008 provide out of the box.
<asp:ScriptManager runat="server"> <Scripts> <asp:ScriptReference Path="~/script/myScript.js" ScriptMode="Inherit" /> </Scripts> </asp:ScriptManager>
So we have three file types in all as follows:
- Release mode file: myscript.js
- Debug mode file: myscript.debug.js
- VSDoc file: myscript-vsdoc.js
When you download jQuery, you have the option of the standard file (jquery-1.3.2.js at time of writing) as well as the “production” file, which is minimised (jquery-1.3.2.min.js). Microsoft have also contributed a VSDoc file which you can download from the official jQuery source repository on Google Code.
So there are three types of jQuery files that match up with what ASP.NET & Visual Studio support, just two of them have the wrong extension. All we need to do is rename the files to match the features in the platform & tools:
- jquery-1.3.2.js => jquery-1.3.2.debug.js
- jquery-1.3.2.min.js => jquery-1.3.2.js
I have this files in a location on my hard drive where I can always get to them for new projects:
To use them in a project, just create a folder to hold them and right-click in solution explorer and choose Add –> Existing Item…
Now simply add a script reference for the jQuery files in the same way as you would for your own script. ASP.NET will use the large debug version when the app is in debug mode & the minimised version when it isn’t, plus you’ll get great IntelliSense support from Visual Studio 2008:
<asp:ScriptManager runat="server"> <Scripts> <asp:ScriptReference Path="~/script/jquery-1.3.2.js" ScriptMode="Inherit" /> <asp:ScriptReference Path="~/script/myScript.js" ScriptMode="Inherit" /> </Scripts> </asp:ScriptManager>
It would be nice if the next version of ASP.NET included support for jQuery’s default file extensions in the ScriptManager control, but until then this works very well.