# Saturday, 23 February 2013

This year I went again to the MVP summit in Redmond and Belle Vue. I had a blast to see so many familiar faces again, get to know many more people and having lots of interactions and networking. The technical sessions were interesting but the most awesome times were the after hours meetups. As I got awarded as MVP of the year this year I also got the opportunity to go out on a nice dinner with several other MVPs holding that title and several high ranking managers at Microsoft. The day after I also met up with people from the TFS online group and several program managers of the Windows Azure Web Sites group. It was very nice to interact and provide feedback.

On the last day we also tried to gather as many of the ASP Insiders as possible and have a cool picture of the gang Smile. I’m the third person from the left with the green sweater.

Microsoft ASP Insiders

Of course I hope to be there again next year as well Smile.

Grz, Kris.

Saturday, 23 February 2013 13:26:00 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, 19 February 2013

SignalR went RTW last Monday which is awesome. Which is even more awesome is that at the MVP summit I got to know about a book being published by a fellow MVP about this great technology:


The current version of the book is still about the RC2 edition but they promise to update it really soon so be sure to grab the goods and start using SignalR.

Grz, Kris.

Tuesday, 19 February 2013 17:11:48 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Monday, 21 January 2013

Today I was going through a video from BUILD 2012 where Damian Edwards and David Fowler are talking about SignalR. Normally people tend to make use of the Hub abstraction as it’s pretty easy to set up. In the video the technique of making use of a PersistentConnection class approach is shown and as I wanted to try that one out I found out that the the rc2 version got some breaking changes and I had to find a way around it.

If you want to follow along then here are the steps I took:

Create a new web application. I used an empty MVC 4 one. Open the package manager console and get the prerelease version of SignalR.

PM> Install-Package Microsoft.AspNet.SignalR –Pre

After you let it install everything create a new class and let it inherit from PersistentConnection. Override the OnReceived method. That’s right, the async suffix was dropped.

1 using System.Threading.Tasks; 2 using Microsoft.AspNet.SignalR; 3 4 namespace SignalR1rc2PersistentConnectionTest 5 { 6 public class ChatConnection : PersistentConnection 7 { 8 protected override Task OnReceived(IRequest request, string connectionId, string data) 9 { 10 return Connection.Broadcast(data); 11 } 12 } 13 }

In the global.asax simply write the following line in the global.asax’ Application_Start method. Be sure that the setting up of the route needs to be done before setting up other routes:

1 public class MvcApplication : HttpApplication 2 { 3 protected void Application_Start() 4 { 5 RouteTable.Routes.MapConnection<ChatConnection>("chat", "/chat"); 6 7 AreaRegistration.RegisterAllAreas(); 8 9 WebApiConfig.Register(GlobalConfiguration.Configuration); 10 FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 11 RouteConfig.RegisterRoutes(RouteTable.Routes); 12 } 13 }

If you’re used to passing in something like “chat/{*operation}” as second parameter for MapConnection as I tried first as well then you’ll see in this rc2 a fat 404 returning. Simply passing in “/chat” works. Funny enough while I was fiddling around with the code it turned out that passing in null, “” or simply “chat” also worked out for me. I like to keep things in sync with client code so I opted in this sample for “/chat” to keep things simple.

Now create a new html file:

1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <title></title> 5 </head> 6 <body> 7 <input type="text" value="" id="msg" /> 8 <input type="button" value="Send" id="send" /> 9 10 <ul id="messages"> 11 </ul> 12 13 <script src="Scripts/jquery-1.9.0.js"></script> 14 <script src="Scripts/jquery.signalR-1.0.0-rc2.js"></script> 15 <script> 16 17 $(function () { 18 19 var conn = $.connection('/chat'); 20 21 conn.received(function (data) { 22 $('#messages').append('<li>' + data + '</li>'); 23 }); 24 25 conn.start().done(function () { 26 $('#send').on('click', function () { 27 var msg = $('#msg').val(); 28 conn.send(msg); 29 }); 30 }); 31 32 }); 33 34 </script> 35 </body> 36 </html>

Besides adding references to both jQuery and the SignalR scripts the interesting part is in the custom script where the connection is set up, received data from the server gets captured and appended to the ul element. After starting the promise in the form of the done function makes sure that there’s no race condition with the click event of the send button.

A screen capture of the websockets going back and forth in the browser says more than enough. I used IIS Express 8 and Chrome 24 and the built in dev tools for this:

SignalR captured websockets with Chrome dev tools

As I spent some time figuring out the differences between former versions and the new rc2 I hope this may be of convenience for future readers.

Grz, Kris.

Monday, 21 January 2013 21:20:37 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, 20 December 2012

Yes it is. I’ve been using it since August last year and whenever I see Windows 7 or Vista again I go like: huh?

And if you need help to get to know it, ask this big person from the video:

Grz, Kris.

Thursday, 20 December 2012 10:23:15 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, 27 November 2012

Even only after Microsoft released the latest and greatest version of Visual Studio, the tool most Microsoft focused developers spend most of their time in during the (working) day, got its first update. You can read the announcement here: Visual Studio 2012 Update 1 Now Available!.

You can download the goods here: http://www.microsoft.com/visualstudio/eng/downloads#d-visual-studio-2012-update.

Grz, Kris.

Tuesday, 27 November 2012 08:39:13 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Friday, 02 November 2012

I couldn’t attend Orchard Harvest myself unfortunately however more and more of the recordings are coming online for us to watch:

Day 1

Orchard Harvest 2012 Keynote
The future of Orchard
Case study – Media garden
Module development

Day 2

Building and managing a community
Migrating a website to Orchard
Performance and deployment
Search engine optimization

I do hope that the rest of the videos come online soon as well.

Btw, in case you didn’t know it yet, Orchard 1.6 recently came out. You can download the source from Codeplex or get a running site via WebPI or WebMatrix.

Grz, Kris.

Friday, 02 November 2012 18:09:01 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, 01 November 2012

You like posters? You like Windows Azure? Then this one is for you: http://www.microsoft.com/en-us/download/confirmation.aspx?id=35473.

Have fun printing it out and hanging it up near the office of the IT manager to convince him to move to Azure Smile.

Grz, Kris.

Thursday, 01 November 2012 08:36:45 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, 30 October 2012

The following document in the Microsoft Patterns & Practices about Windows Azure deals with multitenancy. It ships with a book explaining several important things like:

  • The Tailspin scenario
  • Hosting a multi-tenant application on Windows Azure
  • Choosing a multi-tenant data architecture
  • Partitioning multi-tenant applications
  • Maximizing availability, scalability and elasticity
  • Securing multi-tenant applications
  • Managing and monitoring multi-tenant applications

Best of all, it also comes with sample code.

If you’re interested then download it over here.

Grz, Kris.

Tuesday, 30 October 2012 16:08:00 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Monday, 29 October 2012

Last week there was already the news that .NET 4.5, the latest version of the framework at this moment, was deployed on Windows Azure Web Sites. However what confused a lot of people was that it didn’t show up in the portal. As of now it does.

So instead of seeing this under the Configure tab:


You’ll now see:


Now only the current version of node.js needs to be added to the portal. Btw, that’s 0.6.20.

Also be sure to check out this screencast at Channel 9 about the upgrade to .NET 4.5.

Grz, Kris.

Monday, 29 October 2012 12:13:17 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Sunday, 28 October 2012

I just opened the Preview portal and was welcomed by a small guidance wizard with a quick tour. After that I noticed that there were some new icons and that the +NEW menu got an upgrade as well.

So in the main menu there’s a new add-ons item:


And in the +NEW button on the lower left there’s also the new feature “Store”:


However when clicking it I got the message:


That’s a bit of a bummer so I guess I’ll have to wait before I can make use off the new things being provided here. I have a good feeling that next week Microsoft will reveal a lot more about this during the BUILD conference.

Grz, Kris.

Sunday, 28 October 2012 10:45:23 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  |