WCF – Exception Handling, FaultException,FaultException and FaultContracts

Whenever we write a program we should expect the unexpected and add appropriate code to handle those exceptions.When we write a windows based application we use try/catch blocks in our methods to catch exceptions, and also we show a user friendly message in UI.

But when we work with WCF Service, It is not that much straight forward, So

  • How do we handle exceptions in WCF Service?
  • How to propagate a user-friendly error message to the client, who consumes the WCF Service?
  • How to send business rule validation messages to WCF client?

Handling exceptions in WCF Service is different than usual exceptions in .NET. As the WCF clients may not be based on .NET Technologies we cannot utilize the .NET Exception object to exchange exception details over the wire. For this purpose we should have a generic way to pass exception details to all type of clients, who consumes WCF Service.

For this reason we have SOAP faults, SOAP faults are the way to propagate the exceptions from the service to the client application. .Net has FaultException<T> generic class which can raise SoapFault exception. Service should throw FaultException<T> instead of usual CLR Exception object. T can be any type which can be serialized.

Read more form CodeProject.com

WCF FaultException Caught

File Info (File Properties Window) Extension for Visual Studio

This lightweight extension lets you display the file properties window by a single click from Visual Studio’s Editor. This tool can be accessed from bottom right corner of the File Editor.. Read More

File Properties Window directly from Visual Studio IDE

Interested to see how to create an extension like this then read “Getting started with Visual Studio Editor Viewport Adornment Extensions” from CodeProject.com.

(Instant) Desktop Color Picker.

If you are a Visual Studio developer then you might be interested in Color Picker plugin for Visual Studio. If you are working in other tools where you require color codes then you might wanted to have a Desktop Color Picker, for that I have extended the Color Picker  for Desktop users.

(Instant) Desktop Color Picker UI looks like below,

Integrated Color Picker for Visual Studio IDE

Desktop Color Picker offers the below options,

  • Color Selection from Color Canvas.
  • Color Selection from Available Colors.
  • Color Selection from Standard Colors.
  • Color Selection from Saved Colors.
  • Color Selection using Eyedropper.
  • Copy\Paste Color codes (Name, Hex, #Hex, RGBA and ARGB)

Read more from Desktop Color Picker page.

File Path On Footer Extension 1.4.2 released with Fixes.

I just released File Path On Footer Extension version 1.4.2 with some fixes, Change log is given below for your reference.

Change log

Version 1.4.2

Fixed – Unwanted exception message was showing on Web Essentials Preview Pane of .LESS file.
Version 1.4.1

Fixed – underscore (_) was not showing in file path.
Version 1.4

Fixed font change in Conditional Breakpoint window.
Fixed an issue in .sql file.
Exception handlers are updated to show detailed error descrition, if any.
Version 1.3

Fixed Invalid text in Conditional Breakpoint and Quick Watch window.
Version 1.2

Added support to 11 Visual Studio Themes
Version 1.1

Added support to more files.
Version 1.0

Initial Version

Click here to Download

File Path On Footer Extension for Visual Studio

Integrated Color Picker 1.1 released for Visual Studio IDE.

I just released Color Picker version 1.1 with cosmetic and functional changes.

The New look is here,

Integrated Color Picker for Visual Studio IDE

If you see the below UI, you will get an idea about the UI changes. Thanks Martin and Eric for the suggestions.

Integrated Color Picker for Visual Studio

Apart from the UI change, I have removed color canvas control ( Extended WPF toolkit) from this version to fix style issue in windows 8 environment.

Integrated Color Picker for Visual Studio IDE offers the below options,

  • Color Selection from Color Canvas.
  • Color Selection from Available Colors.
  • Color Selection from Standard Colors.
  • Color Selection from Saved Colors.
  • Color Selection using Eyedropper.
  • Copy\Paste Color codes (Name, Hex, #Hex, RGBA and ARGB)

Read more from Color Picker Page.