Posted on March 28, 2009. Filed under: .NET, best practice, C#, programming | Tags: , , |

Checks for a condition and displays a message if the condition is false.
Assert(Boolean) Checks for a condition and outputs the call stack if the condition is false.

One advantage of Debug.Assert() is that the C# and VB compilers (not C++) eliminate the Debug.Assert() statement from the CIL code when the DEBUG precompile constant is not defined.

Dont use it in production / release code.

Read Full Post | Make a Comment ( None so far )

Exporting Data: Creating XML Files using C#

Posted on August 19, 2008. Filed under: .NET, ASP.NET, C#, programming, XML, XSD | Tags: , , , , |

When you want to export data, you can choose formats such as XML or csv for the data files. The XML format is more widely used for its flexibility and is desirable by many systems to be able to process the data. This article explains how to create xml files from C# classes.

Situation: Where would you use it:
– When you have to export data from one system to another system on a different platform
– When you have to setup scheduled jobs to export data
– When you want to keep a backup of key data on a regular basis. Though the database will give (better) alternatives, this technique will help you in shared hosting environments where you may want to keep a good backup of users who have signed up on your site, on a daily basis, for example.

This article touches the following technological aspects:
– C# class library
– Creating XML Schema (XSD)
– Generating C# Class file from XSD
– Generating XML files from C# object using XmlSerializer

Generate xml to export data

Figure 1: Generate xml to export data

Suppose you have the following data which need to be exported in the form of XML files.

Each customer may have one-to-many Orders.


To export this data on a daily basis, you would create XML files in the following format:

<CustomerID />
<CompanyName />

<OrderID />
<OrderDate />

<Orders />
<Orders />

<Customers />
<Customers />

Here are the steps to create it:

1) Create new project in Visual Studio

Creating New Project

Figure: Creating New Project

2) Add a class library to the project

Adding a class library to the solution

Figure: Adding a class library to the solution

3) Add a schema (.xsd) file to the class library project

Adding schema file to the project

Figure: Adding schema file to the project

4) Add schema elements. There are different ways in which you can add elements. One simple way is to drag and drop the database tables from the server explorer into the .xsd’s design area (when MySchema.xsd is opened with XML Schema Editor).

For this exercise, add Customers and Orders tables from the Northwind database from the server explorer.

The completed schema will look like this in the designer.

Customers and Orders schema

Figure: Customers and Orders schema

See the project source code to view the XSD code (ie with XML tags)

5) Generate the C# Class from xsd

At the VS Command prompt, enter xsd /c MySchema.xsd. This will create MySchema.cs. Rename it to MySchemaClass.cs, add it to the MyDataLayer class library project, update the namespace of MySchemaClass.cs

If your schema’s top element is named ExportData, (<xs:element name=ExportData>) MyDataLayer class will have a class named ExportData (public partial class ExportData).

(I’ve also updated the OrderDate datatype to be string in the generated class, to produce a formatted output in the XML)

6) Create the object from ExportData class and fill the object’s properties with data (from Database or from any other source).


private ExportData _exportXmlData = new ExportData();
(See the source code for full details).

7) Use the XmlSerializer to create XML files


FileStream fs = null;

XmlSerializer serializer = new XmlSerializer(typeof(ExportData));

fs = new FileStream(_fileName, FileMode.Create, FileAccess.Write);

serializer.Serialize(fs, _exportXmlData);





if (fs != null)


(See the source code for full details).

8 ) Run the project. It will create the XML files containing data, which can be exported (via ftp or saved directly to a shared drive).

A typical customer data in the XML file produced by this example will have the following format:



<CompanyName>Company Name 2</CompanyName>

<ContactName>Contact Name 2</ContactName>

<City>Dallas 2</City>



<OrderDate>Tuesday, August 19, 2008</OrderDate>


<ShipName>UPS 2</ShipName>




<OrderDate>Tuesday, August 19, 2008</OrderDate>


<ShipName>UPS 2</ShipName>



Source Codes:

Please click here to get the source code link. (I hate spam as much as you do and your email id will never be given to others)

Feel free to comment your thoughts / questions / suggestions below.

Read Full Post | Make a Comment ( 28 so far )

Getting Started With ASP.NET AJAX

Posted on July 28, 2008. Filed under: programming, Uncategorized | Tags: , |

A while ago, I wrote a small how-to on “Getting started with ASP.NET AJAX”. The article describes how to setup ASP.NET AJAX for the first time and then create a first application. Here’s a live demo: and here’s the link to the full article:

I’ve worked on few other samples afterwards, need to find time to post them.

If you have any of your ASP.NET AJAX demos and/or links, please add them to the comments.

Read Full Post | Make a Comment ( None so far )


    My stuff about .NET, C#, ASP.NET, AJAX, Visual Studio, SQL Server, XML, Web Services, WCF, WPF, WF, CRM, etc.


    Subscribe Via RSS

    • Subscribe with Bloglines
    • Add your feed to Newsburst from CNET
    • Subscribe in Google Reader
    • Add to My Yahoo!
    • Subscribe in NewsGator Online
    • The latest comments to all posts in RSS


Liked it here?
Why not try sites on the blogroll...