Skip to main content


Showing posts from February, 2011

Windows Azure SDK Refresh released

I noticed it a little late, but Microsoft released a refresh of the Windows Azure November 2010 SDK(1.3). I still want to mention it because it solves a security issue with the Windows Azure Software Development Kit (SDK).  I strongly encourage you to install the refresh of the SDK and redeploy your application(s). Who is affected? This issue affects applications developed using ASP.NET and using the new "Full IIS" feature of SDK v1.3 that have a Web Role deployed. In particular, this affects web sites and services that use cookies to maintain state information either within a session or between sessions (if interactions in one session can affect what happens in a subsequent session). These cookies are cryptographically protected so that clients can see that there is state information being passed but cannot see the contents of that state information and cannot change it. In the case of vulnerable Web Roles, it may be possible for clients to determine the contents of th

Azure Design Patterns

With the introduction of Cloud Computing and Windows Azure a whole new range of architectural paradigms and patterns arise at the horizon. But which patterns are out there and where do I get started? That’s where Windows Azure MVP David Pallmann’s Azure Design Patterns site comes in handy. Why do all the work yourself when you can go to one place and see it all, organized in a way that’s easy to navigate? From the same organization I can also recommend the Azure ROI Calculator , a free tool to calculate the cost of your transition to the cloud.

Free WPF Controls

Mindscape had something to celebrate and therefore announced that you can now download a free version containing fully functional versions of the CoverFlow , AutoCompleteBox and PromptDecorator controls. You can use these controls to create attractive, helpful user experiences and it won’t cost you a cent ! CoverFlow AutoCompleteBox PromptDecorator Remark: Also have a look at LightSpeed , their .NET domain modelling and O/R mapping framework, one of the best (designer-enabled) ORM tools I’ve ever tried(and unfortunately I tried a lot…).

Showing images in jQuery grid

For a customer project I had to show an image in a jQuery grid row. Doing this is not very hard. Just return the HTML element as your grid column's data. The field should be something like this: <img src=../images/sample.jpg> Remark: Do not use ' or " for the src, it will not work properly.

Enable classic ASP support on Windows Azure

The easiest way to enable classic ASP support on Windows Azure is by using a start-up task. Start-up tasks were added in the SDK 1.3 release and allow you to configure a virtual machine instance when it’s created. So we will define a start-up task to set up the webrole and enable classic ASP support. To do this, open the ServiceDefinition.csdef file in the Windows Azure project, locate the WebRole element in the service model and inside it, insert a Startup element with a single task, as shown below. <ServiceDefinition name="CloudService" xmlns=""> <WebRole name="ClassicWebApp"> <Sites> <Site name="Web"> <Bindings> <Binding name="HttpIn" endpointName="HttpIn" /> </Bindings> </Site> </Sites> <ConfigurationSettings> </ConfigurationSettings> <Endpoints> <InputEndpoint name="HttpIn

Driving your career

Last year Brian Prince did a 32 part screencast series called “Driving Your Career”. This series covered different skills you need to further your career. He covered skills like problem solving, critical thinking, and body language. A must see for every IT professional!

Converting a website project to a web application project

Because I had some trouble with source control integration of a website project I decided to convert it back to a web application. But how do you do this? Turns out that this is not a one step process. The best strategy for converting an existing Web site project is to first create a new, blank Web application project in a separate directory. This avoids changing any part of the existing Web site project files. It also enables you to copy existing functionality into the new Web application project. Step 1 -  Create a new Web application project In the File menu, click New, and then click Project. The New Project dialog box is displayed. In the Project types section of the New Project dialog box, expand the language that you want to use, and then select Web to display the Web-related templates. Select ASP.NET Empty Web Application. Type values for Name, Location, and Solution Name, and then click OK to create the Web application pr

Localhost traffic debugging with Fiddler

While reading about the IE 9 RC , I noticed one feature that will make my life a lot easier: Debugging of traffic sent to Localhost / now “just works”— configuration changes are not required. Normally Internet Explorer will automatically bypass a fixed proxy (like Fiddler) for traffic bound for //localhost and // because these “loopback” addresses point to the local machine and traditional proxy servers will not be able to interpret such addresses properly. However, for a debugging proxy running on the local computer, these are perfectly understandable addresses, and when you are debugging against a local server (like IIS Express or the ASP.NET Development Server Cassini) they often test against these loopback addresses. To proxy loopback traffic from IE8 and below, somewhat awkward workarounds are needed. IE9 RC introduces the ability to proxy loopback traffic. To do so, simply include the token <-loopback>  in the proxy bypass list. When IE encou

Disable #regions in Visual Studio

2 weeks ago I gave a presention for the VISUG . During the presentation I mentioned that I hated the use of #regions in source code.  Each time you use the Visual Studio helpers you will get a region tag around the interface implementations. Someone in the audience mentioned that I could disable this behavior. So after the presentation I opened Visual Studio again and found the option to disable this: Tools –> Options… -> Text Editor –> C# –> Advanced –>   Implement Interface Deactivate this checkbox and bye bye “#region…”

Load testing with Fiddler

For one of our projects, we wanted to do some load testing to validate if our infrastructure was sufficient. We decided not to use the Visual Studio Load testing features. Instead we choose StressStimulus , a free Fiddler plug-in for easy load testing of web applications. StresStimulus plays back HTTP requests recorded in Fiddler to create high concurrency workload on web applications. You can configure virtual users, think time, and number of test iterations or test duration. After test completion, StresStimulus determines average performance of the test scenario. It breaks down response times of every page between server and network times to identify areas with scalability problems. StresStimulus can be downloaded at . It is free, allows unlimited virtual users, and no registration is required. Remark: When we tried to install the plugin on a 64bit machine, the installation failed. This is a known bug and the problem will

Windows Azure AppFabric CTP February Release

The Azure teams keeps adding new functionality at a regular pace. Now they have update the AppFabric CTP with a new February release (available here ). This release delivers a number of enhancements, including: New Silverlight-based LABS portal The option of 128MB or 256MB cache size The ability to dynamically upgrade or downgrade cache size Improved diagnostics with client side tracing and client request tracking capabilities Overall performance improvements You can also download the latest SDK here .

Team Explorer Everywhere 2010 SP1 is Available

Microsoft is threating his Team Explorer Everywhere customers well with a SP1 release (Download available at: ) The most important features of the Team Explorer Everywhere 2010 SP1 release are: Fully localizable product. Full Gated check-in support for TFS 2010. Support for rich work item descriptions. A bunch of bug fixes and other improvements. Use Team Explorer Everywhere as a standalone client. Fast Workspace Switching. Source Control Explorer Improvements Improved Kerberos support on non-Windows platforms. Auto-connect on Start-up. Read more about this on Brian Harry’s blog:

VISUG Session: Caliburn.Micro–Solving real world problems with MVVM–Sample application

This Tuesday I gave a presentation about Caliburn.Micro for the Visual Studio user group in Belgium( ). I already uploaded the presentation , but now I also added the sample application I’ve used. Download it here . Some interesting parts of the application: The default IoC functionality inside the bootstrapper is replaced by MEF. Check the MefBootstrapper.cs file in the Core folder. Some interesting IResult implementations are also available: BusyResult: Shows/hides a loading indication. ShowScreenResult<T>: Activates a specific screen on the Conductor. QueryResult: Executes a query on the backend and returns the results. CommandResult: Executes a command on the backend. A lightweight CQRS(Command-Query separation) implementation. Check the Model folder. A simple Conductor<T> implementation Convention over configuration And of course all the reasons why Caliburn.Micro is such a great framework: No Code Behind No Event Wireups No Commands No Dat

Windows Azure Learning plan

Interested in moving to the Cloud and looking for some interesting resources?  Look no further and just go to this post by Buck Woody: Some of the covered topics: Architecture Patterns and practices for Windows Azure, How it works, and internals. Compute Information on Web, Worker, VM and other roles, and how to program them. Storage Blobs, Tables, Queues, and other storage constructs, and how to program them. Application Fabric Service Bus, Authentication and Caching, in addition to other constructs in the Application Fabric space. Security General and Specific security considerations,

VISUG Session: Caliburn.Micro–Solving real world problems with MVVM

Yesterday I gave a presentation about Caliburn.Micro for the Visual Studio user group in Belgium( ). We had a full room, the session went well and I received a lot of interesting questions. Thanks everyone for being there! The presentation is available below. I will upload the sample application and the demos later. Caliburn.micro View more presentations from bwullems .

Caching in .NET 4

For a long time I have been using the caching application block in Enterprise Library when I needed some caching functionality inside my .NET application. You could also use  System.Web.Caching but it was not extensible,and not easy to use outside an ASP.NET context. With the release of .NET 4 there is a finally a more mature caching system now included in the framework. This is known as System.Runtime.Caching .  The System.Runtime.Caching namespace contains types that let you implement caching in NET Framework applications. The output caching functionality and types in the System.Runtime.Caching namespace are new in .NET Framework version 4. The classes in this namespace provide a way to use caching facilities like those in ASP.NET, but without a dependency on the System.Web assembly. The caching types that are provided in this namespace offers the following features: Caching is accessible to all .NET Framework applications, not just ASP.NET. Caching is extensible. Y

Windows Phone 7 Emulator: Shortcut keys

While using the Windows Phone 7 emulator, I was really annoyed that I had to use the on screen keyboard to enter some values. Until a colleague of me mentioned that if you push Page Up on your keyboard, you can just start typing. What a shame that I didn’t know this sooner. So for anyone who is using the WP7 emulator, these are some of the most useful shortcut keys available: F1 : Use F1 key on the keyboard instead of back button on the phone F2 :   Use the key F2 on the keyboard for the Windows key in the Windows Phone 7 Pageup : Enables the keyboard in the emulator when the focus is on the textbox PageDown : Disables the keyboard in the emulator F3 : To open the Bing Search F7 : To Activate the Physical Camera For the full list of all shortcuts, have a look at the following MSDN page: Keyboard Mapping for Windows Phone Emulator .

Windows Azure Training Kit: January update

The Windows Azure Team has just released the January edition of the training kit with new demo scripts, labs for working with Windows Phone 7 and the Cloud, and new and improved code snippets for Visual Studio. Some of the specific changes with the January update of the training kit includes: New Windows Azure Connect demo script New Web and Worker Role Enhancements demo script New Windows Azure Virtual Machine Roles demo script New Rafiki demo script (from PDC ) New hands on lab on bridging Windows Phone 7 and The Cloud New hands on lab on using the Access Control Service to Federate with Multiple Business Identity Providers Refreshed Identity hands on labs Improved Visual Studio code snippets installation Several bug fixes in demos and labs Download the January Update to the Windows Azure Platform Training Kit today.

Windows Phone Training kit updated

Microsoft recently updated the Windows Phone Training Kit. This update includes a refresh to almost all the labs and also includes some new ones. The 2 added labs are: Accessing Windows Phone 7 Devices is a lab that lets you work with the phone’s camera and location services. The Windows Phone 7 is equipped with a Camera and GPS (global positioning system). Developers can leverage these devices to build location-aware applications and take live photos. The lab walks you through the steps required to integrate your applications with the phone’s camera. The goal is to build an application that lets you capture pictures, give them a title, and save them to the application local store. The lab also gives you the option to “fake” locations and, when saving a picture to a local store, associate its latitude-longitude (lat-long) geo-coordinates, and create a view in which you can see the pictures on a map.  (This lab uses the Windows Phone GPS Emulator ). Multi-touch Game Developm

Visual Studio Out of Memory exceptions

As you probably know Visual Studio requires quite a bit of memory resources, especially if your solution is fairly large. Important to know is that the Visual Studio memory use is limited to 2GB of virtual memory. This is true even when you are running Visual Studio on a 64-bit OS because VS is still a 32-bit application. When Visual Studio + all Add-Ins memory use gets close to the 2GB limit it throws the OutOfMemoryException which cannot be caught nor handled. To address this issue to an extent you can make Visual Studio use up to 3GB of virtual memory. First of all, tell the OS to increase the amount of user-mode memory from 2GB to 3GB. (If you are running on 64-bit, skip this step) For Windows 7 : Run the following from the command prompt: BCDEDIT /Set IncreaseUserVa 3072 Next step is to make Visual Studio aware of the larger address space: Be sure to backup devenv.exe From the command prompt navigate to "C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE" 

12 keys to success with Agile

I’ve seen projects succeed and I’ve seen projects fail. Yesterday everyone was doing Waterfall, today it’s all Agile. Although I strongly believe in the values and ideas behind Agile, it is still not a silver bullet. But to get you on the right track, I recommend reading the following blog post: 12 keys to success with agile

Azure Diagnostics Monitoring

Do you want to change the diagnostic level or other diagnostic configuration settings in Azure at runtime?  Doing this is very easy thanks to the DeploymentDiagnosticManager class .(See ) To remotely change the configuration Create a small console application. Add a reference Microsoft.WindowsAzure.Diagnostics.dll file . Create a CloudStorageAccount instance. var storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=AccountName;AccountKey=AccountKey"); Create an instance of the DeploymentDiagnosticManager. : var diagManager = new DeploymentDiagnosticManager(storageAccount, "<DeploymentID>"); The<DeploymentID> can be found on the Azure Management Portal. Create a role instance diagnostic manager. var instanceManagers = diagManager.GetRoleInstanceDiagnosticManagersForRole("<RoleName>"); The <RoleName> can be found on the Azure Management Port


Jim O’Neil and  Brian Hitney have been working on a Windows Azure project – known as @home With Windows Azure – to demonstrate a number of features of the platform. After the web cast they now have the blog series.  A must read for every Azure fan! @home with Windows Azure: Behind the Scenes Azure@home Part 1: Application architecture Azure@home Part 2: WebRole Implementation   Azure@home Part 3: Azure Storage Azure@home Part 4: WebRole Implementation (redux) Azure@home Part 5: The REST of the Story Azure@home Part 6: Synchronous Table Storage Pagination Azure@home Part 7: Asynchronous Table Storage Pagination Azure@home Part 8: Worker Role and Azure Diagnostics Azure@home Part 9: Worker Role Run method   Azure@home Part 10: Worker Role Run Method (continued)   Azure@home Part 11: Worker Role Run Method (concluded) Azure@home Part 12: The Move to SDK 1.3   Azure@home Part 13: Remote Desktop Configura