Infosys Microsoft Alliance and Solutions blog


September 11, 2013

Dispatcher in WPF: Under the hood

I was skimming through some of my blogs that I had shared internally with my team and came across this one WPF Dispatcher. While as part of our work, we don't actively focus on WPF anymore, but I thought the concepts I explained here will still be very relevant for those who are still working with WPF.

Continue reading "Dispatcher in WPF: Under the hood" »

May 27, 2011

State Machines are back in business!!!

State Machine workflows were part of .NET Framework 3.5. However, last year with the release .NET Framework 4 Microsoft discontinued "State Machine" workflow type. If you had to model "State Machine" functionality with .NET 4, you can still model it using Flowchart workflow authoring style. However, implementing the event driven state machine examples were that much harder.

Continue reading "State Machines are back in business!!!" »

May 20, 2011

ASP.NET 4 Social Networking

Our book ASP.NET 4 Social Networking, that I wrote along with my colleague Sudhanshu Hate went live on PACKT Publishing site few weeks back. It was an interesting year long experience writing my first book. Am very grateful to Sudhanshu to have agreed to co-author this book with me.

This book is currently available for online purchase from PACKT website or from Do share your comments on the book here or on Amazon.

May 12, 2011

DAL using Entity Framework VS Custom entities

Often I have seen questions over the need of Entity Framework based Data Access Layer (DAL) against Custom entities based DAL.
Here are my thoughts,
Entity Framework has significant edge over custom DAL (with custom entity) on following dimensions,

Continue reading "DAL using Entity Framework VS Custom entities" »

August 30, 2010

Silverlight Error 2103

Recently while trying to integrate an existing Silverlight component into my ASP.NET based application, I got error 2103 "Message: Invalid or malformed application: Check manifest". Online search resulted in almost similar answers everywhere that talked about a change in project namespace and not correctly reseting the startup object.

Continue reading "Silverlight Error 2103" »

July 20, 2010

WPF - Disabled look for Button

If you check online forums, one of the issues that has caused possibly most grievances is the styling of the WPF button control. You set some property values for things like foreground color and background color and when you run the application things don't always work out. Either the button will show some default animation when having focus or will not use the specified background when is in disabled state.

Recently a colleague was styling a Button control and had a need for custom disabled look and we landed in the same problem. We had set a background color, but when disabled the button will default to the light gray color. Trying various options didn't work out. Interestingly the properties like Foreground or Opacity worked fine. The designer in us said that we can always create a custom style, but the developer in us wanted to know why this doesn't work.

Continue reading "WPF - Disabled look for Button" »

June 8, 2010

Expression Studio 4 Available

Expression Studio 4 (including Blend, Web, Encoder, Design and SketchFlow) was released yesterday at Information Week in New York. See details here. You can get the trial version from the Expression site and in case you have MSDN subscription, you can get the full release from the subscriber download site. Do note that if you are working with Windows Phone 7, do not upgrade to this RTM version.

There was a minor update to Silverlight 4 runtime as well earlier in the month and the latest version is 4.05.50524.0. See details of what's changed here. You can verify if you have the latest or install if not, from here. Also if you have been following Silverlight Media Framework, you would be glad to know that Beta of version 2 is also now available at the codeplex site.

June 2, 2010

Expression Studio 4 Launch

The time has come! Expression Studio 4 will be launched next week on 7th June as part of Internet Week at New York. More details here.

May 19, 2010

Silverlight - Using x:Key or x:Name

The other day I was discussing new features of Silverlight 3 and 4 with a colleague and we were talking about the ability of specifying styles in Silverlight 4 without using the x:Key attribute. To this my colleague responded that he has not been using x:Key at all, but always has used x:Name.

Continue reading "Silverlight - Using x:Key or x:Name" »

May 12, 2010

Working with Images in Silverlight Application

Working with images is fairly straight forward in an Silverlight application and there are already many articles about this on the net. So I am not going to get into that. However recently my team faced an issue and that is what I will share here.

Continue reading "Working with Images in Silverlight Application" »

Debugging .NET 4 Applications

From what I understand most of the changes in .NET 4 are towards better debugging support for production code. During development, the existing features with .NET 3.5 and Visual Studio 2008 usually suffice very well.

Continue reading "Debugging .NET 4 Applications" »

March 23, 2010

Workflow 4.0

Windows Workflow (WF) 4.0 part of .NET framework 4.0 and will be shipped as RTM (Release to manufacture) on 12th April 2010. WF 4.0 has some exciting things on offer. Here are some interesting ones which one can consider while choosing Workflow 4.0 over Workflow 3.5 while engineering .NET applications

Continue reading "Workflow 4.0" »

Silverlight 4 and Windows Phone 7

MIX 2010 that happened in Las Vegas last week (15 - 17 March), like all earlier MIX events, had some amazing new technologies to showcase. It is very evident that Microsoft is investing heavily into user experience and the new Windows Phone 7 was a prime technology piece that was showcased with many cool demos.

Continue reading "Silverlight 4 and Windows Phone 7" »

March 4, 2010

Size of a .net object

While trying to debug a service call, where we suspected a buffer overrun situation, we wanted to find out the size of the object being returned by the service call. However finding size of a .net object is not trivial and if you thought you could do a sizeof(object), then you are wrong. This will only return the size of the object based on the size of each field in object that itself is based on the type of the field. This doesn't returns the size of the object in memory with data loaded into it.

Continue reading "Size of a .net object" »

February 10, 2010

VS 2010 RC and Office 2010 RC

Both VS 2010 RC and Office 2010 RC are now available. If you have access to MSDN Subscriber download site, you can get VS 2010 RC from it. For general public these bits will be available today (Feb 10). Like Beta 2 bits, these bits also come with "go live" license. If you had earlier bits, you will need to uninstall those before installing RC. I was trying to figure out if RC to RTM will be an upgrade path, but haven't found specific information on this as yet. If you know, do write back.

However Office 2010 RC isn't available via MSDN download as yet, but is available on connect site for specific users. If haven't got a specific invite to access Office 2010 RC, then both on connect site or msdn download site you will still find Office 2010 Beta bits.

December 28, 2009

VisualStateManager's Benefits

Many months back I had written about VisualStateManager (VSM) feature in Silverlight. Overtime, MS has been working on streamlining this and new additions are available with Blend 3 to support VSM. VSM got introduced in SL, as some say, mostly to address the lack of triggers, due to which creating control templates was a big issue. Eventually WPF 4 will also start to support VSM. There have been many interesting debates on this, which you can find here, here, here and here, but this parts and states model is here to stay.

Continue reading "VisualStateManager's Benefits" »

December 18, 2009

Dev 10 Release delayed

Yesterday MS announced a delay in the release of the upcoming Visual Studio (VS) 2010 (called Dev 10 in short). In both Somasegar's and Scott's blogs, the reason mentioned is addressing the memory and performance issues. While this definitely means that the end product would be better in these terms, what does this delay mean to you?

The good part is that the release candidate planned for Feb 2010 will have the "go live" license support, so any plans for production deployment may still be carried on. What is of more interest to me is how this impacts the Silverlight 4 release plans, since SL 4 as of now needs Dev 10?

December 10, 2009

Win 7 - Multi Touch

In my earlier blog I had touched upon some high level concepts on touch support for applications, that is now available with Windows 7. In this I will spend some time on multi-touch and few other points around support as part of .NET and on Surface.

So when we say multi-touch, what does it really mean? This is also where the basic touch to mouse promotion and real multi-touch differ. Multi-touch means the ability to detect multiple touch points at the same time on the touch hardware and be able to program against each of them independently. In a mouse driven world, there is single point of click and hence controls really respond one at a time. With multi-touch however we now are capable of programming against multiple controls at the same time. While most multi-touch samples/demos show usage of multiple fingers, what you should realize is that it is now capable of supporting multiple people interaction. A behavior, which MS Surface, demonstrated very well.

Continue reading "Win 7 - Multi Touch" »

December 2, 2009

AppFabric (earlier “Dublin” + “Velocity”) as .Net Application Server

As multi tier architecture became more and more main stream, application tier has key role in hosting and scaling business functionality. E.g. in a Retail Banking application, business functionality could be Loan approval process (workflow) or Money Transfer service. To scale such applications, business logic is usually hosted on independent tier called as an Application Tier using Application Server.

Continue reading "AppFabric (earlier “Dublin” + “Velocity”) as .Net Application Server" »

November 26, 2009

Death by Silverlight

Yes, this title is influenced by death by chocolate, where in you get an overdose of chocolate. At this time I feel exactly the same for Silverlight (SL). With just over 2 years since the first version made its mark felt, Silverlight has come a long long way. Ironically, as part of TechDays event hosted specifically at our campus, we talked a lot about SL3 and right then, across the ocean, at PDC 2009, Microsoft just unveiled SL4 beta bits.

When we started looking at SL 1.0 back in late 2007, it had limited feature set with XAML support, and most work had to be done in java script. It looked more of media (video) playback at that time. MS called it their RIA platform, but it didn't offer much at that time. With SL2 at PDC 2008 and SL3 just earlier this year in July 2009, a host of features have found their way in the platform. Along with multitude of controls, to .net language support, to IIS Smooth streaming, to perspective 3D, to out of browser experience, SL is a technology you just cannot ignore.

Continue reading "Death by Silverlight" »

October 1, 2009

WCF 4.0 –Part 1

WCF 4.0 will be available with .Net framework 4.0 and builds upon the features provided by WCF 3.5 (including SP1). WCF 4.0 brings in several features to make the life of developers and application administrator easy. To enhance the support for REST Services, certain features from REST starter kit are also integrated with WCF 4.0. In this blog let’s take a look at features which simplifies things for application administrators

Continue reading "WCF 4.0 –Part 1" »

August 25, 2009

How i explained REST to a SOAP pro

Through this dialogue based interaction I (Sudhanshu) Demystify REST based Architecture to a SOAP pro (Atul). You can additionally refer to slides and code samples posted on the following blog. Wherever i have referred to demos, the corresponding code samples are at following site
Let’s enjoy this ride together.

Continue reading "How i explained REST to a SOAP pro" »

July 27, 2009

Time to bid adieu to .Net Oracle Provider

Till date I have came across several .Net implementations, where design decision to use right provider to connect to Oracle database is not given enough thought. The repercussions of this are visible as late as in Performance acceptance phase but by then it is too late to revert any design decision. The cost of fixing such design defect in acceptance can get as high from 15 to 160 times. Check here
For any .Net application development, following are the natural choices to connect to Oracle Database

1) Use native Oracle provider with .Net framework available in System.Data.OracleClient Namespace
2) Use 3rd party Providers like Oracle Data Provider(ODP), DataDirect, Openlink or Devart
While this blog doesn’t intend to compare them, a high level guideline on when to use what has been..

Continue reading "Time to bid adieu to .Net Oracle Provider" »

July 5, 2009

Getting File Audit Rules List

Earlier today a friend was trying to invoke GetAuditRules API on a file using c# code, but it was always returning a count of 0 inspite of having set a specific audit rule on the file via windows explorer. The surprising part was that GetAccessRules API was working and the code was running locally so it had full security rights as well.

Continue reading "Getting File Audit Rules List" »

June 15, 2009

Visual Studio 2010 Beta 1 install experience

The other day I finally got to install VS 2010 Beta 1. I had decided to build a VPC for the same so as to not impact my current workstation setup. Overall the experience was pretty smooth and the setup ended without any issues, but the initial few components did cause a bit of pain.

After every component (VC 9 Runtime, VC 10 Runtime, .NET 3.5 SP1 and .NET framework 4 Beta 1), i.e. 4 of these, I had to restart the machine and it was really painful. Beyond that it completed without any more restarts.

May 7, 2009

Caching Controversy!!!

While defining .net architecture several times we come across scenarios where multiple server side caching options needs to be evaluated and dealt with, with .Net 4.0 it is to be seen whether these decision get simplified or further complicated.

Microsoft Project code name “Velocity”, part of .net 4.0 is Microsoft’s highly scalable in memory cache framework for all kinds of data in distributed applications. Usually caching is employed in application to improve the performance and scalability. Good candidates for caching data is static or master data e.g. product list. Recommended practice is to cache master or reference or lookup data as it hardly changes over time but at times scenarios exists where transactional or session specific data needs to be cached for valid reasons.

Continue reading "Caching Controversy!!!" »

November 26, 2008

.NET Framework 4.0 CLR Enhancements

If you attended PDC and specifically the session on .NET Framework: CLR Futures by Joshua Goodman, GPM, CLR team, then already have a good idea on the new enhancements on their way in the CLR 4.0. In this blog, I will only capture the key points that I found interesting and I do suggest that you watch the video of this session to get the complete message.

Continue reading ".NET Framework 4.0 CLR Enhancements" »

Subscribe to this blog's feed

Follow us on

Blogger Profiles

Infosys on Twitter