<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;AkAHRns8cCp7ImA9WhRRFE4.&quot;"><id>tag:blogger.com,1999:blog-7504026808655596967</id><updated>2011-11-27T18:05:37.578-06:00</updated><category term="Memcached" /><category term="Performance" /><category term="Power Shell" /><category term="SQL" /><category term="Clicky" /><category term="Amazon" /><category term="SQL Server" /><category term="MSMQ" /><category term="SQL CLR" /><category term="Context Sessions" /><category term="GoGrid" /><category term="CC.net" /><category term="Memcached Providers" /><category term="WCF" /><category term="SqlPS" /><category term="NHibernate" /><category term="TimeZone" /><category term="Grid" /><category term="Part Cover" /><category term="Alerting" /><category term="EC2" /><category term=".NET 2.0" /><category term="ASP.net" /><category term="Web Stats" /><category term="Cloud" /><category term="Replicated" /><title>My thoughts on .Net development</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://fahadaz.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://fahadaz.blogspot.com/" /><author><name>fahadaz</name><uri>http://www.blogger.com/profile/17712723338310461730</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/MyThoughtsOnNetDev" /><feedburner:info uri="mythoughtsonnetdev" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CUMDRHY-fCp7ImA9WxJVEUs.&quot;"><id>tag:blogger.com,1999:blog-7504026808655596967.post-1264109986198643992</id><published>2009-06-27T23:21:00.003-05:00</published><updated>2009-06-27T23:31:15.854-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-27T23:31:15.854-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web Stats" /><category scheme="http://www.blogger.com/atom/ns#" term="Clicky" /><title>Real time web analytics</title><content type="html">Recently I came across &lt;a href="http://www.getclicky.com"&gt;Clicky&lt;/a&gt; [&lt;a href="http://getclicky.com"&gt;getclicky.com&lt;/a&gt;], a very useful web analytics tracker. Unlike Google Analytics that takes 24 hrs to update. &lt;a href="http://www.getclicky.com"&gt;Clicky&lt;/a&gt; updates stats in real time. It has a well designed dashboard and a website for IPhone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7504026808655596967-1264109986198643992?l=fahadaz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyThoughtsOnNetDev/~4/a_XPTgbuvKg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fahadaz.blogspot.com/feeds/1264109986198643992/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7504026808655596967&amp;postID=1264109986198643992" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/1264109986198643992?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/1264109986198643992?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyThoughtsOnNetDev/~3/a_XPTgbuvKg/real-time-web-analytics.html" title="Real time web analytics" /><author><name>fahadaz</name><uri>http://www.blogger.com/profile/17712723338310461730</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fahadaz.blogspot.com/2009/06/real-time-web-analytics.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkENSHk9eyp7ImA9WxVSFUw.&quot;"><id>tag:blogger.com,1999:blog-7504026808655596967.post-7537552041254191693</id><published>2009-01-09T09:18:00.002-06:00</published><updated>2009-01-09T09:24:59.763-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-09T09:24:59.763-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Cloud" /><category scheme="http://www.blogger.com/atom/ns#" term="Amazon" /><category scheme="http://www.blogger.com/atom/ns#" term="EC2" /><title>Amazon releases web based console for EC2</title><content type="html">Today Amazon released EC2 management console. It looks very easy to use and will make&lt;br /&gt;maintaining EC2 instance much more easier. &lt;a href="http://www.amazon.com/gp/r.html?R=3PB53AJ0W9TRT&amp;amp;C=1C0W35EPQ00G6&amp;amp;H=gh0Xx1mNLod9BVAqFT5opIzWAgUA&amp;amp;T=C&amp;amp;U=https://console.aws.amazon.com" target="_blank"&gt;https://console.aws.amazon.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7504026808655596967-7537552041254191693?l=fahadaz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyThoughtsOnNetDev/~4/D8wvw_jOpnY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fahadaz.blogspot.com/feeds/7537552041254191693/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7504026808655596967&amp;postID=7537552041254191693" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/7537552041254191693?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/7537552041254191693?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyThoughtsOnNetDev/~3/D8wvw_jOpnY/amazon-releases-web-based-console-for.html" title="Amazon releases web based console for EC2" /><author><name>fahadaz</name><uri>http://www.blogger.com/profile/17712723338310461730</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://fahadaz.blogspot.com/2009/01/amazon-releases-web-based-console-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUMRHk6cSp7ImA9WxVSFUw.&quot;"><id>tag:blogger.com,1999:blog-7504026808655596967.post-8950856798956146769</id><published>2009-01-09T09:15:00.003-06:00</published><updated>2009-01-09T09:18:05.719-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-09T09:18:05.719-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Memcached" /><category scheme="http://www.blogger.com/atom/ns#" term="Replicated" /><title>Repcached - Replicated memcached</title><content type="html">Replicated version of memcached can be downloaded from the following&lt;br /&gt;&lt;a href="http://repcached.lab.klab.org/"&gt;http://repcached.lab.klab.org/&lt;/a&gt;. For now it only works on linux. Hopefully, Win32 version&lt;br /&gt;will follow soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7504026808655596967-8950856798956146769?l=fahadaz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyThoughtsOnNetDev/~4/HXkKWFM-r1c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fahadaz.blogspot.com/feeds/8950856798956146769/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7504026808655596967&amp;postID=8950856798956146769" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/8950856798956146769?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/8950856798956146769?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyThoughtsOnNetDev/~3/HXkKWFM-r1c/repcached-replicated-memcached.html" title="Repcached - Replicated memcached" /><author><name>fahadaz</name><uri>http://www.blogger.com/profile/17712723338310461730</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fahadaz.blogspot.com/2009/01/repcached-replicated-memcached.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQNRXg5cCp7ImA9WxVTEk8.&quot;"><id>tag:blogger.com,1999:blog-7504026808655596967.post-5357336571013312</id><published>2008-12-25T11:19:00.005-06:00</published><updated>2008-12-25T11:49:54.628-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-25T11:49:54.628-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQL CLR" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET 2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server" /><category scheme="http://www.blogger.com/atom/ns#" term="TimeZone" /><title>Time Zone ability for SQL Server 2005 and 2008</title><content type="html">Few months ago we needed Time Zone functionality for one of our projects. This project is implemented using .NET 2.0 and SQL Server 2005. And as we know, there is no time zone functionality in either of the them. After doing some search, one of my developers  stumpled across this article on code project&lt;a href="http://www.codeproject.com/KB/dotnet/WorldClock.aspx"&gt; http://www.codeproject.com/KB/dotnet/WorldClock.aspx&lt;/a&gt;. This article describes how to use Windows built in timezone functionality. We used this approch to implement timezone functionality. Next we needed the same functionality in SQL Server. Luckily SQL Server 2005 and up supports .NET CLR. We used the same classes and created .NET CLR functions (&lt;a href="http://msdn.microsoft.com/en-us/library/w2kae45k(VS.80).aspx"&gt;http://msdn.microsoft.com/en-us/library/w2kae45k(VS.80).aspx&lt;/a&gt;). As this approch makes use of unsafe code, assembly needs to be attached using the unsafe option. By default, this option will not work. SQL Server Database has to be set trusworthy inorder to attach an unsafe assembly.&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hope this helps.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7504026808655596967-5357336571013312?l=fahadaz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyThoughtsOnNetDev/~4/EqDt4GxU1hY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fahadaz.blogspot.com/feeds/5357336571013312/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7504026808655596967&amp;postID=5357336571013312" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/5357336571013312?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/5357336571013312?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyThoughtsOnNetDev/~3/EqDt4GxU1hY/time-zone-ability-for-sql-server-2005.html" title="Time Zone ability for SQL Server 2005 and 2008" /><author><name>fahadaz</name><uri>http://www.blogger.com/profile/17712723338310461730</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fahadaz.blogspot.com/2008/12/time-zone-ability-for-sql-server-2005.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQGQH88fCp7ImA9WxRXF0Q.&quot;"><id>tag:blogger.com,1999:blog-7504026808655596967.post-396295411076815473</id><published>2008-10-23T16:06:00.003-05:00</published><updated>2008-10-23T16:12:01.174-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-23T16:12:01.174-05:00</app:edited><title>Database Versioning</title><content type="html">Some useful blog posts about database versioning&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codinghorror.com/blog/archives/001050.html"&gt;Get Your Database Under Version Control&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://odetocode.com/Blogs/scott/archive/2008/01/30/11702.aspx"&gt;Three Rules for Database Work&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a id="viewpost_ascx_TitleUrl" title="Title of this entry." href="http://haacked.com/archive/2006/07/05/bulletproofsqlchangescriptsusinginformation_schemaviews.aspx"&gt;Bulletproof Sql Change Scripts Using INFORMATION_SCHEMA Views&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7504026808655596967-396295411076815473?l=fahadaz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyThoughtsOnNetDev/~4/ffCLkxRvBIo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fahadaz.blogspot.com/feeds/396295411076815473/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7504026808655596967&amp;postID=396295411076815473" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/396295411076815473?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/396295411076815473?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyThoughtsOnNetDev/~3/ffCLkxRvBIo/database-versioning.html" title="Database Versioning" /><author><name>fahadaz</name><uri>http://www.blogger.com/profile/17712723338310461730</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fahadaz.blogspot.com/2008/10/database-versioning.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUDR3YyeSp7ImA9WxRXFU4.&quot;"><id>tag:blogger.com,1999:blog-7504026808655596967.post-2593607468441784457</id><published>2008-10-18T18:54:00.014-05:00</published><updated>2008-10-20T15:07:56.891-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-20T15:07:56.891-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SqlPS" /><category scheme="http://www.blogger.com/atom/ns#" term="Power Shell" /><category scheme="http://www.blogger.com/atom/ns#" term="CC.net" /><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><title>Database scripts and contiguous integration</title><content type="html">Few weeks ago, one of our projects went online for beta testing. Its a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;SaaS&lt;/span&gt; app and follows the one database per customer model. To &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;standardize&lt;/span&gt; the process &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;of&lt;/span&gt; creating a new customer we decided to use the new &lt;a href="http://msdn.microsoft.com/en-us/library/cc280450.aspx"&gt;SQL Server power shell (sqlps)&lt;/a&gt; script. This shell is free can be obtained by downloading &lt;a href="http://msdn.microsoft.com/en-us/library/ms365247.aspx"&gt;SQL Server Management Studio 2008 Express&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;We kept our database scripts in VS.net database projects. Idea is to create the database with sql scripts everytime before running the unit tests. This way we can detect any mistakes in the sql server scripts. We wrote two power shell scripts. First one to combine all the sql scripts together into a file and the other one to drop and create the database. Integration with CC.net was done using the &lt;a title="Executable Task" href="http://confluence.public.thoughtworks.org/display/CCNET/Executable+Task"&gt;Executable Task&lt;/a&gt; in &lt;a href="http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET"&gt;CC.net&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7504026808655596967-2593607468441784457?l=fahadaz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyThoughtsOnNetDev/~4/DF9q7Gkqqjc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fahadaz.blogspot.com/feeds/2593607468441784457/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7504026808655596967&amp;postID=2593607468441784457" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/2593607468441784457?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/2593607468441784457?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyThoughtsOnNetDev/~3/DF9q7Gkqqjc/database-scripts-and-contiguous.html" title="Database scripts and contiguous integration" /><author><name>fahadaz</name><uri>http://www.blogger.com/profile/17712723338310461730</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fahadaz.blogspot.com/2008/10/database-scripts-and-contiguous.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4CQX0zeCp7ImA9WxRXE0o.&quot;"><id>tag:blogger.com,1999:blog-7504026808655596967.post-5017871496843211968</id><published>2008-10-10T09:36:00.007-05:00</published><updated>2008-10-18T19:09:20.380-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-18T19:09:20.380-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Cloud" /><category scheme="http://www.blogger.com/atom/ns#" term="GoGrid" /><category scheme="http://www.blogger.com/atom/ns#" term="Amazon" /><category scheme="http://www.blogger.com/atom/ns#" term="EC2" /><category scheme="http://www.blogger.com/atom/ns#" term="Grid" /><title>Cloud for Windows</title><content type="html">&lt;p&gt;Recently Amazon made an announcement that they will be introducing Windows Server and SQL Server in cloud. However, they are not first ones to do that. There is already a cloud service called &lt;a href="http://www.gogrid.com/"&gt;Go Grid&lt;/a&gt;. It been around since March and not many people know about. For our latest project we decided to give it a try and found it to very useful. Few advantages Go Grid have right now over EC2&lt;br /&gt;· 24/7 technical support that comes with the account at no extra change.&lt;br /&gt;· Nice interface for creating and deleting servers.&lt;br /&gt;· Licensed Win 2003, Win 2008 and SQL Server 2005.&lt;br /&gt;· Have prepaid plans.&lt;br /&gt;· Free F5 load balancers.&lt;br /&gt;· They have a $50 trial plan.&lt;br /&gt;&lt;br /&gt;Few disadvantages compare to EC2&lt;br /&gt;· Right now they don’t have a cloud storage service. (According to &lt;a href="http://blog.gogrid.com/2008/09/22/feature-preview-gogrids-cloud-storage/"&gt;Go Grid blog &lt;/a&gt;this feature will be made available very soon).&lt;br /&gt;· They don’t have a backup solution. To backup one has to use some third party solution as &lt;a href="http://www.mozy.com/"&gt;mozy.com &lt;/a&gt;or &lt;a href="http://aws.amazon.com/s3/"&gt;S3&lt;/a&gt;.&lt;br /&gt;· No support for custom OS images for now.&lt;br /&gt;· Will get charged for server resources even if the server is shutdown. Only way to not incur charges is to delete the server.&lt;br /&gt;· Currently their instances are limited to 2GB of RAM. However, this month they are supposed to be introducing 4GB and 8GB instances. (Can’t wait for that.)&lt;br /&gt;&lt;br /&gt;Overall, my experience with the service is good except some initial setup issues. I would recommend anyone who is interested in hosting their application in a cloud give Go Grid a try.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7504026808655596967-5017871496843211968?l=fahadaz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyThoughtsOnNetDev/~4/J7VGeiZPock" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fahadaz.blogspot.com/feeds/5017871496843211968/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7504026808655596967&amp;postID=5017871496843211968" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/5017871496843211968?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/5017871496843211968?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyThoughtsOnNetDev/~3/J7VGeiZPock/cloud-for-windows.html" title="Cloud for Windows" /><author><name>fahadaz</name><uri>http://www.blogger.com/profile/17712723338310461730</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fahadaz.blogspot.com/2008/10/cloud-for-windows.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcCRno4cCp7ImA9WxRQE0U.&quot;"><id>tag:blogger.com,1999:blog-7504026808655596967.post-5977039348924360109</id><published>2008-10-05T13:02:00.004-05:00</published><updated>2008-10-07T09:01:07.438-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-07T09:01:07.438-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Memcached" /><title>Memcached 1.2.6 for Windows</title><content type="html">Memcached 1.2.6 for Windows can be downloaded from the following link&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.jellycan.com/memcached/"&gt;http://code.jellycan.com/memcached/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It has quite a few bugs and crash fixes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7504026808655596967-5977039348924360109?l=fahadaz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyThoughtsOnNetDev/~4/6-5KkH3yPIU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fahadaz.blogspot.com/feeds/5977039348924360109/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7504026808655596967&amp;postID=5977039348924360109" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/5977039348924360109?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/5977039348924360109?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyThoughtsOnNetDev/~3/6-5KkH3yPIU/memcached-126-for-windows.html" title="Memcached 1.2.6 for Windows" /><author><name>fahadaz</name><uri>http://www.blogger.com/profile/17712723338310461730</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://fahadaz.blogspot.com/2008/10/memcached-126-for-windows.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YBSH44cSp7ImA9WxRTGE8.&quot;"><id>tag:blogger.com,1999:blog-7504026808655596967.post-7084184732909082450</id><published>2008-09-07T13:08:00.006-05:00</published><updated>2008-09-07T18:12:39.039-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-07T18:12:39.039-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Memcached Providers" /><category scheme="http://www.blogger.com/atom/ns#" term="Memcached" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.net" /><category scheme="http://www.blogger.com/atom/ns#" term="Performance" /><title>Improve ASP.net response time</title><content type="html">&lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list .5in"&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2; tab-stops:list .5in"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2; tab-stops:list .5in"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2; tab-stops:list .5in"&gt;-&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;View State&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo2; tab-stops:list 1.0in"&gt;&lt;span style="Courier New&amp;quot;font-family:&amp;quot;;"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;Reduce the use of view state as much as possible.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo2; tab-stops:list 1.0in"&gt;&lt;span style="Courier New&amp;quot;font-family:&amp;quot;;"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;If need to store objects in view state consider using &lt;a href="http://www.csharphelp.com/archives4/archive629.html"&gt;type convertors&lt;/a&gt;.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo2; tab-stops:list 1.0in"&gt;&lt;span style="Courier New&amp;quot;font-family:&amp;quot;;"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;Move &lt;a href="http://www.hanselman.com/blog/MovingViewStateToTheBottomOfThePage.aspx"&gt;view state to the bottom&lt;/a&gt; of the page.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo2; tab-stops:list 1.0in"&gt;o   &lt;a href="http://www.codeproject.com/KB/viewstate/ViewStateCompression.aspx"&gt;Compress View State&lt;/a&gt;.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2; tab-stops:list .5in"&gt;-&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;Java Script and CSS&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo2; tab-stops:list 1.0in"&gt;&lt;span style="Courier New&amp;quot;font-family:&amp;quot;;"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;Try to use ToolkitScriptManager instead of ScriptManager if using ASP.net AJAX Control Toolkit. It has the ability to &lt;a href="http://www.asp.net/AJAX/AjaxControlToolkit/Samples/Walkthrough/OtherNeatStuff.aspx"&gt;combine Toolkit scripts&lt;/a&gt; together to reduce number of request.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo2; tab-stops:list 1.0in"&gt;&lt;span style="Courier New&amp;quot;font-family:&amp;quot;;"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;Use release mode in production for ToolkitScriptManager to get already compact ASP.net AJAX Control Toolkit script files. &lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo2; tab-stops:list 1.0in"&gt;&lt;span style="Courier New&amp;quot;font-family:&amp;quot;;"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;a href="http://geekswithblogs.net/rashid/archive/2007/07/25/Combine-Multiple-JavaScript-and-CSS-Files-and-Remove-Overheads.aspx"&gt;Combine custom java script and CSS files&lt;/a&gt; into one file.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo2; tab-stops:list 1.0in"&gt;&lt;span style="Courier New&amp;quot;font-family:&amp;quot;;"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;Cache CSS and Java Script in the browser.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo2; tab-stops:list 1.0in"&gt;&lt;span style="Courier New&amp;quot;font-family:&amp;quot;;"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.codeplex.com/YUICompressor"&gt;Compact Java Script and CSS&lt;/a&gt; to reduce size.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2; tab-stops:list .5in"&gt;-&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;Images&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo2; tab-stops:list 1.0in"&gt;&lt;span style="Courier New&amp;quot;font-family:&amp;quot;;"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.codeproject.com/KB/aspnet/CachingImagesInASPNET.aspx"&gt;Cache Images in browser&lt;/a&gt;.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2; tab-stops:list .5in"&gt;-&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;Cache&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo2; tab-stops:list 1.0in"&gt;&lt;span style="Courier New&amp;quot;font-family:&amp;quot;;"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.codeproject.com/KB/web-cache/cachingaspnet.aspx"&gt;Cache data and page output&lt;/a&gt;. (Note: ASP.net cache is not a distributed cache and will not work in a Web farm. Consider using &lt;a href="http://www.danga.com/memcached/"&gt;memcached&lt;/a&gt; and &lt;a href="http://www.codeplex.com/memcachedproviders"&gt;memcached providers.&lt;/a&gt;)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7504026808655596967-7084184732909082450?l=fahadaz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyThoughtsOnNetDev/~4/d7yM_-RDb6g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fahadaz.blogspot.com/feeds/7084184732909082450/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7504026808655596967&amp;postID=7084184732909082450" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/7084184732909082450?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/7084184732909082450?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyThoughtsOnNetDev/~3/d7yM_-RDb6g/improve-aspnet-response-time.html" title="Improve ASP.net response time" /><author><name>fahadaz</name><uri>http://www.blogger.com/profile/17712723338310461730</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://fahadaz.blogspot.com/2008/09/improve-aspnet-response-time.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcAQ3Y7eSp7ImA9WxRTF0k.&quot;"><id>tag:blogger.com,1999:blog-7504026808655596967.post-290626909473496196</id><published>2008-09-06T16:19:00.004-05:00</published><updated>2008-09-06T18:00:42.801-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-06T18:00:42.801-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MSMQ" /><category scheme="http://www.blogger.com/atom/ns#" term="Alerting" /><category scheme="http://www.blogger.com/atom/ns#" term="NHibernate" /><category scheme="http://www.blogger.com/atom/ns#" term="WCF" /><title>Creating an Alert System with NHibernate, WCF and MSMQ</title><content type="html">For a project that I am working on we needed to create an alert system. This system alerts the user about certain changes in the database via email or text. When I started googling for an alert system, nothing relevant came up. But then trying to solve another problem I came across two very interesting posts.&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://www.manuelabadia.com/blog/PermaLink,guid,b169ef19-7123-4ab9-8724-36583bc7c16f.aspx"&gt;Manuel Abadia's ASP.NET stuff - NHibernate and calculated properties&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://code.msdn.microsoft.com/msmqpluswcf"&gt;SOA'izing MSMQ with WCF (and Why It's Worth It)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Using these two posts we were able to create a subscriber based alert system. For our solution we created a marker interface &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;IAlert&lt;/span&gt; and have all domain objects we needed to alert on inherit from this interface. Instead of using the &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;FindDirty&lt;/span&gt; method as mentioned in the first post, we used &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;OnSave&lt;/span&gt; [for Insert], &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;OnFlushDirty&lt;/span&gt; [for Update] and &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;OnDelete&lt;/span&gt; [for delete]. In these functions we place a check if the object is of type IAlert we converted its current and previous state if any into an xml packet. Then that packet was saved on the &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;HttpContext.Current.Items&lt;/span&gt; collection. The reason for saving it on the Items collection is that transaction could fail and we don’t want to generate alerts for failed transactions. Then in the PostFlush method in the interceptor we called the WCF service that places that xml packet on to the MSMQ queue. This operation is asynchronous and does not add time to the transaction. On the other side we wrote a WCF service that processes that packet. This way, alert was sent asynchronously and transaction time was not effected. Another advantage of using this approach is processing WCF service has all the information needed to process that alert in the xml packet and only needs to hit that database when it needs to gets that list of subscribers to send messages.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7504026808655596967-290626909473496196?l=fahadaz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyThoughtsOnNetDev/~4/X9IlDNOCHTs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fahadaz.blogspot.com/feeds/290626909473496196/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7504026808655596967&amp;postID=290626909473496196" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/290626909473496196?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/290626909473496196?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyThoughtsOnNetDev/~3/X9IlDNOCHTs/creating-alert-system-with-nhibernate.html" title="Creating an Alert System with NHibernate, WCF and MSMQ" /><author><name>fahadaz</name><uri>http://www.blogger.com/profile/17712723338310461730</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fahadaz.blogspot.com/2008/09/creating-alert-system-with-nhibernate.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IMRnk4cCp7ImA9WxRTE0s.&quot;"><id>tag:blogger.com,1999:blog-7504026808655596967.post-5990607421164705147</id><published>2008-09-02T09:08:00.000-05:00</published><updated>2008-09-02T09:26:27.738-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-02T09:26:27.738-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Part Cover" /><category scheme="http://www.blogger.com/atom/ns#" term="CC.net" /><title>Integrating Part Cover with CC.net</title><content type="html">Here is a set of excellent blog posts on how to setup CC.net with Part Cover at &lt;a href="http://www.blog.latrompa.com/"&gt;Books and bits&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blog.latrompa.com/?p=72"&gt;Integrate PartCover.Net and Cruise Control.Net&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blog.latrompa.com/?p=73"&gt;PartCover.Net and CC.Net Part 2 - Making it pretty.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7504026808655596967-5990607421164705147?l=fahadaz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyThoughtsOnNetDev/~4/6eMuz_f6UM4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fahadaz.blogspot.com/feeds/5990607421164705147/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7504026808655596967&amp;postID=5990607421164705147" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/5990607421164705147?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/5990607421164705147?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyThoughtsOnNetDev/~3/6eMuz_f6UM4/integrating-part-cover-with-ccnet.html" title="Integrating Part Cover with CC.net" /><author><name>fahadaz</name><uri>http://www.blogger.com/profile/17712723338310461730</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fahadaz.blogspot.com/2008/09/integrating-part-cover-with-ccnet.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcEQns6cCp7ImA9WxRTEU4.&quot;"><id>tag:blogger.com,1999:blog-7504026808655596967.post-5173065945162973501</id><published>2008-08-30T14:41:00.000-05:00</published><updated>2008-08-30T17:06:43.518-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-30T17:06:43.518-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ASP.net" /><category scheme="http://www.blogger.com/atom/ns#" term="NHibernate" /><category scheme="http://www.blogger.com/atom/ns#" term="Context Sessions" /><title>Context Based Sessions in NHibernate</title><content type="html">I have seen a lot of people asking questions about creating context based Sessions in NHibernate. One of the solutions that people have suggested is to create a new Session Factory for each database. This solution sounds attractive, but will become problematic as the application scales up. In this post I would to share my solution that we implement in my current project.&lt;br /&gt;&lt;br /&gt;NHibernate lets the developer provider their own ADO.net connection. As we were using Open Session in View strategy we decided to pass the connection string to create a session using &lt;strong&gt;ISessionFactory. OpenSession(IdbConnection obj)&lt;/strong&gt;. By using this technique NHibernate’s second level cache is disabled. For our application we were not interested in using a second level cache so it didn’t matter. If you are interested in using second level cache solution is to implement your own &lt;strong&gt;IConnectionProvider&lt;/strong&gt;. Information about which database to use can be passed using &lt;strong&gt;HttpContext.Items&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;NHibernate context is feature that is very rarely talked about. NHibernate Session Factory provides a method &lt;strong&gt;GetCurrentSession()&lt;/strong&gt; this lets you get current session in the context. NHibernate provides built in implementation for web application. For more information please review &lt;a href="http://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/html/architecture.html"&gt;section 2.3&lt;/a&gt; of NHibernate documentation. This way the DAO and Business Object don’t have to worry about how to create the session and remain agnostic of which database they are connecting to.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Please comment. Thanks&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7504026808655596967-5173065945162973501?l=fahadaz.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyThoughtsOnNetDev/~4/OIMisJZDD2M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fahadaz.blogspot.com/feeds/5173065945162973501/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7504026808655596967&amp;postID=5173065945162973501" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/5173065945162973501?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7504026808655596967/posts/default/5173065945162973501?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyThoughtsOnNetDev/~3/OIMisJZDD2M/context-based-sessions-in-nhibernate.html" title="Context Based Sessions in NHibernate" /><author><name>fahadaz</name><uri>http://www.blogger.com/profile/17712723338310461730</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fahadaz.blogspot.com/2008/08/context-based-sessions-in-nhibernate.html</feedburner:origLink></entry></feed>

