SignalR 0.4 Released!

I’m happy to announce that the long awaited 0.4 release of SignalR is now available on NuGet! The sample package has also been updated to account for some of the API changes.

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.


BUILD talk on working with data in ASP.NET Web Forms 4.5 Developer Preview

Create rich, data-driven Web apps with ASP.NET 4.5 Web FormsThanks 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!


The jQuery Globalization plugin becomes “Globalize”

The jQuery Globalization plugin originally developed by the ASP.NET team and donated to the jQuery project, has found new life as the “Globalize” JS library.

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.


Getting IntelliSense in Visual Studio for NuGet .nuspec files

It couldn’t be easier. First, grab the nuspec.xsd schema file from the NuGet source and copy it into your Visual Studio XML schemas folder at C:\Program Files (x86)\Microsoft Visual Studio 10.0\Xml\Schemas. Be sure to change the install location to match your machine (32-bit, 64-bit, drive letter, etc.)

Now, associate nuspec files with Visual Studio. Easiest way is to just double-click it in Windows Explorer and follow the prompts to open it with Visual Studio.

Then, you need to ensure you nuspec files have only a single XML namespace declaration, and it should be on the root <package> element. There is a bug in the currently released version of NuGet that causes this xmlns declaration to get added to the wrong element during serialization, while also adding some extra, unneeded declarations to the root element. This issue only affects IntelliSense in Visual Studio however, and is now fixed.

For example:

<br>&lt;?xml version="1.0"?&gt;<br>&lt;package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"&gt;<br>&lt;metadata&gt;<br>&lt;id&gt;jQuery.vsdoc&lt;/id&gt;<br>&lt;title&gt;jQuery Visual Studio 2010 IntelliSense&lt;/title&gt;<br>&lt;version&gt;1.5&lt;/version&gt;<br>&lt;authors&gt;Microsoft&lt;/authors&gt;<br>&lt;description&gt;Includes vsdoc files for jQuery that provide IntelliSense in Visual Studio 2010.&lt;/description&gt;<br>&lt;summary&gt;Includes vsdoc files for jQuery that provide IntelliSense in Visual Studio 2010.&lt;/summary&gt;<br>&lt;language&gt;en-US&lt;/language&gt;<br>&lt;dependencies&gt;<br>&lt;dependency id="jQuery" version="1.5" /&gt;<br>&lt;/dependencies&gt;<br>&lt;tags&gt;jQuery VS IntelliSense&lt;/tags&gt;<br>&lt;/metadata&gt;<br>&lt;/package&gt;<br>

Once you’ve done that, you’ll get IntelliSense in VS.

IntelliSense for NuGet nuspec files in Visual Studio 2010


jQuery vsdoc File Generator

I’m now hosting my jQuery vsdoc File Generator for all to use. We use this tool to generate the vsdoc files for jQuery that are hosted on the Microsoft Ajax CDN. It downloads the official documentation XML source from http://api.jquery.com/api and merges it with the actual jQuery object in JavaScript to ensure you get the best documentation possible in Visual Studio IntelliSense.

It also supports generating the vsdoc file contents with <para> tags, for use with the JScript Editor Extensions, to further enhance your jQuery IntelliSense experience in Visual Studio 2010.

For those interested, the source can be found on the ASP.NET CodePlex site.


WebAssert HTML & CSS validation testing library v0.1 released

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.

Thanks to some scripting help from the ever talented Tatham Oddie, I’m happy to announce the release of WebAssert v0.1 (beta).

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.


Tech.Ed Australia Tech Talks & Panel

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?

See the video here

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.

See the video here

Panel: Rich vs. Reach – should we develop apps for the lowest common denominator?

See the video here


Follow

Get every new post delivered to your Inbox.

Join 27 other followers