<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9014595529779023439</id><updated>2011-12-27T22:42:46.657-08:00</updated><category term='C#'/><category term='Visual Studio'/><category term='BizTalk Adapter'/><category term='First Post'/><category term='Streaming'/><category term='Pipelines'/><category term='WCF'/><category term='BizTalk server'/><category term='.Net'/><category term='Others'/><category term='Tools'/><category term='MOSS'/><category term='Google Products'/><category term='Java'/><category term='C# code snippets'/><category term='IIS'/><title type='text'>public string[] techNote;</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-8048913232622768712</id><published>2011-12-27T22:36:00.000-08:00</published><updated>2011-12-27T22:42:46.665-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Streaming'/><title type='text'>Introduction to Java stream library</title><content type='html'>I came across this simple tutorial introducing Java streaming library.&lt;br /&gt;This is a basic stuff and is a good starting point to understand working of streaming.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.javamex.com/tutorials/io/input_stream.shtml"&gt;1. Introduction to InputSteam&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.javamex.com/tutorials/io/input_stream_buffering.shtml"&gt;2. InputStream Buffering&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.javamex.com/tutorials/io/character_stream_reader.shtml"&gt;3. Reading Character at a time&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.javamex.com/tutorials/io/buffered_reader_readline.shtml"&gt;4. Reading line at a time&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I hope this will be useful for new Java developers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-8048913232622768712?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/8048913232622768712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=8048913232622768712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8048913232622768712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8048913232622768712'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2011/12/introduction-to-java-stream-library.html' title='Introduction to Java stream library'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-823323578166906748</id><published>2010-09-04T04:13:00.000-07:00</published><updated>2010-09-04T04:18:46.558-07:00</updated><title type='text'>Code for Permutations and Combinations of numbers.</title><content type='html'>Today I wrote 3 functions to get:&lt;br /&gt;1. All permutations of n numbers (n!)&lt;br /&gt;2. All permutations of k numbers from given n numbers (nPk)&lt;br /&gt;3. All combinations of k numbers from given n numbers (nCk)&lt;br /&gt;&lt;br /&gt;I haven't considered repetition of numbers, so all given numbers are assumed to be unique.  &lt;br /&gt;&lt;br /&gt;Following is the code:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void mySwap(int arr[], int l, int r)&lt;br /&gt;{&lt;br /&gt; int temp = arr[l];&lt;br /&gt; arr[l] = arr[r];&lt;br /&gt; arr[r] = temp;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void printArr(int arr[], int length)&lt;br /&gt;{&lt;br /&gt; for(int i=0;i &lt; length;i++)&lt;br /&gt;  printf("%d  ", arr[i]);&lt;br /&gt; printf("\n");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void printPerm(int arr[], int currentIndex, int length)&lt;br /&gt;{ &lt;br /&gt; if(currentIndex == length)&lt;br /&gt; {&lt;br /&gt;  printArr(arr, length);&lt;br /&gt;  return;&lt;br /&gt; }&lt;br /&gt; for(int i = currentIndex; i &lt; length ; i++)&lt;br /&gt; {&lt;br /&gt;  mySwap(arr, currentIndex, i);&lt;br /&gt;  printPerm(arr, currentIndex+1, length);&lt;br /&gt;  mySwap(arr, currentIndex, i);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void printSmallerPerm(int arr[], int arrayLength, int permLength, int currentIndex)&lt;br /&gt;{&lt;br /&gt; if(currentIndex == permLength)&lt;br /&gt; {&lt;br /&gt;  printArr(arr, permLength);&lt;br /&gt;  return;&lt;br /&gt; }&lt;br /&gt; for(int i = currentIndex; i &lt; arrayLength ; i++)&lt;br /&gt; {&lt;br /&gt;  mySwap(arr, currentIndex, i);&lt;br /&gt;  printSmallerPerm(arr, arrayLength, permLength, currentIndex+1);&lt;br /&gt;  mySwap(arr, currentIndex, i);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void printSmallerComb(int arr[], int arrLength, int soln[], int solnLength, int combLength, int currentIndex)&lt;br /&gt;{ &lt;br /&gt; if(solnLength == combLength)&lt;br /&gt; {&lt;br /&gt;  printArr(soln, solnLength);&lt;br /&gt;  return;&lt;br /&gt; }&lt;br /&gt; if(currentIndex == arrLength)&lt;br /&gt;  return;&lt;br /&gt;&lt;br /&gt; soln[solnLength] = arr[currentIndex];&lt;br /&gt; printSmallerComb(arr, arrLength, soln, solnLength +1, combLength, currentIndex+1);  &lt;br /&gt; printSmallerComb(arr, arrLength, soln, solnLength, combLength, currentIndex+1); &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;static void main()&lt;br /&gt;{&lt;br /&gt; int arr[] = {1,2,3,4,5};&lt;br /&gt; int soln[3] = {0, 0 , 0};&lt;br /&gt;&lt;br /&gt; printf("All permutations:\n");&lt;br /&gt; printPerm(arr, 0, 5);&lt;br /&gt;&lt;br /&gt; printf("5P2 permutations:\n");&lt;br /&gt; printSmallerPerm(arr, 5, 3, 0);&lt;br /&gt;&lt;br /&gt; printf("5C2 combinations:\n");&lt;br /&gt; printSmallerComb(arr, 5, soln, 0, 3, 0);&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-823323578166906748?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/823323578166906748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=823323578166906748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/823323578166906748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/823323578166906748'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2010/09/code-for-permutations-and-combinations.html' title='Code for Permutations and Combinations of numbers.'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-7597642445539880167</id><published>2010-07-31T04:47:00.000-07:00</published><updated>2010-07-31T05:12:41.954-07:00</updated><title type='text'>Mars Rover problem.</title><content type='html'>Today I came across a simple problem, which can be used to demonstate your OOP skills :)&lt;br /&gt;Problem definition:&lt;br /&gt;&lt;br /&gt;A squad of robotic rovers are to be landed by NASA on a plateau on Mars.&lt;br /&gt;This plateau, which is curiously rectangular, must be navigated by the&lt;br /&gt;rovers so that their on-board cameras can get a complete view of the&lt;br /&gt;surrounding terrain to send back to Earth.&lt;br /&gt;&lt;br /&gt;A rover’s position and location is represented by a combination of x and y&lt;br /&gt;co-ordinates and a letter representing one of the four cardinal compass&lt;br /&gt;points. The plateau is divided up into a grid to simplify navigation. An&lt;br /&gt;example position might be 0, 0, N, which means the rover is in the bottom&lt;br /&gt;left corner and facing North.&lt;br /&gt;&lt;br /&gt;In order to control a rover, NASA sends a simple string of letters. The&lt;br /&gt;possible letters are ‘L’, ‘R’ and ‘M’. ‘L’ and ‘R’ makes the rover spin 90&lt;br /&gt;degrees left or right respectively, without moving from its current spot.&lt;br /&gt;‘M’ means move forward one grid point, and maintain the same heading.&lt;br /&gt;&lt;br /&gt;Assume that the square directly North from (x, y) is (x, y+1).&lt;br /&gt;&lt;br /&gt;INPUT:&lt;br /&gt;The first line of input is the upper-right coordinates of the plateau, the&lt;br /&gt;lower-left coordinates are assumed to be 0,0.&lt;br /&gt;&lt;br /&gt;The rest of the input is information pertaining to the rovers that have&lt;br /&gt;been deployed. Each rover has two lines of input. The first line gives the&lt;br /&gt;rover’s position, and the second line is a series of instructions telling&lt;br /&gt;the rover how to explore the plateau.&lt;br /&gt;&lt;br /&gt;The position is made up of two integers and a letter separated by spaces,&lt;br /&gt;corresponding to the x and y co-ordinates and the rover’s orientation.&lt;br /&gt;&lt;br /&gt;Each rover will be finished sequentially, which means that the second rover&lt;br /&gt;won’t start to move until the first one has finished moving.&lt;br /&gt;&lt;br /&gt;OUTPUT&lt;br /&gt;The output for each rover should be its final co-ordinates and heading.&lt;br /&gt;&lt;br /&gt;INPUT AND OUTPUT&lt;br /&gt;&lt;br /&gt;Test Input:&lt;br /&gt;5 5&lt;br /&gt;1 2 N&lt;br /&gt;LMLMLMLMM&lt;br /&gt;3 3 E&lt;br /&gt;MMRMMRMRRM&lt;br /&gt;&lt;br /&gt;Expected Output:&lt;br /&gt;1 3 N&lt;br /&gt;5 1 E&lt;br /&gt;==========&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-7597642445539880167?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/7597642445539880167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=7597642445539880167' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/7597642445539880167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/7597642445539880167'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2010/07/mars-rover-problem.html' title='Mars Rover problem.'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-8649724014346243</id><published>2010-03-14T05:54:00.000-07:00</published><updated>2010-03-14T06:00:14.814-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net'/><title type='text'>Why not expose List?</title><content type='html'>While surfing through some blogs, I reached upto some useful information: Why is it recommended to expose Collection&lt;T&gt; instead of List&lt;T&gt;? &lt;br /&gt;&lt;br /&gt;1. List&lt;T&gt; is not designed to be extended. i.e. you cannot override any members. This for example means that an object returning List&lt;T&gt; from a property won’t be able to get notified when the collection is modified. Collection&lt;T&gt; lets you overrides SetItem protected member to get “notified” when a new items is added or an existing item is changed. &lt;br /&gt;2. List&lt;T&gt; has lots of members that are not relevant in many scenarios. We say that List&lt;T&gt; is too “busy” for public object models. Imagine ListView.Items property returning List&lt;T&gt; with all its richness. Now, look at the actual ListView.Items return type; it’s way simpler and similar to Collection&lt;T&gt; or ReadOnlyCollection&lt;T&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is taken from &lt;a href="http://blogs.msdn.com/kcwalina/archive/2005/09/26/474010.aspx"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Detailed explanation of these points is given on &lt;a href="http://blogs.msdn.com/fxcop/archive/2006/04/27/585476.aspx"&gt;Code Analysis Team Blog.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-8649724014346243?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/8649724014346243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=8649724014346243' title='18 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8649724014346243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8649724014346243'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2010/03/why-not-expose-list.html' title='Why not expose List&lt;T&gt;?'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-1657145493466905175</id><published>2009-09-16T02:02:00.001-07:00</published><updated>2009-09-16T02:14:37.631-07:00</updated><title type='text'>Writing blog posts in Microsoft Word.</title><content type='html'>&lt;span xmlns=""&gt; &lt;p&gt;This is a test post. I'm writing this content in Microsoft Word 2007.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Today I saw this feature in Microsoft Word 2007. We can register the account (provide credentials) of any of the blog site (like Windows live spaces, Bloagger, Wordpress, Typepad etc.) with the word and can synchronize the contents. You can publish the contents from word, you can open any existing post, edit it and publish it.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I felt it is worth a try considering the editing facilities provided by feature reach Microsoft Word. Let's see how it turns up in my blog on blogger site. &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Man! There are lots of very basic things I couldnt do in blogger editor, but now it's too easy to do them in word. &lt;/p&gt;&lt;p&gt;Aha!!! I think I will always use this way (using MS word) to write posts here onwards. &lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-1657145493466905175?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/1657145493466905175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=1657145493466905175' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/1657145493466905175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/1657145493466905175'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2009/09/test-post.html' title='Writing blog posts in Microsoft Word.'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-8517931404108188851</id><published>2009-09-11T00:34:00.000-07:00</published><updated>2009-09-11T00:39:46.786-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Visual Studio: Intellisense not working</title><content type='html'>One day I realised that Intellisense is not working in my Visual Studio. I searched on net for the help and found out a solution which worked for me. &lt;br /&gt;&lt;br /&gt;In Visual Studio (2005 or 2008), select Tools &gt; Options &gt; Text Editor &gt; All Languages. Ensure that the checkboxes in the Statement Completion section are actively checked (not grayed out). Like shown below:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_UwBdN26S3Rs/Sqn-oq58lGI/AAAAAAAAGio/OkRJyfJVKag/s1600-h/VisulStudio.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 125px;" src="http://2.bp.blogspot.com/_UwBdN26S3Rs/Sqn-oq58lGI/AAAAAAAAGio/OkRJyfJVKag/s400/VisulStudio.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5380111204536325218" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-8517931404108188851?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/8517931404108188851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=8517931404108188851' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8517931404108188851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8517931404108188851'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2009/09/visual-studio-intellisense-not-working.html' title='Visual Studio: Intellisense not working'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UwBdN26S3Rs/Sqn-oq58lGI/AAAAAAAAGio/OkRJyfJVKag/s72-c/VisulStudio.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-3756478445934574994</id><published>2009-07-10T02:50:00.001-07:00</published><updated>2009-07-10T03:35:04.084-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pipelines'/><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk server'/><title type='text'>When do 'Load' and 'Save' methods get called on custom pipeline component?</title><content type='html'>While implementing the custom pipeline component, we should know when do Load and Save methods of the component get called. Here, I will cover how properties are handled at 3 places: Visual Studio design time, BizTalk Server admin console design time and Runtime when pipeline is called.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Visual Studio design time&lt;/strong&gt;: This is also called Type configuration, since here we configure all the pipeline instances of this pipeline type. When you add a pipeline component in a pipeline stage or open a pipeline which already has pipeline component, Load gets called to load the component properties  in the Visual Studio property grid (which shows properties of the component). This property grid contains all the public properties that you exposed from pipeline component. When you play around the pipeline component to create/change the custom pipeline in Visual Studio, Load gets called every time to load all the changed properties. If you change any property's value (actually you need not change the value) and save the pipeline, Save gets called. At this time the properties are actually stored in the btp file in the form of an xml string (BizTalk Pipeline) which has all the information about the current pipeline. When we compile and deploy the BizTalk project, this information gets compiled into an assembly which is actually deployed.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. BizTalk Server admin console design time&lt;/strong&gt;: This is called Instance configuration, since here we change the properties of only one instance of the pipeline on receive location (or send port). On a receive location (or send port), when we select the custom pipeline (which we talked about in section 1), and try to configure it by clicking a button having eclipse (...) on it, we get the property grid which has all the pipeline configuration properties. Note that these are the properties that you store in Save method using propertyBag.Write method and these properties don't have one to one mapping with the public properties exposed by pipeline component that we talked above. If we make changes here, changes are stored in adm_ReceiveLocation (or bts_SendPort) table. These changed properties are used at runtime. Here Load and Save are not called, since we dont play with the public properties of the pipeline components, rather we play with the pipeline component configuration properties which are directly stored into database without using Save mothod.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Runtime&lt;/strong&gt;: This is the easy to undestand stage where Save is not called at any time. Load gets called once for on all the components to load the type configuration (which we stored at Visual Studio design time). Then if any property of any pipeline component inside a pipeline is chaged in BizTalk Server admin console, Load is called once on each component inside that pipeline (instance configuration is loaded in this step). In addition to this, if any component implements IProbe interface, Load is called once for this component as a part of a call to Probe method. Also, Load gets called once for each call to disassembler's GetNext call. Thus any custom Dasm pipeline component's Load will get called atleast 3 times (once to load type configuration, and each one for 2 calls to GetNext). If your Dasm component implements IProbe, one more call is made. If you change the property in Admin console, one more call is made. If your Disassemble method  returns more than one messages, Load will be called for each output message (as a part of GetNext call).&lt;br /&gt;&lt;br /&gt;I know, I have messed up the description, but I couldnt write better than this. Hope I will write in a better way next time, when I try to explain something. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-3756478445934574994?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/3756478445934574994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=3756478445934574994' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/3756478445934574994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/3756478445934574994'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2009/07/when-do-load-and-save-methods-get.html' title='When do &apos;Load&apos; and &apos;Save&apos; methods get called on custom pipeline component?'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-2587222975865473482</id><published>2009-07-10T02:44:00.000-07:00</published><updated>2009-07-10T02:46:44.465-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pipelines'/><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk server'/><title type='text'>BizTalk Server : Understanding public properties and property bag properties of custom pipeline components.</title><content type='html'>Q: How public properties and properties written in property bag in pipeline component work?&lt;br /&gt;Ans: Imagine 3 layers:&lt;br /&gt;&lt;br /&gt;1. Public Properties: These are accessible to user at design time in the properties pane of pipeline components in visual studio. These are not accessible later in BizTalk admin console. Pipeline component code has access to these properties in design time.&lt;br /&gt;&lt;br /&gt;2. Pipeline component code: This can read/change public properties and also can read/write properties to/from property bag. Generally pipeline component copies values from public properties into properties in property bag in save method and does reverse in load method.&lt;br /&gt;The corresponding .cs file for a pipeline contains a string variable which holds xml containing information for different stages and components therein. This xml doesn’t contain any information about public properties that we talked in 1, but it does contain information about the properties which we write in property bag (talked in 3). This xml is as it is stored in database (in BizTalk server management tables adm_ReceiveLocation and bts_SendPort) for later use.&lt;br /&gt;&lt;br /&gt;3. Properties in property bag: We can see/change these properties in BizTalk Admin Console when we click on eclipse (...) to configure the pipeline on send port of receive location. When we change these properties in BizTalk admin console, those changes are saved into the xml string in the database that we talked in 2. We can not see these properties in visual studio design time.&lt;br /&gt;These properties are accessible by pipeline component through read/write methods. &lt;br /&gt;Load/save is used to load/save the values of properties in property bag, so they can be used in design time (by pipeline component to populate/store back the public properties values in VS) and runtime (by accessing the xml stored in db).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-2587222975865473482?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/2587222975865473482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=2587222975865473482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/2587222975865473482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/2587222975865473482'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2009/07/biztalk-server-understanding-public.html' title='BizTalk Server : Understanding public properties and property bag properties of custom pipeline components.'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-783019210324321230</id><published>2009-06-22T10:45:00.000-07:00</published><updated>2009-07-06T00:11:05.671-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk server'/><title type='text'>Links to useful BizTalk server blogs/forums</title><content type='html'>In this post, I will keep adding links to useful stuff related to BizTalk Server available on the net.&lt;br /&gt;&lt;br /&gt;1. BizTalk 24*7 - Community Website for Biztalk Developers/Architects/Adminstrators:&lt;br /&gt;&lt;a href="http://www.biztalk247.com/"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;http://www.biztalk247.com/&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;2. Developing Streaming Pipeline Components:&lt;br /&gt;&lt;a href="http://blogs.objectsharp.com/cs/blogs/nbarden/archive/2008/04/14/developing-streaming-pipeline-components-part-1.aspx"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;http://blogs.objectsharp.com/cs/blogs/nbarden/archive/2008/04/14/developing-streaming-pipeline-components-part-1.aspx&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. BizTalk Server Pipeline Component Wizard&lt;br /&gt;&lt;a style="color: rgb(0, 153, 0);" href="http://www.codeplex.com/btsplcw"&gt;http://www.codeplex.com/btsplcw&lt;/a&gt;&lt;br /&gt;&lt;input id="gwProxy" type="hidden"&gt;&lt;!--Session data--&gt;&lt;input onclick="jsCall();" id="jsProxy" type="hidden"&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-783019210324321230?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/783019210324321230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=783019210324321230' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/783019210324321230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/783019210324321230'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2009/06/links-to-useful-blogsforums.html' title='Links to useful BizTalk server blogs/forums'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-895492761092653093</id><published>2009-05-23T08:31:00.000-07:00</published><updated>2009-05-23T08:57:05.356-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk server'/><title type='text'>Tips and tricks for better BizTalk programming.</title><content type='html'>I found this article on the MSDN on tips for better BizTalk programming. All the tips are very well described with the reason to follow and the results we get following them.&lt;br /&gt;Follow this link to find the original article: &lt;span style="color: rgb(0, 153, 0);"&gt;http://msdn.microsoft.com/en-us/magazine/cc163423.aspx&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is the list of tips, the article talks about:&lt;br /&gt;&lt;br /&gt;1. Always Use Multi-Part Message Types&lt;br /&gt;2. Always Try to Design Orchestrations with Direct-Bound Ports&lt;br /&gt;3. Always Use Separate Internal and External Schemas&lt;br /&gt;4. Never Expose Your Internal Schemas Directly in WSDL&lt;br /&gt;5. Always Optimize the BizTalk Registry for Web Services&lt;br /&gt;6. Always Set the Assembly Key File with a Relative Path&lt;br /&gt;7. Never Overlook Free Sample Code&lt;br /&gt;8. Debug XSLT in Visual Studio&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-895492761092653093?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/895492761092653093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=895492761092653093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/895492761092653093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/895492761092653093'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2009/05/tips-and-tricks-for-better-biztalk.html' title='Tips and tricks for better BizTalk programming.'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-8657343915812711855</id><published>2009-05-19T06:56:00.000-07:00</published><updated>2009-07-10T02:47:44.565-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pipelines'/><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk server'/><title type='text'>Error messgae: You have selected an invalid pipeline component assembly. Please check security settings for the assembly if you are loading it from...</title><content type='html'>&lt;div&gt;Once I finished writing code for a small custom pipeline component and then tried to add the same component in the pipeline designer in visual studio, I faced this error:&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;You have selected an invalid pipeline component assembly. Please check the security settings for the assembly if you are loading it from UNC path.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;/span&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;The error didn't tell any useful information. So I searched on the net for the possible reasons and solutions. And to my surprise, I got different reasons/solutions on each blog/forum. I'm consolidating them here. For all the following reasons, you will get the same error. &lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;br /&gt;1. The custom pipeline component class should be declared as public. If you make it private, you get this error.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;2. The custom pipeline component couldn't find a referenced dll. You must ensure that all referenced assemblies by this pipeline component are located under the same directory of our pipeline component dll or in the GAC.&lt;br /&gt;&lt;br /&gt;3. There is something wrong with the namespaces or the component name of the resource file while creating ResourceManager object. If you are using resource file in the pipeline component, and specify the wrong namespace or component name while referring to resource file, you get this error. Check the namespace and component specified while creating the ResourceManager object.&lt;br /&gt;&lt;br /&gt;4. When custom pipeline component doesn't implement all the needed interfaces. Check if your component implements all the needed interfaces. And make sure that the class is decorated with all the needed attributes.&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);font-family:Tahoma;font-size:11;"  &gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-8657343915812711855?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/8657343915812711855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=8657343915812711855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8657343915812711855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8657343915812711855'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2009/05/error-messgae-you-have-selected-invalid.html' title='Error messgae: You have selected an invalid pipeline component assembly. Please check security settings for the assembly if you are loading it from...'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-1096688004781113094</id><published>2009-04-20T00:45:00.000-07:00</published><updated>2009-04-20T00:54:33.987-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net'/><title type='text'>.Net interview questions from scribd</title><content type='html'>You can read the same pdf from &lt;a href="http://www.scribd.com/doc/3067415/DOT-NET-Interview-Question-Answer"&gt;original source&lt;/a&gt;. To access it easily and see the larger size, I have embedded the pdf here.&lt;br /&gt;&lt;a style="MARGIN: 12px auto 6px; DISPLAY: block; FONT: 14px Helvetica, Arial, Sans-serif; TEXT-DECORATION: underline; font-size-adjust: none; font-stretch: normal; -x-system-font: none" title="View DOT NET Interview Question Answer on Scribd" href="http://www.scribd.com/doc/3067415/DOT-NET-Interview-Question-Answer"&gt;&lt;/a&gt;&lt;object style="WIDTH: 100%; HEIGHT: 878px" id="doc_723531358170199" name="doc_723531358170199" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" align="middle" height="878" rel="media:document" resource="http://d.scribd.com/ScribdViewer.swf?document_id=3067415&amp;amp;access_key=key-wsnqv73fxtrux04157l&amp;amp;page=1&amp;amp;version=1&amp;amp;viewMode=" media="http://search.yahoo.com/searchmonkey/media/" dc="http://purl.org/dc/terms/"&gt;&lt;param name="_cx" value="17992"&gt;&lt;param name="_cy" value="23230"&gt;&lt;param name="FlashVars" value=""&gt;&lt;param name="Movie" value="http://d.scribd.com/ScribdViewer.swf?document_id=3067415&amp;amp;access_key=key-wsnqv73fxtrux04157l&amp;amp;page=1&amp;amp;version=1&amp;amp;viewMode="&gt;&lt;param name="Src" value="http://d.scribd.com/ScribdViewer.swf?document_id=3067415&amp;amp;access_key=key-wsnqv73fxtrux04157l&amp;amp;page=1&amp;amp;version=1&amp;amp;viewMode="&gt;&lt;param name="WMode" value="Opaque"&gt;&lt;param name="Play" value="-1"&gt;&lt;param name="Loop" value="-1"&gt;&lt;param name="Quality" value="High"&gt;&lt;param name="SAlign" value="LT"&gt;&lt;param name="Menu" value="-1"&gt;&lt;param name="Base" value=""&gt;&lt;param name="AllowScriptAccess" value="always"&gt;&lt;param name="Scale" value="NoScale"&gt;&lt;param name="DeviceFont" value="0"&gt;&lt;param name="EmbedMovie" value="0"&gt;&lt;param name="BGColor" value="FFFFFF"&gt;&lt;param name="SWRemote" value=""&gt;&lt;param name="MovieData" value=""&gt;&lt;param name="SeamlessTabbing" value="1"&gt;&lt;param name="Profile" value="0"&gt;&lt;param name="ProfileAddress" value=""&gt;&lt;param name="ProfilePort" value="0"&gt;&lt;param name="AllowNetworking" value="all"&gt;&lt;param name="AllowFullScreen" value="true"&gt;&lt;br /&gt;                                       &lt;embed src="http://d.scribd.com/ScribdViewer.swf?document_id=3067415&amp;access_key=key-wsnqv73fxtrux04157l&amp;page=1&amp;version=1&amp;viewMode=" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" play="true" loop="true" scale="showall" wmode="opaque" devicefont="false" bgcolor="#ffffff" name="doc_723531358170199_object" menu="true" allowfullscreen="true" allowscriptaccess="always" salign="" type="application/x-shockwave-flash" align="middle" height="500" width="100%"&gt;&lt;/embed&gt;             &lt;span rel="media:thumbnail" href="http://i.scribd.com/profiles/images/ghbkvfz1fy31w-thumb.jpg"&gt;       &lt;span property="media:title"&gt;DOT NET Interview Question Answer&lt;/span&gt;   &lt;span property="dc:creator"&gt;Dnyanesh&lt;/span&gt;       &lt;span property="dc:type" content="Text"&gt;    &lt;/object&gt;&lt;div style="MARGIN: 6px auto 3px; DISPLAY: block; FONT: 12px Helvetica, Arial, Sans-serif; font-size-adjust: none; font-stretch: normal; -x-system-font: none"&gt;&lt;a style="TEXT-DECORATION: underline" href="http://www.scribd.com/upload"&gt;Publish at Scribd&lt;/a&gt; or &lt;a style="TEXT-DECORATION: underline" href="http://www.scribd.com/browse"&gt;explore&lt;/a&gt; others: &lt;a style="TEXT-DECORATION: underline" href="http://www.scribd.com/explore/School-Work/"&gt;School Work&lt;/a&gt; &lt;a style="TEXT-DECORATION: underline" href="http://www.scribd.com/explore/Books/Nonfiction"&gt;Non-fiction&lt;/a&gt; &lt;a style="TEXT-DECORATION: underline" href="http://www.scribd.com/tag/History-Technology"&gt;History-Technology&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-1096688004781113094?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/1096688004781113094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=1096688004781113094' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/1096688004781113094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/1096688004781113094'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2009/04/you-can-read-same-pdf-from-original.html' title='.Net interview questions from scribd'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-8702798897649867985</id><published>2009-03-19T23:19:00.000-07:00</published><updated>2009-03-19T23:32:50.754-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk server'/><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk Adapter'/><title type='text'>Runtime Error : Unable to load DLL (BAUtil.dll). Error while using BizTalk Adapter For Enterprise Applications.</title><content type='html'>While using BizTalk adapter for Enterprise applications with Biztalk server 2006, we get these errors in the eventlog without any additional information:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;1. Runtime error: Unable to load DLL (BAUtil.dll).&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;2. RuntimeAgent: Error trapped in constructor: No connection could be made because the target machine actively refused it.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To get rid of this error, we need to grant the permission for the biztalk adapter config key registry to the domain user account or domain group which is used while configuring the BizTalk server. To do that follow these steps:&lt;br /&gt;&lt;br /&gt;1. Open registry editor (Run -&gt; regedit)&lt;br /&gt;2. Locate the registry key HKEY_LOCAL_MACHINE\Software\Microsoft\BizTalkAdapters\Config&lt;br /&gt;3. Grant the permission for this key to the user account or domain group which you used to configure the biztalk server.&lt;br /&gt;4. Restart the biztalk host instance.&lt;br /&gt;&lt;br /&gt;Hope this helps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-8702798897649867985?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/8702798897649867985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=8702798897649867985' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8702798897649867985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8702798897649867985'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2009/03/runtime-error-unable-to-load-dll.html' title='Runtime Error : Unable to load DLL (BAUtil.dll). Error while using BizTalk Adapter For Enterprise Applications.'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-2992866885839416529</id><published>2009-03-12T05:51:00.000-07:00</published><updated>2009-03-12T06:06:18.789-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk server'/><title type='text'>BizTalk server: Cannot perform encryption or decryption because the secret is not available from the master secret server.</title><content type='html'>In the BizTalk administration console, we get this error:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;Cannot perform encryption or decryption because the secret is not available from the master secret server. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Reason&lt;/span&gt;: This happens mainly when you reset the password for the account under which you run the Enterprise SSO. BizTalk server can not access the old backup file for Enterprize SSO settings, because the file is created with the old credentials of that account.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solution&lt;/span&gt;: Follow these steps:&lt;br /&gt;&lt;p&gt;1. Open command prompt:&lt;/p&gt;&lt;p&gt;2. Go  to c:\Program Files\Common Files\Enterprise Signle Sign-on\&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;3. You will find a .bak file there. This is a backup file. You need to reset the settings for this backup file, for which you need the old password for the account under which you run the Enterprise SSO. Type:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ssoconfig&lt;/strong&gt;  -restoreSecret SSO111.bak (give the name of .bak file present)&lt;/p&gt;&lt;p&gt;4. This will ask the password. Here you need to enter the old password.&lt;/p&gt;&lt;p&gt;5.  On success, type:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ssoconfig&lt;/strong&gt; -backupSecret newBackup.bak (this will be your new backup file)&lt;/p&gt;&lt;p&gt;6. This will ask the password. Now give the new password. This will end up creating the backup of latest Enterprise SSO settings.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;This should solve the problem. Hope this helps.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-2992866885839416529?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/2992866885839416529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=2992866885839416529' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/2992866885839416529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/2992866885839416529'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2009/03/biztalk-server-cannot-perform.html' title='BizTalk server: Cannot perform encryption or decryption because the secret is not available from the master secret server.'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-4193036701094820645</id><published>2009-02-24T22:18:00.000-08:00</published><updated>2009-03-21T11:29:49.009-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>WCF Load Test tool</title><content type='html'>I found this tool very helpful to stress test the WCF services. Its easy to use. You can find the description and download here: &lt;a href="http://www.codeplex.com/WCFLoadTest"&gt;http://www.codeplex.com/WCFLoadTest&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-4193036701094820645?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/4193036701094820645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=4193036701094820645' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/4193036701094820645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/4193036701094820645'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2009/02/wcf-load-test-tool.html' title='WCF Load Test tool'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-8353629708254551215</id><published>2008-10-18T12:30:00.000-07:00</published><updated>2008-10-18T12:51:56.034-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Debugging Tools for Windows</title><content type='html'>In the course of detecting and solving a memory leak problem, I came across debugging tools for windows, the set of a powerful, somewhat hard to use but free tools from Microsoft. The owner team of these tools keep adding interesting tools in this set, without any major announcement, so don't forget to get the latest set of tools. You can download them and read more information about them here:&lt;br /&gt;&lt;br /&gt;http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx&lt;br /&gt;&lt;br /&gt;I was  really frustated when I used them first, and amazed when I understood their power!!&lt;br /&gt;&lt;br /&gt;I mainly worked with WinDbg, SOS and UMDH.  WinDbg (and SOS, they are used combinely) is really hard to use for newbie, while umdh is simple to use. With windbg, you can attach to any process and play with that process live, like checking all the threads, their memory consumption, CPU consumption etc. Also, you can open the memory dumps created in the production environment and work with them as you are working live in the production environment. So you can check the actual status of the process when it crashed.&lt;br /&gt;&lt;br /&gt;Using UMDH, you can attach to a process, can take memory dumps and can compare these dumps to check out which calls are allocating memory, which memory is not deallocated over a period of time, to guess the culprit for the memory leak in the code.&lt;br /&gt;&lt;br /&gt;I know this post wont help you to use these tools. But this is just the intro to these tools. I will write in detail about them some time later, once I use them again and know them better (I feel like I've forgot many commands to use them).  Still I dont know many commands and their power fully. But I will try to put down the common uses of these tools, common problems people usually face and the common approach to debug those problems. But not now. You need to wait for some more time.&lt;br /&gt;&lt;br /&gt;Till that, download and try to explore them on your own. Happy debugging!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-8353629708254551215?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/8353629708254551215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=8353629708254551215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8353629708254551215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8353629708254551215'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/10/debugging-tools-for-windows.html' title='Debugging Tools for Windows'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-973232867151136495</id><published>2008-10-11T04:14:00.000-07:00</published><updated>2008-10-11T04:29:12.166-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Products'/><title type='text'>Partychat feature in gmail/gtalk</title><content type='html'>Google introduced the feature of group chats in GTalk/Gmail lately. That was the feature I was waiting for long time along with "Invisible Mode" feature (like Yahoo messenger).&lt;br /&gt;&lt;br /&gt;But even before Google launched the feature of Group chat, it was possible to chat in groups. Akshay Patil, a developer in Google, along with other people developed a feature called partychat, which is available now also. It works great. You can create a chat room in it, can make it password protected - so only those poeple can join the group who has the password.&lt;br /&gt;&lt;br /&gt;To give a try, just give invitation to partychat@gmail.com. This is a bot and will accept your friend request within less than a minute. Then open the chat window with this partychat and write /commands to get help about all the command for partychat. Thats it!!!&lt;br /&gt;&lt;br /&gt;Go ahead and give a try to this coooooool feature. I really loved it.&lt;br /&gt;Still I'm hopping to get a feature like searching the public chat rooms like Yahoo messenger, where people create the public chat room, which anybody (unaware of it's name) can search and join.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-973232867151136495?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/973232867151136495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=973232867151136495' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/973232867151136495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/973232867151136495'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/10/partychat-in-gmailgtalk.html' title='Partychat feature in gmail/gtalk'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-5533916800676673682</id><published>2008-10-10T11:51:00.000-07:00</published><updated>2008-10-10T11:56:58.123-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Others'/><title type='text'>Label Cloud</title><content type='html'>You can see the Label Cloud on the left hand side of my blog, which enlists all the labels from the blog alphabetically with size proportional to number of blogs related to that label.&lt;br /&gt;&lt;br /&gt;Its easy to add such a Label Cloud. Just search for Label Cloud on net and get a two step procedure to add the label cloud to your blog. There are many blogs around this topic, all explaining more or less same procedures with some extra features.&lt;br /&gt;&lt;br /&gt;Go ahead and add such a cool Label Cloud to your blog!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-5533916800676673682?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/5533916800676673682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=5533916800676673682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/5533916800676673682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/5533916800676673682'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/10/label-cloud.html' title='Label Cloud'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-1904478239918630988</id><published>2008-09-09T05:46:00.000-07:00</published><updated>2008-10-13T06:40:39.191-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# code snippets'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Writing a custom web part for MOSS in C# - 1</title><content type='html'>Microsoft Office Sharepoint Server (MOSS) comes with many useful out-of-the-box web parts, which we can use without writing a single line of code!! But sometimes the available web parts don't satisfy your requirements. Writing a custom web parts will help you in this scenario.&lt;br /&gt;&lt;br /&gt;I'll write how to write a custom web part and how to use it. Lets start writing a very very simple custom web part. We will print "Hello World" on the web page using web part (as every one does with their first experience of new language :)).&lt;br /&gt;&lt;br /&gt;1 .Create a "Class Library" project in Visual Studio.&lt;br /&gt;&lt;br /&gt;2. Visual studio will create a simple class.&lt;br /&gt;&lt;br /&gt;3. Add reference to System.Web.dll&lt;br /&gt;&lt;br /&gt;4. Now, derive your class from WebPart class System.Web.UI.WebControls.WebParts.WebPart).&lt;br /&gt;&lt;br /&gt;5. Override the function Render. With the help of writer passed to the render function, write Hello World.&lt;br /&gt;&lt;br /&gt;The code will look like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;using System;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;using System.Collections.Generic;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;using System.Text;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;using System.Web.UI.WebControls.WebParts;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;namespace CustomWebParts&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;{ &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;public class HelloWorld: WebPart &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;protected override void Render( System.Web.UI.HtmlTextWriter writer) &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;writer.Write(" Hello World "); &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;6. Now compile and build the project.&lt;br /&gt;&lt;br /&gt;7. Copy the generated dll into the folder : C:\Inetpub\wwwroot\wss\VirtualDirectories\[portNo]&lt;portnumber&gt;\bin&lt;br /&gt;portNo is the port number on which your Shared Service Provider resides. You can get that in URI for the main page of your shared service provider.&lt;br /&gt;&lt;br /&gt;8. Open the web.config present in C:\Inetpub\wwwroot\wss\VirtualDirectories\[portNo]&lt;portnumber&gt; folder and add this entry:&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt; assembly="Name of the Assembly Generated" namespace="CustomWebParts" typename="*" safe="True"&gt;&lt;/span&gt; under "SafeControls" tag.&lt;br /&gt;&lt;br /&gt;9. Now, go to the main page of the SSP.&lt;br /&gt;&lt;br /&gt;10. Select Site Actions -&gt; Site Settings in top right corner.&lt;br /&gt;&lt;br /&gt;11. Click on WebParts in Galleries section. Click on New to make a new custom webpart.&lt;br /&gt;&lt;br /&gt;12. Information about Custom WebPart Would be given in section: Web Part Type Name column. Select the webpart and Populate the gallery.&lt;br /&gt;&lt;br /&gt;13. The custom web part is ready to use!!!.&lt;br /&gt;&lt;br /&gt;You will find the Custom Web Part under the heading : Miscellaneous.&lt;/portnumber&gt;&lt;/portnumber&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-1904478239918630988?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/1904478239918630988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=1904478239918630988' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/1904478239918630988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/1904478239918630988'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/09/writing-custom-web-part-for-moss-in-c.html' title='Writing a custom web part for MOSS in C# - 1'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-2836937285231373072</id><published>2008-08-25T22:38:00.001-07:00</published><updated>2008-10-13T06:40:25.174-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>How to enable WCF performance counters using config file</title><content type='html'>We need to enable WCF (Windows Communication Founation) performance counters so as to see them in PerfMon in runtime. It's very simple to do using config file.&lt;br /&gt;Just add following configuration setting in config file.&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:'Courier New';font-size:10;"   lang="EN"&gt;&lt; &lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:10;"   lang="EN"&gt;system.serviceModel &lt;/span&gt;&lt;span style=";font-family:'Courier New';font-size:10;"   lang="EN"&gt;&gt;&lt;br /&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt; performancecounters="All"&gt;&lt;br /&gt;&lt; /system.serviceModel &gt;&lt;/span&gt;&lt;system.servicemodel&gt;&lt;br /&gt;&lt;br /&gt;Thats it!!!&lt;/system.servicemodel&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-2836937285231373072?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/2836937285231373072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=2836937285231373072' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/2836937285231373072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/2836937285231373072'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/08/how-to-enable-wcf-performance-counters.html' title='How to enable WCF performance counters using config file'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-2393457044914720963</id><published>2008-08-19T01:49:00.000-07:00</published><updated>2008-10-13T06:40:13.872-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Maximum connections to WCF service.</title><content type='html'>If you have a multithreaded client application hitting the WCF service, you might see the number of simultaneous connections to service are not increasing after some limit. You might need to tak a look at serviceThrottling behavior of the WCF service.&lt;br /&gt;Check out this simple blog for understanding this behavior: &lt;a href="http://kennyw.com/indigo/150"&gt;http://kennyw.com/indigo/150&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The default values of maxConcurrentCalls, maxConcurrentSessions and maxConcurrentInstances attributes of the serviceThrottling behavior are as follows:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt; maxConcurrentCalls="16"      &lt;br /&gt;maxConcurrentSessions="10"   &lt;br /&gt;maxConcurrentInstances="int32.maxvalue"&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;You might need to change those values.&lt;br /&gt;To undersrand the instancing and sessions, take a look at: &lt;a href="http://kennyw.com/indigo/178"&gt;http://kennyw.com/indigo/178&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'll write more on this once I get the time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-2393457044914720963?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/2393457044914720963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=2393457044914720963' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/2393457044914720963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/2393457044914720963'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/08/maximum-connections-to-wcf-service.html' title='Maximum connections to WCF service.'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-5911796323681649897</id><published>2008-07-24T10:27:00.000-07:00</published><updated>2008-12-10T16:27:21.565-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>MOSS: Problem in Manage Server Settings for Single Sign-On</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_UwBdN26S3Rs/SIi90uxl_JI/AAAAAAAAAT4/ajUN8Xujav8/s1600-h/snap.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5226636081170349202" style="margin: 0px auto 10px; display: block; width: 520px; height: 206px; text-align: center;" alt="" src="http://2.bp.blogspot.com/_UwBdN26S3Rs/SIi90uxl_JI/AAAAAAAAAT4/ajUN8Xujav8/s400/snap.bmp" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;In Microsoft Office Sharepoint Server, while setting the Server Settings for SSO under the page "Manage Server Settings for Single Sign-On", you might come across 2 problems:&lt;br /&gt;&lt;br /&gt;1. You might get the error saying that SSO service is not running. For solve this error, open the servies by typing services.msc in Run prompt and start the service "Microsoft Single Sign-on Service".&lt;br /&gt;&lt;br /&gt;2. While saving the settings, it may prompt the error: You do not have rights to perform this operation. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;To solve this error, you need to add youself to all the user groups related to Sharepoint. Then in the services window, right click the Microsoft Single Sign-on Service", and open the properties. Under the Log On tab, for Log on as option, choose "This account" option and give your credentials. After this is successful, restart that service.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-5911796323681649897?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/5911796323681649897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=5911796323681649897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/5911796323681649897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/5911796323681649897'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/07/moss-problem-in-manage-server-settings.html' title='MOSS: Problem in Manage Server Settings for Single Sign-On'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UwBdN26S3Rs/SIi90uxl_JI/AAAAAAAAAT4/ajUN8Xujav8/s72-c/snap.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-7780154661896968347</id><published>2008-07-22T02:49:00.000-07:00</published><updated>2008-09-02T04:25:11.258-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# code snippets'/><title type='text'>Using .Net threadpool</title><content type='html'>Using .Net threadpool is easy and useful. There is a static class Threadpool in the namespace  &lt;a id="ctl00_rs1_mainContentContainer_ctl02" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00ctl00_rs1_mainContentContainer_ctl02',this);" href="http://msdn.microsoft.com/en-us/library/system.threading.aspx"&gt;System.Threading&lt;/a&gt;.&lt;br /&gt;Suppose you want to call a function void foo(Object o) from a new thread. Then you call the function:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;ThreadPool.QueueUserWorkItem((new WaitCallback(foo), i);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;from the main program. 'i' will be passed as argument. You can pass any information through "i". Make sure that you &lt;strong&gt;dont &lt;/strong&gt;specify "()" after foo as we do while calling the function. Threads generated using threadpool class are bacnground threads. So, these threads exists as soon as calling program exits. To make the calling program waiting for the threads to exit, you can use&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;WaitHandle.WaitAll(userRequest);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;where, userRequest is an array of ManualResetEvent objects. Before creating the thread, call&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;userRequest[i] = new ManualResetEvent(false);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;in caller program, so that caller program can wait on that thread using WaitAll() function. To set the userRequest event at the end of thread, call&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;userRequest[i].Set();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;from the thread (function which will be executed by the thread).&lt;br /&gt;Following is a small program showing how to use the thread pool class:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;class bar&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;  static ManualResetEvent[] userRequest; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;  public static void Main(string[] args)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;  {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;     userRequest = new ManualResetEvent[2]; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    // we are creating 2 threads.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;     for(int i=0;i&lt;2;i++)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;          userRequest[i] = new ManualResetEvent(false);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;          ThreadPool.QueueUserWorkItem((new WaitCallback(foo), i);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;     }&lt;br /&gt;     WaitHandle.WaitAll(userRequest);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;   }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;   static void foo(Object threadNo)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;   {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;        // do something....&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;       userRequest[(int)threadNo].Set();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;   }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-7780154661896968347?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/7780154661896968347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=7780154661896968347' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/7780154661896968347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/7780154661896968347'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/07/using-net-threadpool.html' title='Using .Net threadpool'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-8239050451797951313</id><published>2008-06-23T05:02:00.000-07:00</published><updated>2008-09-02T04:24:57.716-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>(Re)Setting browser cahing in WebTest/LoadTest (VSTS 2008)</title><content type='html'>While running the recorded web tests in VSTS, we can set or reset the browser (there is no browser as such, but VSTS mimics the browser) caching as per requirement.&lt;br /&gt;&lt;br /&gt;In some scenarios, we need to compute the time reqiured for request to go and come back to web client, and need to run the test multiple time. In this case, we should reset the browser caching. While in other realistic scenarios, where we need to simulate the actual production environment where requests are cached, we should set the browser caching on.&lt;br /&gt;&lt;br /&gt;We can set/reset the caching of browser by using the property "Cache Control" of web request that is a part of webtest. If this property is set to True, browser caches the requests. If it is set to false, browser (rather VSTS) makes a fresh request to the server.&lt;br /&gt;&lt;br /&gt;In case of LoadTest, if the Cache Control (i will refer it as CC hereonwards) property is set to true for any requests, the CC property is automatically set to true for all dependent requests.&lt;br /&gt;&lt;br /&gt;  In a load test, the browser caching behavior is simulated separately for each user running in the load test. When a virtual user in a load test completes a Web test and a new Web test session is started to keep the user load at the same level, sometimes the load test starts simulates a “new user” with a clean cache, and sometimes the load test simulates a return user that has items cached from a previous session. This is determined by the “Percentage of New Users” property on the Scenario in the load test. The default for “Percentage of New Users” is 100 in which case all user sessions are started with a clean cache. This is probably not correct for most applications where there are return users, so users should consider the most appropriate value to use for this setting depending on the actual usage of the application being load tested.&lt;br /&gt;&lt;br /&gt;In web test the CC property is set to false by default. So while running the WebTest on its own (and not through LoadTest), every request goes to server.&lt;br /&gt;&lt;br /&gt;In LoadTest, if you want to disable caching of all dependent requests and always fetch them, you can so by adding the following WebTestPlugin to your Web test:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;public class MyWebTestPlugIn : WebTestPlugin&lt;br /&gt;{&lt;br /&gt;     public override void PostRequest(object sender, PostRequestEventArgs e)&lt;br /&gt;     {&lt;br /&gt;           foreach (WebTestRequest dependentRequest in e.Request.DependentRequests)&lt;br /&gt;           {&lt;br /&gt;                dependentRequest.Cache = false;&lt;br /&gt;           }&lt;br /&gt;     }&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-8239050451797951313?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/8239050451797951313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=8239050451797951313' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8239050451797951313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8239050451797951313'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/06/resetting-browser-cahing-in.html' title='(Re)Setting browser cahing in WebTest/LoadTest (VSTS 2008)'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-3669736279613448239</id><published>2008-06-07T12:19:00.000-07:00</published><updated>2009-09-15T04:25:29.843-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Products'/><title type='text'>New features in Orkut...</title><content type='html'>I'm a regular user of Orkut. Orkut team keeps adding interesting features in Orkut, to make it more and more popular. I've seen many changes in Orkut in last 3 years since I joined it, so thought to note down the time when the particular feature is introduced. I will keep updating the same post as Orkut comes with more and more features.&lt;br /&gt;&lt;br /&gt;Some of the features which were not there when I joined Orkut 3 years back are (not ordered as they introduced) showing GTalk online/busy status of a friend on Orkut, updates of friend's profile (which is really cool), privacy to fotos and then privacy to scraps, mutual friends among you and any user, recent visitors and their statistics etc.&lt;br /&gt;&lt;br /&gt;Now these are the features which are recently added:&lt;br /&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,153,0)"&gt;May 2008 : Applications.&lt;/span&gt; You can write down the applications or use the existing applications. This feature is already present in Facebook.&lt;br /&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,153,0)"&gt;June 2008: Tag the foto.&lt;/span&gt; You can tag any person in any foto and link that tag in the foto to that user's profile. So I can tag myself in my friends foto album and can link that tag to my profile. What's the use of this feature? If I found someone interesting in some foto of someone elses' album, and that person is tagged, I can reach to that interesting person through tag. Its a cool feature. Again, it is already present in Facebok.&lt;br /&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,153,0)"&gt;June 2008: Community Recommendations. &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,0)"&gt;Its just 4 to 5 days, they introduced the - tag the foto - feature. Now this is something new. Orkut recommends some communities you to join. It appears on your home page with the heading: community recommendations. I haven't figured out which communities they recommend, and on which basis they recommend, since I haven't taken a close look. I will figure it out and post it as soon as possible.&lt;br /&gt;[12th June] I came to know that Orkut suggests you the following communities :&lt;br /&gt;1. The communities related (topic wise and category wise) to other communities which you have already joined. And/Or&lt;br /&gt;2. The communities which has maximum number of your friends as members.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,153,0)"&gt;June 2008: Lighter version of Orkut. &lt;/span&gt;&lt;span style="COLOR: rgb(0,0,0)"&gt;Just like the HTML version of gmail, Orkut now has lighter version. So, if its taking so much time to load the Orkut page, you can switch to lighter version, which removes all the images (images of friends, communities, upcoming birthdays etc except your picture :)) from the Orkut page and shows only the links. You can set that in settings. This is not much impressive feature, but then its good for those who have low bandwidth connection. Good move Team Orkut!!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,153,0)"&gt;Sept 2008: Fotos&lt;/span&gt; in the Orkut album take too much time to load, which was not the case some days ago. It seems they have started using some new (embedded) tool to show the fotos (you can see the loading symbol). This is really annoying. I don't see any plus point in the album fotos loading, so why Orkut started using some new method which is worse than the older method?&lt;br /&gt;My friend says, the foto loading time is same as the previous one, but previously orkut didn't show the foto till it loads the foto completely, while now, it shows the blurred version of the foto, as soon as it starts loading the foto (which gave me the impression that foto loading time is increased.)&lt;br /&gt;Now I can think of a positive thing about this feature: I need not wait to load a foto completely, which I'm not interested in. I can see the blurred version, (find that it's not the foto I'm interested in / I'm searching for ) and go ahead with the next foto in the album or move out of album!! Good going Orkut team. You rock.&lt;br /&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,153,0)"&gt;Sept 2008:&lt;/span&gt; I can't see "community recommendations" feature (instroduced in June'08) anymore in the orkut. It seems it didn't get a good response.&lt;br /&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,153,0)"&gt;21st Oct 2008: &lt;/span&gt;"View this conversation" Today Orkut launched a new feature, again the useful feature, which I was waiting for. In this feature, Orkut generates a link to a page : View this conversation in some scraps (These scraps are generally the recent scrap in your conversation with your friend). If you click that link, you can see the conversation with that friend in chatting mode (the scraps from both the ends are arranged sequentially by time). It's good, but not yet bug free. By that I mean, it doesnt show all the scraps went in both the directions all the time, it shows links to same conversation multiple times in different scraps of same conversation.&lt;br /&gt;I've never seen google product with such simple bug. (might be I'm wrong and this is a feature, which I'm not understanding now.)&lt;br /&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,153,0)"&gt;Dec 2008:&lt;/span&gt; Gmail chatting integrated in Orkut - The small chat window which we use to chat in gmail (which comes at right bottom of the explorer window by default) is integrated in orkut now. So you can chat to your orkut friends through this window. They have some settings regarding whom do you want to chat and all. Some points that I couldn't understand: Currently, if I start chatting in gmail/orkut window, same contents come in other window also, which is annoying. Might be theres some setting, that I dont know. Anyways, once again a simple feature but good usability from Orkut team. Keep going orkut!!!&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;March 2009&lt;/span&gt;: Adding photo in a scrap - Now you can add a photo in a scrap. You can pick up this photo from a local computer, picasa web album or some image from web. I guess - before also -you could add photo in a scrap by using some hacks (I dont know them, and never tried to learn them), but those were not orkut official features. I think orkut took a long time to come up with this feature, which must be easy to implement and cool to use, I guess.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;April 2009: &lt;/span&gt;&lt;span style="color:#000000;"&gt;Online friends list:&lt;/span&gt; Till now, one could see whether his particular friend is online by checking the color of the dot near the name of that friend (if the color of that status dot is green, that means friend is available/online). In gmail/gatlk we can see the list of names of friends and their status (available/busy/inactive). The same list in incorporated in orkut home page recently. This list appears at bottom left of the home page and has exactly same interface as that of gmail list. Once again, easy to implement and useful feature from Orkut team. Keep going team orkut!!&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;September 2009: &lt;/span&gt;&lt;span style="color:#000000;"&gt;This will be my last update on this post, as I have deleted my orkut account. For many days Orkut team didnt add any exciting feature. Also I got bored with Orkutting :). Over and out!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-3669736279613448239?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/3669736279613448239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=3669736279613448239' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/3669736279613448239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/3669736279613448239'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/06/new-features-in-orkut.html' title='New features in Orkut...'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-3735541579402241893</id><published>2008-05-26T04:16:00.000-07:00</published><updated>2008-12-10T16:27:21.754-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Office Sharepoint 2007 Installation on Windows Server 2008 throws an error: "This program is blocked due to compatibility issues"</title><content type='html'>While trying to install Microsoft Office Sharepoint Server 2007 (MOSS 2007) on Windows Server 2008 (Windows Server Longhorn), it throws an error:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;This program is blocked due to compatibility issues.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_UwBdN26S3Rs/SDqc_Uw2LxI/AAAAAAAAAS8/EHTBTWIYD1M/s1600-h/error.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5204644931099307794" style="margin: 0px auto 10px; display: block; width: 453px; height: 221px; text-align: center;" alt="" src="http://4.bp.blogspot.com/_UwBdN26S3Rs/SDqc_Uw2LxI/AAAAAAAAAS8/EHTBTWIYD1M/s400/error.bmp" width="449" border="0" height="192" /&gt;&lt;/a&gt;&lt;br /&gt;Follow the steps:&lt;br /&gt;&lt;br /&gt;1. Download and install : &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ef93e453-75f1-45df-8c6f-4565e8549c2a&amp;amp;DisplayLang=en"&gt;Windows SharePoint Services 3.0 with Service Pack 1&lt;/a&gt;&lt;br /&gt;2. Download : &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ad59175c-ad6a-4027-8c2f-db25322f791b&amp;amp;DisplayLang=en"&gt;2007 Microsoft Office Servers Service Pack 1 (SP1)&lt;/a&gt; it to c:\temp folder.&lt;br /&gt;3. Extract this exe. To do so, run this command from command prompt:&lt;br /&gt; c:\temp\Officeserver2007sp1-kb936984-x86-fullfile-en-us.exe /extract:c:\temp1&lt;br /&gt; This extracts the installation contents into folder c:\temp1&lt;br /&gt;4. Copy all the contents of c:\temp1 into "Update" folder of sharepoint server. (There will be an Update folder inside installation folder of shrepoint server.)&lt;br /&gt;5. Resume the installation again.&lt;br /&gt;&lt;br /&gt;This should solve the problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-3735541579402241893?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/3735541579402241893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=3735541579402241893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/3735541579402241893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/3735541579402241893'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/05/office-sharepoint-2007-installation-on.html' title='Office Sharepoint 2007 Installation on Windows Server 2008 throws an error: &quot;This program is blocked due to compatibility issues&quot;'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UwBdN26S3Rs/SDqc_Uw2LxI/AAAAAAAAAS8/EHTBTWIYD1M/s72-c/error.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-235854779622881178</id><published>2008-05-25T02:26:00.000-07:00</published><updated>2008-10-13T06:39:13.805-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>'Microsoft.ServiceModel.Samples.CalculatorService', provided as the Service attribute value in the ServiceHost directive could not be found</title><content type='html'>In  the WCF Service Samples available on MSDN, we get the error while accessing the service deployed (for the first time) as:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;"The type 'Microsoft.ServiceModel.Samples.CalculatorService', provided as the Service attribute value in the ServiceHost directive could not be found."&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Search the Setup folder in the samples. and run following commands from the language specific folder (CS or VB) folder:&lt;br /&gt;  1. cleanupvroot.bat&lt;br /&gt;  2. setupvroot.bat&lt;br /&gt;&lt;br /&gt;This should solve your problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-235854779622881178?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/235854779622881178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=235854779622881178' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/235854779622881178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/235854779622881178'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/05/microsoftservicemodelsamplescalculators.html' title='&apos;Microsoft.ServiceModel.Samples.CalculatorService&apos;, provided as the Service attribute value in the ServiceHost directive could not be found'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-3575470416696599805</id><published>2008-05-23T02:19:00.000-07:00</published><updated>2008-09-02T04:21:43.017-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>App Domains in Loadtest (Visual Studio 2005/2008)</title><content type='html'>When a unit test in the test project is run by itself, a separate application domain is created in the test process for each unit test assembly. There is some overhead associated with marshalling tests and test results across the application domain boundary, so when running unit tests in a load test, the application domain is not created by default. This provides some performance boost in terms of the number of tests per second that the test process can execute before running out of CPU. The only drawback is that if the unit test depends on an app.config file, this doesn’t work without creating the app domain. In this case, you can enable the creation of app domain for the unit tests: in the Load Test editor’s Run Setting’s properties set the property “Run unit tests in application domain” to True.&lt;br /&gt;&lt;br /&gt;P.S. Note that setting the “Run unit tests in application domain” to True creates just one Application Domain for all the threads and not the app domain per thread. So sharing the static variables among those threads is not the issue in this case.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-3575470416696599805?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/3575470416696599805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=3575470416696599805' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/3575470416696599805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/3575470416696599805'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/05/app-domains-in-loadtest-visual-studio.html' title='App Domains in Loadtest (Visual Studio 2005/2008)'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-7206977443203998860</id><published>2008-05-22T00:35:00.000-07:00</published><updated>2008-10-13T06:38:54.111-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Runtime Error: Back-end system adapter returned a structure incompatible with the corresponding metadata</title><content type='html'>While fetching the data from back end server using adapter, MOSS throws the error:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Runtime Error: Back-end system adapter returned a structure incompatible with the corresponding metadata.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;/span&gt;&lt;br /&gt;I got this help on msdn, which didn't work in my case though.&lt;br /&gt;&lt;br /&gt;This error occurs when the return parameter is not correctly defined in the application definition. Check the TypeDescriptor tree and ensure that the IsCollection attribute is correctly set on the return structure, and that it correctly maps the structure returned by the back-end Web method.&lt;br /&gt;&lt;br /&gt;Actually, error occured because the returning structure was not same as expected by BDC Editor/Sharepoint. For instance if the returning structure is DataSet and it is not linked with Finder but with Specific Finder. So, one should make sure that if returning type is dataset, then it is linked with Finder and if return type is a single row or a tuple, SpecificFinder should be used.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-7206977443203998860?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/7206977443203998860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=7206977443203998860' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/7206977443203998860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/7206977443203998860'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/05/runtime-error-back-end-system-adapter.html' title='Runtime Error: Back-end system adapter returned a structure incompatible with the corresponding metadata'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-5217507123693077417</id><published>2008-05-20T02:39:00.000-07:00</published><updated>2008-09-02T04:20:47.344-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Others'/><title type='text'>IM control on the blog.</title><content type='html'>I got the IM control on my blog. You can chat with me from the IM control present on the right side, if you can see me online. Just click 'Begin a conversation' and start!!!&lt;br /&gt;&lt;br /&gt;To add such IM control, visit:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.soulsolutions.com.au/Articles/MessengerIMControlPresence/tabid/123/Default.aspx"&gt;http://www.soulsolutions.com.au/Articles/MessengerIMControlPresence/tabid/123/Default.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-5217507123693077417?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/5217507123693077417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=5217507123693077417' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/5217507123693077417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/5217507123693077417'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/05/im-control-on-blog.html' title='IM control on the blog.'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-3583590267158587621</id><published>2008-05-13T23:01:00.000-07:00</published><updated>2008-09-02T04:19:56.692-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# code snippets'/><title type='text'>Simple file operations in C#</title><content type='html'>Every time I need to do some file operation in C#, I google for it and get the sample code. So thought to write this in my blog, to make it easily available all the time.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Creating a new text file &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;StreamWriter SW;&lt;br /&gt;SW=File.CreateText("&lt;filepath&gt;");&lt;br /&gt;SW.WriteLine("&lt;sample&gt;");&lt;br /&gt;SW.Close();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2.Reading a text file &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;StreamReader SR;&lt;br /&gt;string S;&lt;br /&gt;SR=File.OpenText("&lt;filepath&gt;");&lt;br /&gt;S=SR.ReadLine();&lt;br /&gt;while(S!=null)&lt;br /&gt;{&lt;br /&gt;Console.WriteLine(S);&lt;br /&gt;S=SR.ReadLine();&lt;br /&gt;}&lt;br /&gt;SR.Close();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Appending to a text file &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;StreamWriter SW;&lt;br /&gt;SW=File.AppendText("&lt;filepath&gt;");&lt;br /&gt;SW.WriteLine("&lt;sample&gt;");&lt;br /&gt;SW.Close();&lt;/sample&gt;&lt;/filepath&gt;&lt;/filepath&gt;&lt;/sample&gt;&lt;/filepath&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-3583590267158587621?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/3583590267158587621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=3583590267158587621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/3583590267158587621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/3583590267158587621'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/05/simple-file-operations-in-c.html' title='Simple file operations in C#'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-4892619695418007220</id><published>2008-05-13T12:44:00.000-07:00</published><updated>2008-09-02T04:19:27.583-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><title type='text'>Response timeout</title><content type='html'>While accessing a web page from client, you may come across the error: 'Response timeout'. One of the usual reason behind this error is timeout set by the IIS server. You need to change the time out of that site (assuming you are administrator of site). You can change the timeout of all the site hosted on server or any particular site as follows:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;To set a global WWW or FTP service connection time-out value&lt;br /&gt;&lt;/strong&gt;1. In &lt;a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/b0c14479-83e3-435d-a935-819fe396e7d2.mspx"&gt;IIS Manager&lt;/a&gt;, expand the local computer, right-click the Web Sites or FTP Sites folder, and click Properties.&lt;br /&gt;2. On the Web Site or FTP Site tab, in the Connection timeout box, type the maximum number of seconds that IIS should maintain an idle connection before resetting the connection.&lt;br /&gt;3. For the WWW service, verify that the Enable HTTP Keep-Alives box is selected. For more information, see &lt;a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/d7e13ea5-4350-497e-ba34-b25c0e9efd68.mspx"&gt;Enabling HTTP Keep-Alives&lt;/a&gt;.&lt;br /&gt;4. Click Apply, and then click OK.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;To set a connection time-out value for a specific Web or FTP site&lt;br /&gt;&lt;/strong&gt;1. In &lt;a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/b0c14479-83e3-435d-a935-819fe396e7d2.mspx"&gt;IIS Manager&lt;/a&gt;, expand the local computer, expand the Web Sites or FTP Sites folder, right-click a Web or FTP site, and click Properties.&lt;br /&gt;2. On the Web Site or FTP Site tab, in the Connection timeout box, type the maximum number of seconds that IIS should maintain an idle connection before resetting the connection.&lt;br /&gt;3. For the WWW service, verify that the Enable HTTP Keep-Alives box is selected. For more information, see &lt;a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/d7e13ea5-4350-497e-ba34-b25c0e9efd68.mspx"&gt;Enabling HTTP Keep-Alives&lt;/a&gt;.&lt;br /&gt;4. Click Apply, and then click OK.&lt;br /&gt;&lt;br /&gt;For more information: &lt;a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/31a2f39c-4d59-4cba-905c-60e7af657e49.mspx?mfr=true"&gt;http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/31a2f39c-4d59-4cba-905c-60e7af657e49.mspx?mfr=true&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-4892619695418007220?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/4892619695418007220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=4892619695418007220' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/4892619695418007220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/4892619695418007220'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/05/response-timeout.html' title='Response timeout'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-8168707907829827801</id><published>2008-05-07T06:22:00.000-07:00</published><updated>2008-09-02T04:18:51.112-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# code snippets'/><title type='text'>Thread safety TextWriter</title><content type='html'>I have this statement in my code:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;StreamWriter writer = new StreamWriter("foobar.txt");&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;This code is being called from multiple threads. In such scenario, writing to the file using this writer will not be thread safety, which causes miss of some write statements.&lt;br /&gt;When I searched on net, I got a solution to use 'lock'. But there is simple way to make the write threadsafety is using Synchronized writer in following way:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;TextWriter writer1 = new StreamWriter("foobar.txt");&lt;br /&gt;TextWriter writer = TextWriter.Synchronized(writer1);&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;I can make use of 'writer' to write in different threads with threadsafety.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-8168707907829827801?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/8168707907829827801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=8168707907829827801' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8168707907829827801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8168707907829827801'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/05/thread-safety-textwriter.html' title='Thread safety TextWriter'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-8599824433992431542</id><published>2008-05-07T05:17:00.000-07:00</published><updated>2008-09-02T04:18:09.364-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# code snippets'/><title type='text'>Running shell command from C#</title><content type='html'>To run the shell command from your C# code, use the following code snippet. This code starts the Internet Explorer with &lt;a href="http://www.microsoft.com/"&gt;http://www.microsoft.com/&lt;/a&gt; page.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;System.Diagnostics.Process proc = new System.Diagnostics.Process();&lt;br /&gt;proc.EnableRaisingEvents=false;&lt;br /&gt;proc.StartInfo.FileName="iexplore";&lt;br /&gt;proc.StartInfo.Arguments="&lt;/span&gt;&lt;a href="http://www.microsoft.com/"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;http://www.microsoft.com&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;";&lt;br /&gt;proc.StartInfo.Arguments="&lt;/span&gt;&lt;a href="http://www.microsoft.com/"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;http://www.microsoft.com&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;";&lt;br /&gt;proc.Start();&lt;br /&gt;proc.WaitForExit();&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;We can use other properties of proc.StartInfo as per the requirements. We can remove the last statement, if we just want to start the command process and dont wan't to wait it to exit. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-8599824433992431542?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/8599824433992431542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=8599824433992431542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8599824433992431542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/8599824433992431542'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/05/running-shell-command-from-c.html' title='Running shell command from C#'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-333580735402115355</id><published>2008-04-29T00:28:00.000-07:00</published><updated>2008-10-13T06:38:30.977-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>System.Runtime.Serialization.SerializationException: Maximum number of items that can be serialized or deserialized in an object graph is '65536'.</title><content type='html'>WCF client shows this error while accessing very large data from server:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;System.ServiceModel.Dispatcher.NetDispatcherFaultException: The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter xxx. The InnerException message was 'Maximum number of items that can be serialized or deserialized in an object graph is '65536'. Change the object graph or increase the MaxItemsInObjectGraph quota. '. Please see InnerException for more details. ---&gt; System.Runtime.Serialization.SerializationException: Maximum number of items that can be serialized or deserialized in an object graph is '65536'. Change the object graph or increase the MaxItemsInObjectGraph quota.&lt;br /&gt;at System.Runtime.Serialization.XmlObjectSerializerContext.IncrementItemCount(Int32 count)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;WCF shows above error when the size of the data which is returned from server is too big to accomodate in 65536 bytes. Solution is to add this behavior into both service and client config file inside system.servicemodel tag as shown below:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Please note that I've replaced traiangular brackets with squared one because of blogger issue related to traingular brackets. You need to change them back.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;[system.serviceModel]&lt;br /&gt;&lt;em&gt;[behaviors]&lt;br /&gt;[endpointBehaviors]&lt;br /&gt;[behavior name="NewBehavior"]&lt;br /&gt;[dataContractSerializer maxItemsInObjectGraph="1234567890"/]&lt;br /&gt;[/behavior]&lt;br /&gt;[/endpointBehaviors]&lt;br /&gt;[/behaviors]&lt;/em&gt;&lt;br /&gt;&lt;system.servicemodel&gt;&lt;behaviors&gt;&lt;endpointbehaviors&gt;&lt;behavior name="NewBehavior"&gt;&lt;datacontractserializer maxitemsinobjectgraph="1234567890"&gt;&lt;/datacontractserializer&gt;&lt;/behavior&gt;&lt;/endpointbehaviors&gt;...&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&lt;/behaviors&gt;[/system.serviceModel]&lt;br /&gt;&lt;br /&gt;This created new bahavior called NewBahavior. We need to add this behavior in endpoint which will contact to the server. So add this into endpoint:&lt;br /&gt;&lt;br /&gt;behaviorConfiguration="NewBehavior"&lt;br /&gt;&lt;br /&gt;thus endpoint will look like:&lt;br /&gt;&lt;br /&gt;[endpoint name="foo" ... ... &lt;em&gt;behaviorConfiguration="NewBehavior"&lt;/em&gt; /]&lt;br /&gt;&lt;br /&gt;Important: your config file may already have "behaviors" section. In that case, you need not add the new behaviors section, instead add "endpointBehaviors" in that behaviors section. Same rule applies to endpointEndpoints section.&lt;/system.servicemodel&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-333580735402115355?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/333580735402115355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=333580735402115355' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/333580735402115355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/333580735402115355'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/04/systemruntimeserializationserialization.html' title='System.Runtime.Serialization.SerializationException: Maximum number of items that can be serialized or deserialized in an object graph is &apos;65536&apos;.'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-4742462741249078676</id><published>2008-04-17T01:41:00.000-07:00</published><updated>2008-10-13T06:35:43.179-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Writing tests in Visual Studio</title><content type='html'>I happened to use Visual Studio 2008 recently. I was supposed to automate the test for user scenario of opening MOSS web page, give some input and wait for output to come back on MOSS web page and finally run this scenario concurrently for 25 users.&lt;br /&gt;&lt;br /&gt;I tried to use different tools ranging from ACT to Webrunner to Kahuna Automation Framework (KAF). I found all of them very interesting. But the special one was (which served my purpose fully) was Visual Studio Team System 2008.&lt;br /&gt;&lt;br /&gt;Now Visual Studio provides a very easy way to write and manage your tests (this was part of VS 2005 also, but VS 2008 is better). You can create UnitTest, WebTest, Generic Test, Manual Test, Load Test etc. I used UnitTest, WebTest and LoadTest.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;UnitTest&lt;/span&gt;: This is the simplest type of test in which you need to write your test logic in any method which is tagged with [TestMethod]. For pass/fail of the test, you can write assert statements in that method. Framework will take care to execute that method.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;WebTest&lt;/span&gt;: This one amazed me the most. Consider an user scenario in which user opens &lt;a href="http://www.foobar.com/"&gt;http://www.foobar.com/&lt;/a&gt; and gives his credentials to log in. Then does some operation and expects for some result to come on web page. We can automate all this with just some mouse clicks!!! What you need to do is create a new WebTest, Visual Studio will open an instance of IE. Give the URL that you want to navigate to and do whatever operations you want to automate. Finally, close the window or press stop button. Framework records all this scenario and later can run this scenario bypassing the browser. Framework mimics the browser and executes the scenario.&lt;br /&gt;At the end of the test, you can test whether execution reaches a particular URL or the last page (indeed any page in between) contains particular string or not. This is so simple!!!&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 255);"&gt;LoadTest&lt;/span&gt;: This goes one step ahead and runs the other tests simultaneously mimicing 'N' number of different users. So we can write stress test by using LoadTest. You can manage how different users will run the tests, when will particular test run etc etc.&lt;br /&gt;&lt;br /&gt;Test run generates the results in which we can measure any performance counter like %Processor time, Response time etc. The results generated are very simple and readable.&lt;br /&gt;&lt;br /&gt;This was very much helpful for me. You can give a try.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-4742462741249078676?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/4742462741249078676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=4742462741249078676' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/4742462741249078676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/4742462741249078676'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/04/visual-studio-test-suit.html' title='Writing tests in Visual Studio'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-3923085078867975739</id><published>2008-04-15T23:49:00.000-07:00</published><updated>2008-10-13T06:38:17.233-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>The Office SharePoint Server Publishing Infrastructure feature must be activated at the site collection level before the Publishing feature can be act</title><content type='html'>In MOSS, after creating the web page, we get the following error/exception while creating/opening or deleting the object:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;The Office SharePoint Server Publishing Infrastructure feature must be activated at the site collection level before the Publishing feature can be activated&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Follow these steps to solve the problem:&lt;br /&gt;1. Open the site.&lt;br /&gt;2. Enable publishing at the site collection level&lt;br /&gt;i. If you are not at the root of your site, under Site Collection Administration, click Go to top level site settings.&lt;br /&gt;ii. On the Site Settings page, under Site Collection Administration, click Site collection features.&lt;br /&gt;iii. On the Site Collection Features page, next to Office SharePoint Server Publishing Infrastructure, click Activate.&lt;br /&gt;3. Enable publishing at the site level&lt;br /&gt;i. On the Site Settings page, in the Site Administration section, click Site features.&lt;br /&gt;ii. Next to Office SharePoint Server Publishing, click Activate.&lt;br /&gt;&lt;br /&gt;Hope this solves your problem. Happy MOSS :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-3923085078867975739?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/3923085078867975739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=3923085078867975739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/3923085078867975739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/3923085078867975739'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/04/office-sharepoint-server-publishing.html' title='The Office SharePoint Server Publishing Infrastructure feature must be activated at the site collection level before the Publishing feature can be act'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-2311064349454277147</id><published>2008-04-15T23:46:00.000-07:00</published><updated>2008-10-13T06:38:05.984-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>MOSS Configuration Error: "An error has occurred while validating the configuration settings. An exception of type System.Runtime.InteropServices.COME</title><content type='html'>After reinstalling the MOSS, it comes to SharePoint Products and Technoloies Config Wizard, where we need to specify the sql server database server name. After specifying the correct server name, it shows follwing error:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;An error has occurred while validating the configuration settings. An exception type System.Runtime.InteropServices.COMException was thrown. Additional exception information: The system cannot find the path specified.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Our first suspect goes to database server name specified. But the actual problem is, uninstallation of MOSS doesn't clear the Vistual directories created on the last installations. We need to delete them all. So open IIS manager and delete all the virtual directories related to sharepoint under default web sites.&lt;br /&gt;&lt;br /&gt;Hope this works for you.!! If it doesnt, you can refer to: (I havent tried it though)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://alpesh.nakars.com/blog/wssv3-on-a-dc-3/"&gt;http://alpesh.nakars.com/blog/wssv3-on-a-dc-3/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-2311064349454277147?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/2311064349454277147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=2311064349454277147' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/2311064349454277147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/2311064349454277147'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/04/moss-configuration-error-error-has.html' title='MOSS Configuration Error: &quot;An error has occurred while validating the configuration settings. An exception of type System.Runtime.InteropServices.COME'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9014595529779023439.post-7485982017058224576</id><published>2008-04-15T02:42:00.000-07:00</published><updated>2008-04-15T02:47:42.202-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='First Post'/><title type='text'>First Post.</title><content type='html'>Hi.......&lt;br /&gt;This is my first post on this blog. Actually I created one other blog, but dont remember the credentials for that blog login. Anyways, the purpose for creating that blog was different.&lt;br /&gt;&lt;br /&gt;So keep looking this space. I will keep posting some interesting (?) material.&lt;br /&gt;Keep blogging and keep reading.&lt;br /&gt;Gaurav&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9014595529779023439-7485982017058224576?l=phapalegaurav.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phapalegaurav.blogspot.com/feeds/7485982017058224576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9014595529779023439&amp;postID=7485982017058224576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/7485982017058224576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9014595529779023439/posts/default/7485982017058224576'/><link rel='alternate' type='text/html' href='http://phapalegaurav.blogspot.com/2008/04/first-blog.html' title='First Post.'/><author><name>Gaurav</name><uri>http://www.blogger.com/profile/12773893686838255578</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://1.bp.blogspot.com/-LHagD_9Hl-k/TfTOzT3BDEI/AAAAAAAAHFk/nqrePlntv4c/s220/BloggerImage.jpg'/></author><thr:total>0</thr:total></entry></feed>
