Recently, while helping a client deploy a wsHttpBinding Windows Communication Foundation web service configured with message security, we encountered the following error: “The profile for the user is a temporary profile.” As is sometimes the case with WCF certificate security issues, the initial error message’s description did not come close to describing the actual problem. Continue reading
SQL Refactoring – Comparing Result Sets with EXCEPT
I often refactor SQL, cleaning up convoluted statements using language features such as views, common table expressions and nested joins. It’s one thing to rework a gnarly query into something legible; it’s another thing to verify that the rewritten query returns the same data as the original.
The starting point for verification is comparing the result sets returned by the old and new queries. I’ve recently found Microsoft T-SQL’s EXCEPT operator quite handy for this purpose. Continue reading
C# Boolean Expressions With and Without Short-Circuiting
For years I’ve used the && and || operators in C# Boolean expressions (e.g. if (age > 60 && gender == male) { /* do something */ }). Today, I was surprised to learn that & and | can also be used to compare bool values (this is in addition to their traditional use as bitwise AND and OR operators).
What’s the difference between the two pairs of operators? && and || use short-circuit evaluation while & and | do not. Continue reading
INotifyPropertyChanged – propertyName – Past, Present and Hopes for the Future
Raising an INotifyPropertyChanged event requires a string containing the affected property’s name. Developers want a simple, clean and performance-efficient way to populate this string. New versions of .Net have brought developers closer and closer to achieving this goal.
Let’s review how INotifyPropertyChanged implementation options have improved over the years. Then, let’s consider an idea on how these options might be made even better. Continue reading
async/await Doesn’t Make Synchronous Code Asynchronous
With the recent release of .Net 4.5/C# 5, I’ve spent time experimenting with the new async/await functionality. To my surprise, these new keywords didn’t have the effect I anticipated. Based on my skimming of pre-release information, I was under the impression that the appropriate use of these keywords would cause a normally-synchronous method to execute asynchronously.
Wrong! Continue reading
SSRS: Referencing Data Contained in Other Textboxes
Did you know that the content of other textboxes can be referenced in Microsoft SQL Server Reporting Services expressions?
In the example below, the expression for Destination (the lower textbox) is set to =ReportItems!Source.Value. When report rendering occurs, Destination is populated with Source‘s content.

Placeholders for SSRS Expressions
How could I have missed it?! Only recently did I discover the placeholder concept in Microsoft SQL Server Reporting Services (SSRS).
In the report design interface, a text box containing an expression more complex than a single field reference (e.g. [FirstName]) or single field aggregate function call (e.g. [Count(Orders)]) is displayed as <<Expr>>. Continue reading
All Extensions Now Compatible with Mangeto 1.7!
We are pleased to announce that all of our extensions have been successfully tested with Magento 1.7!
New version of our Customizable PDF Invoice and Customizable PDF Packing Slip modules have been released containing Magento 1.7 compatibility updates.
Unit Testing Non-Public Classes from a Separate Assembly
Segmenting unit tests from release code by placing the tests in a separate assembly (e.g. in a separate Microsoft Visual Studio project) is a good idea. However, making release code classes public in order to allow the unit test assembly to access them isn’t a good practice. Continue reading
Saving & Restoring WPF DataGrid Columns’ Size, Sorting and Order
A data grid usually allows users to reorder, resize, and sort its columns. A refined data grid implementation remembers the user’s changes to its columns’ display, restoring the columns to match how they previously appeared each time the application is launched. How do we implement such a feat if WPF’s DataGrid is our control of choice? Continue reading
