Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

If you happen to experience an error like

"Error 1001. Exception occured while initializing the installation. FileNotFoundException: Could not load file or assembly c:\\windows\system32\files\aa" while adding custom parameter in custom action in MSI installer. This must be because you have not configure properly the custom property.If you should have more than 1 parameter, all must have backslash except for the last one (e.i /targetDir="[TARGETDIR]\" /customConfig="[CUSTOMCONFIG]" )

   

 You might experienced this error while trying to insert records in Table Storage in a multi threaded environment. What you can do is to make it synchronous access in the TableServiceDataContext's AddObject and SaveChanges portion of your code. 

  lock (_lockable)
            {
                this.AddObject("MonitoringEntries", entry);
                this.SaveChanges();
            }

"An error occurred while processing this request."
    [System.Data.Services.Client.DataServiceRequestException]: "An error occurred while processing this request."
    Data: {System.Collections.ListDictionaryInternal}
    HelpLink: null
    InnerException: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\r\n<error xmlns=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\">\r\n  <code>EntityAlreadyExists</code>\r\n  <message xml:lang=\"en-US\">The specified entity already exists.\nRequestId:a01504ea-50e2-4e03-ae9e-1b3deefcc529\nTime:2010-07-21T09:47:19.7159778Z</message>\r\n</error>\r\n"
    Message: "An error occurred while processing this request."
    Source: "System.Data.Services.Client"
    StackTrace: "   at System.Data.Services.Client.DataServiceContext.SaveAsyncResult.HandleBatchResponse()\r\n   at System.Data.Services.Client.DataServiceContext.SaveAsyncResult.EndRequest()\r\n   at System.Data.Services.Client.DataServiceContext.SaveChanges(SaveChangesOptions options)\r\n   at System.Data.Services.Client.DataServiceContext.SaveChanges()\r\n   at

...
    TargetSite: {Void HandleBatchResponse()}

You may experience this error while inserting entity in Azure Table Storage if the value of you datetime field is set to DateTime.MinValue. 

"An error occurred while processing this request."
    [System.Data.Services.Client.DataServiceRequestException]: "An error occurred while processing this request."
    Data: {System.Collections.ListDictionaryInternal}
    HelpLink: null
    InnerException: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\r\n<error xmlns=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\">\r\n  <code>OutOfRangeInput</code>\r\n  <message xml:lang=\"en-US\">One of the request inputs is out of range.\nRequestId:3383f9e5-892d-48ef-9d2d-ef18de70a891\nTime:2010-07-16T08:00:44.6149987Z</message>\r\n</error>"
    Message: "An error occurred while processing this request."
    Source: "System.Data.Services.Client"
    StackTrace: "   at System.Data.Services.Client.DataServiceContext.SaveResult.HandleBatchResponse()\r\n   at System.Data.Services.Client.DataServiceContext.SaveResult.EndRequest()\r\n   at System.Data.Services.Client.DataServiceContext.SaveChanges(SaveChangesOptions options)\r\n   at System.Data.Services.Client.DataServiceContext.SaveChanges()\r\n 

I found in Microsoft site an architecture design document - Microsoft Architecture Guide 2nd edition. The guide is intended to help developers and solution architects design and build effective, high quality applications. The good thing that I liked is it can be downloaded as PDF. It also provide add-in for layer diagramming in VS 2010 Ultimate.

Get it here.

In .NET programming most common mistake is rethrowing an exception. So, how throw and throw ex differs?

throw ex overrides the original stacktrace and the point where exception is rethrown becomes the exception's origin while plain throw preserved the original stacktrace information and it must be used to re-throw a .NET exception.