<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Kalyan Krishna</title>
        <link>http://geekswithblogs.net/hopeless_nerd/Default.aspx</link>
        <description>Kalyan's technology blog</description>
        <language>en-US</language>
        <copyright>Kalyan Krishna</copyright>
        <managingEditor>gautam659@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Kalyan Krishna</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/hopeless_nerd/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Beware of saving IAsyncResult in a session variable</title>
            <link>http://geekswithblogs.net/hopeless_nerd/archive/2008/05/16/122196.aspx</link>
            <description>&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt;While working on an ASP.net application, we had a certain page where we wanted to conduct a search that takes about 30-45 seconds to complete.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt;To desist from holding the page output for all that while this search took place, we decided to make it look more interactive for the user using some nifty AJAX.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt;The following are the steps we took..&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol style="MARGIN-TOP: 0cm" type="1"&gt;
    &lt;li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt;Started the search on page load on a separate thread using BeginInvoke() &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt;The IAsyncResult returned by BeginInvoke() was saved in a session variable. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt;An AJAX timer was placed on the page that allowed us to periodically query the status of the search. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt;The query method would fetch the IAsyncResult instance from the session variable and query its IsCompleted property. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt;When IsCompleted was true, we’d send back the results to the page and switch off the timer. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt;This all worked very well in our development environment where the session state is maintained InProc.&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt;When we deployed our application on our production environment, we were in for a shock.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;The production environment uses SqlState (OutProc) . In an out of process session state, only serializable types can be stored in session variables.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;It turned out that IASyncResult is *not* serializable and we had to roll back the code.&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt;We did learn a lot many lessons from this, and we now test our ASP.Net application in SqlState before deploying them on production sites, but apart from this I decided to look for some ideas as how one can provide such interactive behavior in ASP.net environment.&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt;The solution is a bit complicated, but not so difficult to achieve either. The steps are being outlined below.&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol style="MARGIN-TOP: 0cm" type="1"&gt;
    &lt;li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt;You need to move your code that executed on separate threads in an out of process application. Using a remoting server is the easiest option. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt;The code that you’d execute on a separate thread in ASP.net environment cannot access session variables. A worker thread must not touch objects owned by the main thread. The session object is owned by the main thread. There are ways around this, but all are messy and should be avoided. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt;The best and elegant solution is to pass all data inputs as parameters to methods executing on separate&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;threads. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt;Anyways, since our code is non-session dependent and in a separate assembly (dll), we were able to expose the assembly methods through a remoting server. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-GB"&gt;Now the ASP.Net page, for each timer event, queries an out of process application for the value of IAsyncResult.IsCompleted and works in SqlState production environment without any hassles. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 36pt"&gt;&lt;font size="3"&gt;I am adding some more code to help those who want to set up a remoting server themselves and get started with the above mentioned approach&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 36pt"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 72pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;1.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;Set up a basic remoting server. There are literally tens of samples available online if you google it . &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;One of these sample article to set up a remoting server can be found at the following Url&lt;br /&gt;
&lt;/font&gt;&lt;a href="http://www.codeproject.com/KB/IP/dotnetremotingbasictutor.aspx"&gt;&lt;font color="#800080" size="3"&gt;http://www.codeproject.com/KB/IP/dotnetremotingbasictutor.aspx&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.csharphelp.com/archives2/archive314.html"&gt;&lt;font color="#800080" size="3"&gt;http://www.csharphelp.com/archives2/archive314.html&lt;/font&gt;&lt;/a&gt;&lt;br style="mso-special-character: line-break" /&gt;
&lt;br style="mso-special-character: line-break" /&gt;
&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 72pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;2.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;Take care of the following when setting up a remoting server.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 108pt; TEXT-INDENT: -18pt; mso-list: l2 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;a.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;For SAO (server activated object), &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;read well about the two available modes, Singleton and Singlecall. If you are to query a running thread between calls , I recommend Singleton mode for a wrapper class, say named &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyWrapperClass&lt;/span&gt;&lt;font size="3"&gt;. The &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyWrapperClass&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;font size="3"&gt;class runs in Singleton mode and manages running threads and the shared data cache used by the various threads..&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;MyWrapperClass&lt;/span&gt; : System.&lt;span style="COLOR: #2b91af"&gt;MarshalByRefObject&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 108pt; TEXT-INDENT: -18pt; mso-list: l2 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;b.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;Do a good deal of reading as to which of the available channels, TcpChannel and HttpChannel is suitable for your case.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 108pt; TEXT-INDENT: -18pt; mso-list: l2 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;c.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;Be default, the remoting server would kill your Singleton object (in our case the &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyWrapperClass&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;font size="3"&gt;class) when the wrapper does not receives a request for some time. You might want to avoid this as it would kill your cache . &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;To control the amount of time you want the Singleton to live, remoting services provides something called a Lease. For infinite lease, use the following code.&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;override&lt;/span&gt; &lt;span style="COLOR: blue"&gt;object&lt;/span&gt; InitializeLifetimeService()&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; &lt;span style="COLOR: blue"&gt;null&lt;/span&gt;; &lt;span style="COLOR: green"&gt;//Infinite Lease&lt;/span&gt;&lt;br /&gt;
}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 72pt"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 72pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;3.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;Whenever a call is made on one of the remoting server’s exposed Wrapper class’s methods, I’d recommend the following steps..&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 108pt; TEXT-INDENT: -18pt; mso-list: l2 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;a.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;Create and initialize hash table, named say &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;myExecutingInstances&lt;/span&gt;&lt;font size="3"&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;private&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Hashtable&lt;/span&gt; myExecutingInstances = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Hashtable&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 108pt; TEXT-INDENT: -18pt; mso-list: l2 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;b.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;Create an object of the class , say named &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyMultithreadedClass&lt;/span&gt;&lt;font size="3"&gt;, that has the multi-threaded method calls. DO NOT put multi-threading code in the &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyWrapperClass&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;font size="3"&gt;itself as things would get very messy.&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;MyMultithreadedClass&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 108pt; TEXT-INDENT: -18pt; mso-list: l2 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;c.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;Declare a public method in the &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyWrapperClass&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;font size="3"&gt;that clients would execute, like &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 144pt; TEXT-INDENT: -144pt; mso-list: l2 level3 lfo3; mso-text-indent-alt: -9.0pt"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;                                                                        &lt;/span&gt;&lt;font size="3"&gt;i.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; StartExecuting(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; someparams)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 108pt; TEXT-INDENT: -18pt; mso-list: l2 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;d.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;When the above method (&lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyWrapperClass&lt;/span&gt;&lt;font size="3"&gt;.&lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;StartExecuting&lt;/span&gt;&lt;font size="3"&gt; () is called, execute the method that does multi-threaded processing on this instance of &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;&lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyMultithreadedMethodsClass&lt;/span&gt;&lt;font size="3"&gt;., e.g. &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyMultithreadedMethodsClass&lt;/span&gt;&lt;font size="3"&gt;.&lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; StartExecuting&lt;/span&gt;&lt;font size="3"&gt; (). Make sure that this method is NON-BLOCKING or you’d end up holding up all further processing..&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; StartExecuting(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; someparams) &lt;span style="COLOR: green"&gt;//THIS HAS TO BE NON-BLOCKING&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 108pt; TEXT-INDENT: -18pt; mso-list: l2 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;e.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;Generate a unique guid as key and , save this key and the newly created instance of &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyMultithreadedMethodsClass&lt;/span&gt;&lt;font size="3"&gt; in the hashtable &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;myExecutingInstances&lt;/span&gt;&lt;font size="3"&gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; StartExecuting(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; someparams)&lt;br /&gt;
{&lt;/span&gt;&lt;br /&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;Guid&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; newguid = &lt;span style="COLOR: #2b91af"&gt;Guid&lt;/span&gt;.NewGuid();&lt;br /&gt;
&lt;br /&gt;
&lt;span style="COLOR: #2b91af"&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;MyMultithreadedMethodsClass&lt;/span&gt; newobj = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;&lt;span style="COLOR: #2b91af"&gt;MyMultithreadedMethodsClass&lt;/span&gt;();&lt;br /&gt;
&lt;br /&gt;
newobj.StartExecuting(someparams);&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;&lt;span style="COLOR: green"&gt;//This should execute in non-blocking manner or the code would stuck here....&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;myExecutingInstances.Add(newguid, newobj);&lt;span style="mso-tab-count: 1"&gt;     &lt;/span&gt;&lt;br /&gt;
&lt;span style="COLOR: blue"&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;return&lt;/span&gt; newguid;&lt;br /&gt;
}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 108pt; TEXT-INDENT: -18pt; mso-list: l2 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;f.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;Return this guid to the caller.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 108pt; TEXT-INDENT: -18pt; mso-list: l2 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;g.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;Provide a method in your &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyMultithreadedMethodsClass&lt;/span&gt;&lt;font size="3"&gt; class to check for completion of the task or query progress, like &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 144pt; TEXT-INDENT: -144pt; mso-list: l2 level3 lfo3; mso-text-indent-alt: -9.0pt"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;                                                                        &lt;/span&gt;&lt;font size="3"&gt;i.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;bool&lt;/span&gt; IsExecutionComplete()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 144pt; TEXT-INDENT: -144pt; mso-list: l2 level3 lfo3; mso-text-indent-alt: -9.0pt"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;                                                                       &lt;/span&gt;&lt;font size="3"&gt;ii.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; NumRecordsFetched()&lt;/span&gt;&lt;font size="3"&gt;;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 72pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;4.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;To check for the progress, declare a similar method (s) in the &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyWrapperClass&lt;/span&gt;&lt;font size="3"&gt; class, which in turn calls the similarly named methods &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;in &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyMultithreadedMethodsClass&lt;/span&gt;&lt;font size="3"&gt;..&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 108pt; TEXT-INDENT: -18pt; mso-list: l2 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;a.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;bool&lt;/span&gt; IsExecutionComplete(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; guid)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 108pt; TEXT-INDENT: -18pt; mso-list: l2 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;b.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; NumRecordsFetched(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; guid)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 108pt"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 72pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;5.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;The above &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyWrapperClass&lt;/span&gt;&lt;font size="3"&gt; methods would first hit the &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;myExecutingInstances&lt;/span&gt;&lt;font size="3"&gt; hash table to fetch the running instance of &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyMultithreadedMethodsClass&lt;/span&gt;&lt;font size="3"&gt; matching the guid. Once the &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyMultithreadedMethodsClass&lt;/span&gt;&lt;font size="3"&gt; instance is found, &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;put code to call the needed methods on the &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyMultithreadedMethodsClass&lt;/span&gt;&lt;font size="3"&gt; instance.&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyMultithreadedMethodsClass&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; newobj = (&lt;span style="COLOR: #2b91af"&gt;MyMultithreadedMethodsClass&lt;/span&gt;)myExecutingInstances[guid];&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 72pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;6.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;Provide another method in the &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyWrapperClass&lt;/span&gt;&lt;font size="3"&gt;, and the actual implementation class &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyMultithreadedMethodsClass&lt;/span&gt;&lt;font size="3"&gt;, to return the processed data when done. Again they call &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;the similarly named methods on &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyMultithreadedMethodsClass&lt;/span&gt;&lt;font size="3"&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 108pt; TEXT-INDENT: -18pt; mso-list: l2 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;a.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;Public Dataset &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyWrapperClass&lt;/span&gt;&lt;font size="3"&gt;.GetResults(string &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;myguid);&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 108pt; TEXT-INDENT: -18pt; mso-list: l2 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;b.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;Public Dataset &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyMultithreadedMethodsClass&lt;/span&gt;&lt;font size="3"&gt;.GetResults();&lt;br style="mso-special-character: line-break" /&gt;
&lt;br style="mso-special-character: line-break" /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 72pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;7.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;Finally, to ensure that the hashtable &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;myExecutingInstances&lt;/span&gt;&lt;font size="3"&gt; is not choked up with all the instances being added to it, provide a facility to clean up when processing is done and results fetched by &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyMultithreadedMethodsClass&lt;/span&gt;&lt;font size="3"&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt 108pt; TEXT-INDENT: -18pt; mso-list: l2 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;a.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;This would set the &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;MyMultithreadedMethodsClass&lt;/span&gt;&lt;font size="3"&gt; instance in the hastable to null, and then remove it from the hashtable altogether.&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; ClearHashtable(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; guid)&lt;br /&gt;
{&lt;br /&gt;
&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font size="3"&gt;     &lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;myExecutingInstances[guid] = &lt;span style="COLOR: blue"&gt;null&lt;/span&gt;;&lt;br /&gt;
&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;myExecutingInstances.Remove(guid);&lt;br /&gt;
}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font size="3"&gt;The complete sample code (NOTE- Its only for reference, don’t try to complie it..)&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;class&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;span style="COLOR: #2b91af"&gt;MyListener&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="COLOR: blue"&gt;static&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; Main(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;[] args)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;TcpChannel listenerchannel = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; TcpChannel(2099);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="COLOR: #2b91af"&gt;ChannelServices&lt;/span&gt;.RegisterChannel(listenerchannel, &lt;span style="COLOR: blue"&gt;false&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="COLOR: #2b91af"&gt;WellKnownServiceTypeEntry&lt;/span&gt; WKSTE = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;WellKnownServiceTypeEntry&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(&lt;span style="COLOR: #2b91af"&gt;MyWrapperClass&lt;/span&gt;), &lt;span style="COLOR: #a31515"&gt;"MyRemotingListener"&lt;/span&gt;, &lt;span style="COLOR: #2b91af"&gt;WellKnownObjectMode&lt;/span&gt;.Singleton);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="COLOR: #2b91af"&gt;RemotingConfiguration&lt;/span&gt;.RegisterWellKnownServiceType(WKSTE);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;MyWrapperClass&lt;/span&gt; : System.&lt;span style="COLOR: #2b91af"&gt;MarshalByRefObject&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Hashtable&lt;/span&gt; myExecutingInstances = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Hashtable&lt;/span&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;override&lt;/span&gt; &lt;span style="COLOR: blue"&gt;object&lt;/span&gt; InitializeLifetimeService()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; &lt;span style="COLOR: blue"&gt;null&lt;/span&gt;; &lt;span style="COLOR: green"&gt;//Infinite Lease &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; StartExecuting(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; someparams)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="COLOR: #2b91af"&gt;Guid&lt;/span&gt; newguid = &lt;span style="COLOR: #2b91af"&gt;Guid&lt;/span&gt;.NewGuid();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="COLOR: #2b91af"&gt;MyMultithreadedMethodsClass&lt;/span&gt; newobj = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;MyMultithreadedMethodsClass&lt;/span&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;         &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;newobj.StartExecuting(someparams);&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;&lt;span style="COLOR: green"&gt;//This should execute in non-blocking manner or the code would stuck here....&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;myExecutingInstances.Add(newguid, newobj);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; newguid;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;bool&lt;/span&gt; IsExecutionComplete(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; guid)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="COLOR: #2b91af"&gt;MyMultithreadedMethodsClass&lt;/span&gt; newobj = (&lt;span style="COLOR: #2b91af"&gt;MyMultithreadedMethodsClass&lt;/span&gt;)myExecutingInstances[guid];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; newobj.IsExecutionComplete();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; NumRecordsFetched(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; guid)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="COLOR: #2b91af"&gt;MyMultithreadedMethodsClass&lt;/span&gt; newobj = (&lt;span style="COLOR: #2b91af"&gt;MyMultithreadedMethodsClass&lt;/span&gt;)myExecutingInstances[guid];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; newobj.NumRecordsFetched();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;DataSet&lt;/span&gt; GetResults(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; guid)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="COLOR: #2b91af"&gt;MyMultithreadedMethodsClass&lt;/span&gt; newobj = (&lt;span style="COLOR: #2b91af"&gt;MyMultithreadedMethodsClass&lt;/span&gt;)myExecutingInstances[guid];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; newobj.GetResults();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; ClearHashtable(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; guid)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;myExecutingInstances[guid] = &lt;span style="COLOR: blue"&gt;null&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;      &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;      &lt;/span&gt;myExecutingInstances.Remove(guid);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;MyMultithreadedMethodsClass&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; StartExecuting(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; someparams) &lt;span style="COLOR: green"&gt;//THIS HAS TO BE NON-BLOCKING&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;bool&lt;/span&gt; IsExecutionComplete()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; NumRecordsFetched()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;DataSet&lt;/span&gt; GetResults()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font size="3"&gt;&lt;br style="mso-special-character: line-break" /&gt;
&lt;br style="mso-special-character: line-break" /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=122196"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=122196" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/hopeless_nerd/aggbug/122196.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kalyan Krishna</dc:creator>
            <guid>http://geekswithblogs.net/hopeless_nerd/archive/2008/05/16/122196.aspx</guid>
            <pubDate>Fri, 16 May 2008 15:56:58 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/hopeless_nerd/comments/122196.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/hopeless_nerd/archive/2008/05/16/122196.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/hopeless_nerd/comments/commentRss/122196.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/hopeless_nerd/services/trackbacks/122196.aspx</trackback:ping>
        </item>
        <item>
            <title>C# lock / VB.NET SyncLoc, .NET Monitor.Enter Tip to avoid data corruption</title>
            <link>http://geekswithblogs.net/hopeless_nerd/archive/2008/03/14/120538.aspx</link>
            <description>&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;Working with multiple threads is never easy and every now and then I keep running into seemingly bizarre issues and learn something new by fixing it..&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;This time it was about how to use the object lock statement (C# lock / VB.NET SyncLoc, .NET Monitor.Enter) properly.&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;See I had this method that was acting as a callback handler form a Delegate.BeginInvoke call. I had a dataset that was to be updated by multiple threads, so I had written code like following&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; COLOR: #2b91af; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;DataSet&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; _sharedDataset = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;DataSet&lt;/span&gt;();&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;private&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; PostProcessingCallback(&lt;span style="COLOR: #2b91af"&gt;IAsyncResult&lt;/span&gt; ar)&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;{&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; Mycallbacklockobject = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: blue"&gt;object&lt;/span&gt;();&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="COLOR: blue"&gt;lock&lt;/span&gt; (_sharedDataset)&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="COLOR: green"&gt;//add a few rows to the dataset&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;}&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="COLOR: green"&gt;//do some more processing&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; COLOR: green; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="COLOR: blue"&gt;lock&lt;/span&gt; (_sharedDataset)&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;&lt;span style="COLOR: green"&gt;//add another few rows to the dataset&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="COLOR: green"&gt;//do some more processing&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; COLOR: green; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; COLOR: green; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;//finally accept changes&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;br /&gt;
&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;_sharedDataset.AcceptChanges()&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;This code seemingly worked for most of the time, but every now and then the method world throw some strange exception about the dataset being inconsistent when AcceptChages() was called.&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;It was only after a while I realized that it was a big mistake to release the dataset from the lock in between while other processing went on. &lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;When you release the dataset in the middle of processing as above, there is no guarantee that the same thread will again get the lock even if it the method has not yet stopped executing!&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;So to fix the problem I had to change the code to the following.&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; COLOR: #2b91af; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;DataSet&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; _sharedDataset = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;DataSet&lt;/span&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;private&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; PostProcessingCallback(&lt;span style="COLOR: #2b91af"&gt;IAsyncResult&lt;/span&gt; ar)&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;{&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; Mycallbacklockobject = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: blue"&gt;object&lt;/span&gt;();&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="COLOR: blue"&gt;lock&lt;/span&gt; (_sharedDataset)&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;{&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; COLOR: green; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;//add a few rows to the dataset&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="COLOR: green"&gt;//do some more processing&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; COLOR: green; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="COLOR: green"&gt;//add another few rows to the dataset&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="COLOR: green"&gt;//do some more processing&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; COLOR: green; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="COLOR: green"&gt;//finally accept changes&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;_sharedDataset.AcceptChanges();&lt;/span&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;}&lt;br /&gt;
}&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-no-proof: yes"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;br /&gt;
The idea is to keep the shared object under lock till all processing is over.I never go any exception again about the dataset being inconsistent.&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;span style="FONT-SIZE: 7pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;o:p&gt;&lt;font face="Calibri" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=120538"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=120538" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/hopeless_nerd/aggbug/120538.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kalyan Krishna</dc:creator>
            <guid>http://geekswithblogs.net/hopeless_nerd/archive/2008/03/14/120538.aspx</guid>
            <pubDate>Fri, 14 Mar 2008 09:15:17 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/hopeless_nerd/comments/120538.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/hopeless_nerd/archive/2008/03/14/120538.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/hopeless_nerd/comments/commentRss/120538.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/hopeless_nerd/services/trackbacks/120538.aspx</trackback:ping>
        </item>
        <item>
            <title>ASP.NET 2.0 New/Fresh Session start check on pages...</title>
            <link>http://geekswithblogs.net/hopeless_nerd/archive/2007/03/30/110420.aspx</link>
            <description>&lt;P&gt;I've been programming in ASP (including ASP.NET)&amp;nbsp;for almost seven years from now, and one of the most common problems was to ensure that certain pages should not be accessed without a session being active.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;Usually this page depended the user being logged in, where we stored the fact (that the user is logged in) by keeping a flag in a session variable. Other common scenarios were when a page depended on some value that was derived or set on a different page and transported to the current page through a session variable.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;The code to accomplish this was almost always clumsy. In its simplicity, you'd always check for existence of a session variable like following..&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;FONT size=2&gt;if (Session["MY_VAR_A"] == null)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Redirect("ExpiredPage.aspx");&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;If under certain conditions, your page would work if one of the various session variables was provided for, things would get clumsier. &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;For example, if in one condition, Session["MY_VAR_A"] was initialized somewhere and the&amp;nbsp;flow came to&amp;nbsp;this page and it was okay to continue processing, while in another condition it was okay to process if Session["MY_VAR_B"] had some value, you had to write code like following..&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;FONT size=2&gt;if (somecondition)&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (Session["MY_VAR_A"] == null)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Redirect("ExpiredPage.aspx");&lt;BR&gt;else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (Session["MY_VAR_B"] == null)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Redirect("ExpiredPage.aspx");&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;The objective was the same, you wanted to ensure that if a new Session had to be created to process this page, then the user should be redirected to the Expired page or whatever...&lt;BR&gt;&lt;BR&gt;ASP.NET&amp;nbsp;Version 2.0 introduced a cool new property in HttpSession class &amp;nbsp;(Available through the Session property of the Page class), called IsNewSession, that can be used to check if a new session was created for the current request. This made things much simpler. All you have to do now is...&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT color=#008000&gt;if (Session.IsNewSession)&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Redirect("ExpiredPage.aspx");&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;Now life is a little less complicated :)&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=110420"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=110420" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/hopeless_nerd/aggbug/110420.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kalyan Krishna</dc:creator>
            <guid>http://geekswithblogs.net/hopeless_nerd/archive/2007/03/30/110420.aspx</guid>
            <pubDate>Fri, 30 Mar 2007 20:45:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/hopeless_nerd/comments/110420.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/hopeless_nerd/archive/2007/03/30/110420.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/hopeless_nerd/comments/commentRss/110420.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/hopeless_nerd/services/trackbacks/110420.aspx</trackback:ping>
        </item>
        <item>
            <title>Better late than never - Welcome to the community</title>
            <link>http://geekswithblogs.net/hopeless_nerd/archive/2007/01/27/104707.aspx</link>
            <description>&lt;P&gt;After reading a million blogs and procrastinating for some time, its time I start contributing back to the community which has helped me so much for all these years.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;I plan to use this blog to share with the world...&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;1. My latest tech finds, articles, solutions, code anything.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;2. Share some personal stuff.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;3. Write a few articles explaining the approach I took to solve problems. Hope this goes a long way in helping fellow developers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;4. Anything new and wild and fascinating...&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=104707"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=104707" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/hopeless_nerd/aggbug/104707.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kalyan Krishna</dc:creator>
            <guid>http://geekswithblogs.net/hopeless_nerd/archive/2007/01/27/104707.aspx</guid>
            <pubDate>Sat, 27 Jan 2007 14:50:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/hopeless_nerd/comments/104707.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/hopeless_nerd/archive/2007/01/27/104707.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/hopeless_nerd/comments/commentRss/104707.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/hopeless_nerd/services/trackbacks/104707.aspx</trackback:ping>
        </item>
    </channel>
</rss>