<?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-26772613</id><updated>2012-01-24T15:40:35.793+02:00</updated><category term='C#'/><category term='LINQ'/><category term='Log4net'/><category term='SQL'/><category term='WCF'/><category term='Framework 4.0'/><category term='Add-ins'/><category term='Tools'/><category term='AJAX'/><category term='Humor'/><category term='Windows Service'/><category term='IIS'/><category term='Programming'/><category term='Entity Framework'/><category term='ASP.NET'/><category term='Useful'/><category term='Web'/><category term='Excel'/><title type='text'>IProgrammer&lt;T&gt;</title><subtitle type='html'>Tips &amp;amp; tricks in programming languages( C# , SQL , JavaScript...), tools and programs.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default?start-index=101&amp;max-results=100'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>184</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-26772613.post-1711384429973004125</id><published>2012-01-22T14:02:00.002+02:00</published><updated>2012-01-22T14:02:38.707+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Schedule Daily backup of database in MS-SQL Server 2008</title><content type='html'>1. Open Management Studio.&lt;br /&gt;2. Under "Mangement"&amp;nbsp; select Maintenance Plans.&lt;br /&gt;3. Right click&amp;nbsp; and choose New Plan (it will ask for name).&lt;br /&gt;4. Double click on Subplan_1 and change it to your name.&lt;br /&gt;5. Drag from toolbox "Back Up Database Task" control.&lt;br /&gt;6. Right click on it and choose Edit.&lt;br /&gt;7. Choose Backup Type, Databases&amp;nbsp; and change more fields.&lt;br /&gt;8.OK&lt;br /&gt;9. Click on Job Schedule (in end of row) and set backup date/time.&lt;br /&gt;10. Save plan. &lt;br /&gt;11. Under "Mangement" right click on your job and choose "Execute" for validation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-1711384429973004125?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/1711384429973004125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=1711384429973004125' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1711384429973004125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1711384429973004125'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2012/01/schedule-daily-backup-of-database-in-ms.html' title='Schedule Daily backup of database in MS-SQL Server 2008'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-9045568935844224499</id><published>2012-01-19T09:10:00.000+02:00</published><updated>2012-01-19T09:10:09.478+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Is my code Fluent?</title><content type='html'>&lt;a href="http://www.smelser.net/blog/post/2009/11/12/Is-my-code-Fluent.aspx"&gt;http://www.smelser.net/blog/post/2009/11/12/Is-my-code-Fluent.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-9045568935844224499?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/9045568935844224499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=9045568935844224499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/9045568935844224499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/9045568935844224499'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2012/01/is-my-code-fluent.html' title='Is my code Fluent?'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-7513860307951741283</id><published>2012-01-19T09:06:00.003+02:00</published><updated>2012-01-19T09:06:28.044+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Activator or Lambda Expressions</title><content type='html'>&lt;a href="http://www.smelser.net/blog/post/2010/03/05/When-Activator-is-just-to-slow.aspx"&gt;http://www.smelser.net/blog/post/2010/03/05/When-Activator-is-just-to-slow.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-7513860307951741283?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/7513860307951741283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=7513860307951741283' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/7513860307951741283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/7513860307951741283'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2012/01/activator-or-lambda-expressions.html' title='Activator or Lambda Expressions'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3109445476893278080</id><published>2012-01-19T08:59:00.002+02:00</published><updated>2012-01-19T08:59:35.461+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Log4net'/><title type='text'>Log4Net... Friend or Foe?</title><content type='html'>&lt;a href="http://www.smelser.net/blog/post/2011/08/16/Log4Net-Friend-or-Foe.aspx"&gt;http://www.smelser.net/blog/post/2011/08/16/Log4Net-Friend-or-Foe.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3109445476893278080?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3109445476893278080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3109445476893278080' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3109445476893278080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3109445476893278080'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2012/01/log4net-friend-or-foe.html' title='Log4Net... Friend or Foe?'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-4197285038705460367</id><published>2012-01-18T09:29:00.003+02:00</published><updated>2012-01-18T09:29:24.996+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Hidden Features of C#?</title><content type='html'>&lt;a href="http://stackoverflow.com/q/9033"&gt;http://stackoverflow.com/q/9033&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-4197285038705460367?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/4197285038705460367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=4197285038705460367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4197285038705460367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4197285038705460367'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2012/01/hidden-features-of-c.html' title='Hidden Features of C#?'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-4243733933893206676</id><published>2012-01-18T09:12:00.000+02:00</published><updated>2012-01-18T09:12:15.675+02:00</updated><title type='text'>10 Things ASP.NET Developers Should Know About Web.config Inheritance and Overrides - Jon Galloway</title><content type='html'>&lt;a href="http://weblogs.asp.net/jgalloway/archive/2012/01/17/10-things-asp-net-developers-should-know-about-web-config-inheritance-and-overrides.aspx#.TxZwrUpqBVd.blogger"&gt;10 Things ASP.NET Developers Should Know About Web.config Inheritance and Overrides - Jon Galloway&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-4243733933893206676?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/4243733933893206676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=4243733933893206676' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4243733933893206676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4243733933893206676'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2012/01/10-things-aspnet-developers-should-know.html' title='10 Things ASP.NET Developers Should Know About Web.config Inheritance and Overrides - Jon Galloway'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-1707702604828052491</id><published>2011-11-08T15:23:00.001+02:00</published><updated>2011-11-08T15:23:31.725+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><title type='text'>Installing and Running IIS and Apache Server Together</title><content type='html'>We working on project that include web application based on python and several application based on IIS (as WCF , Web application, web site ant etc'). "Python" application use port 80 therefore we cannot use same port in IIS application. &lt;a href="http://www.codecurry.com/2009/02/installing-and-running-iis-and-apache.html" target="_blank"&gt;HERE &lt;/a&gt;was explained solution that based on 2 IP addresses. &lt;br /&gt;&lt;br /&gt;p.s. One more note: you must run command prompt as administrator.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-1707702604828052491?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/1707702604828052491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=1707702604828052491' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1707702604828052491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1707702604828052491'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/11/installing-and-running-iis-and-apache.html' title='Installing and Running IIS and Apache Server Together'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-1722718392704760417</id><published>2011-09-06T11:06:00.000+03:00</published><updated>2011-09-06T11:19:39.807+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Service'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><title type='text'>"The specified metadata path is not valid." error in using Windows Service and Entity Framework</title><content type='html'>I have project (Windows Service) that use Entity Framework model as external DLL.&lt;br /&gt;I cannot use a metadada as embedded resource and must define connection string in config file of Windows Service. In the Debug mode I got right result, I created setup project and installed service in directory but a immediately I saw the next error:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&amp;nbsp;The specified metadata path is not valid. A valid path must be either an existing directory, an existing file with extension '.csdl', '.ssdl', or '.msl', or a URI that identifies an embedded resource.&lt;/blockquote&gt;I'll not tell you what I &lt;u&gt;not&lt;/u&gt; tried&amp;nbsp; and a solution was found after deep research in order to understand where is run Windows Service. Bad news! Windows Service not run in installed directory therefore all path's to files in config file must be define as physical path otherwise application cannot find it. Windows service use relative path different to installation directory.&lt;br /&gt;&lt;br /&gt;Where you use Entity Framework you must to define row as this one:&lt;br /&gt;&lt;blockquote&gt;...metadata=.\ServiceModel.csdl|.\ServiceModel.ssdl|.\ServiceModel.msl...&lt;/blockquote&gt;In order to not change path to physical path just add next row in event OnStart in Windows Service:&lt;br /&gt;&lt;blockquote&gt;System.IO.Directory.SetCurrentDirectory(System.AppDomain.CurrentDomain.BaseDirectory);&lt;/blockquote&gt;&lt;br /&gt;This is a way to define relative path of Service as installed directory.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://gaaton.blogspot.com/2011/09/specified-metadata-path-is-not-valid.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://gaaton.blogspot.com/2011/09/specified-metadata-path-is-not-valid.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-1722718392704760417?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/1722718392704760417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=1722718392704760417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1722718392704760417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1722718392704760417'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/09/specified-metadata-path-is-not-valid.html' title='&quot;The specified metadata path is not valid.&quot; error in using Windows Service and Entity Framework'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6011971779575277973</id><published>2011-08-23T09:20:00.001+03:00</published><updated>2011-08-23T09:21:49.671+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Trim leading zeros</title><content type='html'>&lt;span style="font-family: Arial; font-size: small;"&gt;REPLACE(LTRIM(REPLACE([Column], '0', ' ')), ' ', '0')&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/9c642ca6-19f1-408c-a457-4f63221467be/"&gt;Thanks,&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-6011971779575277973?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6011971779575277973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6011971779575277973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6011971779575277973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6011971779575277973'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/08/trim-leading-zeros.html' title='Trim leading zeros'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6329590197902959731</id><published>2011-08-05T12:28:00.001+03:00</published><updated>2011-08-05T18:27:39.043+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>Paging in LINQ</title><content type='html'>&lt;p&gt;Implementation of paging&amp;#160; with help from ROW_COUNT() of SQL in LINQ :&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Implementation:&lt;/u&gt;&lt;/p&gt;  &lt;div style="font-family: consolas; background: white; color: black; font-size: 10pt"&gt;   &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;static&lt;/span&gt; &lt;span style="color: #2b91af"&gt;IEnumerable&lt;/span&gt;&amp;lt;T&amp;gt; Paging&amp;lt;T&amp;gt;(&lt;span style="color: blue"&gt;int&lt;/span&gt; rowCount, &lt;span style="color: blue"&gt;int&lt;/span&gt; pageId, &lt;span style="color: #2b91af"&gt;IQueryable&lt;/span&gt;&amp;lt;T&amp;gt; query)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;{&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;return&lt;/span&gt;&amp;#160; query&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .Skip((pageId - 1) * rowCount)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .Take(rowCount);&lt;/p&gt;    &lt;p style="margin: 0px"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&lt;u&gt;Using:&lt;/u&gt;&lt;/p&gt;  &lt;div style="font-family: consolas; background: white; color: black; font-size: 10pt"&gt;   &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;private&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; TestMethod()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;{&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #2b91af"&gt;Random&lt;/span&gt; rnd = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Random&lt;/span&gt;();&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;Foo&lt;/span&gt;&amp;gt; fooList = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;Foo&lt;/span&gt;&amp;gt;();&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;for&lt;/span&gt; (&lt;span style="color: blue"&gt;int&lt;/span&gt; i = 0; i &amp;lt; 20; i++)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; fooList.Add(&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Foo&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ID = rnd.Next(100),&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Name = &lt;span style="color: #2b91af"&gt;Membership&lt;/span&gt;.GeneratePassword(5, 0)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;var&lt;/span&gt; query = fooList.OrderBy(item =&amp;gt; item.ID).AsQueryable();&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;&amp;quot;Attempt 1&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160; Paging(10, 1,query )&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .ToList()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .ForEach(&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; item =&amp;gt; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(item.ID + &lt;span style="color: #a31515"&gt;&amp;quot;: &amp;quot;&lt;/span&gt; + item.Name)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;&amp;quot;Attempt 2&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; Paging(5, 2, query)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .ToList()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .ForEach(&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; item =&amp;gt; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(item.ID + &lt;span style="color: #a31515"&gt;&amp;quot;: &amp;quot;&lt;/span&gt; + item.Name)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );&lt;/p&gt;    &lt;p style="margin: 0px"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&lt;u&gt;Class:&lt;/u&gt;&lt;/p&gt;  &lt;div style="font-family: consolas; background: white; color: black; font-size: 10pt"&gt;   &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Foo&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;{&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;int&lt;/span&gt; ID { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;string&lt;/span&gt; Name { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;/p&gt;    &lt;p style="margin: 0px"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;And now as &lt;a href="http://csharp-extension.blogspot.com/2011/08/extension-of-paging-in-linq.html" target="_blank"&gt;extension&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt; &lt;a href="http://www.dotnetkicks.com/kick/?url=http://gaaton.blogspot.com/2011/08/paging-in-linq.html"&gt;&lt;img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://gaaton.blogspot.com/2011/08/paging-in-linq.html" /&gt;&lt;/a&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-6329590197902959731?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6329590197902959731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6329590197902959731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6329590197902959731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6329590197902959731'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/08/paging-in-linq.html' title='Paging in LINQ'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-2656529981783660999</id><published>2011-08-01T12:58:00.000+03:00</published><updated>2011-08-05T18:32:38.158+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><title type='text'>Entity Framework and Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.</title><content type='html'>I had troubles with long list in &amp;quot;delete&amp;quot; action. After several unsuccessful attempts I found solution (maybe is not the best):  &lt;br /&gt;  &lt;br /&gt;  &lt;div style="font-family: consolas; background: white; color: black; font-size: 10pt"&gt;   &lt;div style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; (&lt;span style="color: blue"&gt;var&lt;/span&gt; ctx = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;EntityContext&lt;/span&gt;())&lt;/div&gt;    &lt;div style="margin: 0px"&gt;{&lt;/div&gt;    &lt;div style="margin: 0px"&gt;&lt;span style="color: blue"&gt;&amp;#160; var&lt;/span&gt; tmpTimeout = ctx.CommandTimeout;&lt;/div&gt;    &lt;div style="margin: 0px"&gt;&lt;span style="color: blue"&gt;&amp;#160; try&lt;/span&gt;&lt;/div&gt;    &lt;div style="margin: 0px"&gt;&amp;#160; {&lt;/div&gt;    &lt;div style="margin: 0px"&gt;&amp;#160;&amp;#160; ctx.CommandTimeout = &lt;span style="color: blue"&gt;int&lt;/span&gt;.MaxValue;&lt;/div&gt;    &lt;div style="margin: 0px"&gt;&amp;#160;&amp;#160; ctx.YOUROBJECTS.DeleteObject(value));&lt;/div&gt;    &lt;div style="margin: 0px"&gt;&amp;#160;&amp;#160; ctx.SaveChanges();&lt;/div&gt;    &lt;div style="margin: 0px"&gt;&amp;#160; }&lt;/div&gt;    &lt;div style="margin: 0px"&gt;&lt;span style="color: blue"&gt;&amp;#160; catch&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;Exception&lt;/span&gt; ex)&lt;/div&gt;    &lt;div style="margin: 0px"&gt;&amp;#160; {}&lt;/div&gt;    &lt;div style="margin: 0px"&gt;&lt;span style="color: blue"&gt;&amp;#160; finally&lt;/span&gt;&lt;/div&gt;    &lt;div style="margin: 0px"&gt;&amp;#160; {&lt;/div&gt;    &lt;div style="margin: 0px"&gt;&amp;#160;&amp;#160; ctx.CommandTimeout = tmpTimeout;&lt;/div&gt;    &lt;div style="margin: 0px"&gt;&amp;#160; }&lt;/div&gt;    &lt;div style="margin: 0px"&gt;&lt;/div&gt;    &lt;div style="margin: 0px"&gt;}&lt;/div&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-2656529981783660999?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/2656529981783660999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=2656529981783660999' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/2656529981783660999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/2656529981783660999'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/08/entity-framework-and-timeout-expired.html' title='Entity Framework and Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-2417830766203655800</id><published>2011-07-21T15:45:00.000+03:00</published><updated>2011-07-21T15:45:39.946+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Excel'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Reading  XLSX  format  file from C#</title><content type='html'>The best guide for reading excel file without Excel instance exist &lt;a href="http://www.sadev.co.za/content/reading-and-writing-excel-2007-or-excel-2010-c-series-index"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Pay attentions! In the final example in the loop ForEach missed validation of&amp;nbsp; not string values and NULL value cells, threfore change it to:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="background: white; color: black; font-family: Consolas; font-size: 10pt;"&gt;&lt;div style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color: #2b91af;"&gt;XElement&lt;/span&gt; cell &lt;span style="color: blue;"&gt;in&lt;/span&gt; cells)&lt;/div&gt;&lt;div style="margin: 0px;"&gt;{&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt; (cell.IsEmpty)&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;continue&lt;/span&gt;;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;string&lt;/span&gt; cellPosition = cell.Attribute(&lt;span style="color: #a31515;"&gt;"r"&lt;/span&gt;).Value;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;int&lt;/span&gt; index = IndexOfNumber(cellPosition);&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;string&lt;/span&gt; column = cellPosition.Substring(0, index);&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;int&lt;/span&gt; row = &lt;span style="color: #2b91af;"&gt;Convert&lt;/span&gt;.ToInt32(cellPosition.Substring(index, cellPosition.Length - index));&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt; (cell.HasElements)&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt; (cell.Attribute(&lt;span style="color: #a31515;"&gt;"t"&lt;/span&gt;) != &lt;span style="color: blue;"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; cell.Attribute(&lt;span style="color: #a31515;"&gt;"t"&lt;/span&gt;).Value == &lt;span style="color: #a31515;"&gt;"s"&lt;/span&gt;)&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;// Shared value&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;int&lt;/span&gt; valueIndex = &lt;span style="color: #2b91af;"&gt;Convert&lt;/span&gt;.ToInt32(cell.Descendants(&lt;span style="color: #2b91af;"&gt;ExcelNamespaces&lt;/span&gt;.excelNamespace + &lt;span style="color: #a31515;"&gt;"v"&lt;/span&gt;).Single().Value);&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; parsedCells.Add(&lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Cell&lt;/span&gt;(column, row, sharedStrings[valueIndex]));&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;else&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;string&lt;/span&gt; value = cell.Descendants(&lt;span style="color: #2b91af;"&gt;ExcelNamespaces&lt;/span&gt;.excelNamespace + &lt;span style="color: #a31515;"&gt;"v"&lt;/span&gt;).Single().Value;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; parsedCells.Add(&lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Cell&lt;/span&gt;(column, row, value));&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;else&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; parsedCells.Add(&lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Cell&lt;/span&gt;(column, row, &lt;span style="color: #a31515;"&gt;""&lt;/span&gt;));&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/div&gt;&lt;div style="margin: 0px;"&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-2417830766203655800?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/2417830766203655800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=2417830766203655800' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/2417830766203655800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/2417830766203655800'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/07/reading-xlsx-format-file-from-c.html' title='Reading  XLSX  format  file from C#'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3226170004221075238</id><published>2011-07-20T12:14:00.000+03:00</published><updated>2011-07-20T12:14:04.528+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Error in SecurityMode = None in WsHttpBinding</title><content type='html'>Define next attributes in the binding:&lt;br /&gt;&lt;br /&gt;&lt;div style="background: white; color: black; font-family: Consolas; font-size: 10pt;"&gt;&lt;div style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;bindings&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;wsHttpBinding&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;binding&lt;/span&gt;&lt;span style="color: blue;"&gt; &lt;/span&gt;&lt;span style="color: red;"&gt;name&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;wsHttpBindingConfig&lt;/span&gt;"&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;security&lt;/span&gt;&lt;span style="color: blue;"&gt; &lt;/span&gt;&lt;span style="color: red;"&gt;mode&lt;/span&gt;&lt;span style="color: blue;"&gt; =&lt;/span&gt;"&lt;span style="color: blue;"&gt;None&lt;/span&gt;"&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;reliableSession&lt;/span&gt;&lt;span style="color: blue;"&gt; &lt;/span&gt;&lt;span style="color: red;"&gt;enabled&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;true&lt;/span&gt;"&lt;span style="color: blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;!--&lt;/span--&gt;&lt;span style="color: #a31515;"&gt;binding&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;!--&lt;/span--&gt;&lt;span style="color: #a31515;"&gt;wsHttpBinding&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &lt;!--&lt;/span--&gt;&lt;span style="color: #a31515;"&gt;bindings&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3226170004221075238?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3226170004221075238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3226170004221075238' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3226170004221075238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3226170004221075238'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/07/error-in-securitymode-none-in.html' title='Error in SecurityMode = None in WsHttpBinding'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-8274608325863434161</id><published>2011-07-19T11:46:00.000+03:00</published><updated>2011-07-19T11:46:12.734+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>WCF error messages  -  the guide.</title><content type='html'>Whenever web developers hear the term session, we think of Http Session which is used to store data between multiple HTTP requests....to full article click &lt;a href="http://sankarsan.wordpress.com/2008/09/07/wcf-sessions/"&gt;here&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-8274608325863434161?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/8274608325863434161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=8274608325863434161' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/8274608325863434161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/8274608325863434161'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/07/wcf-error-messages-guide.html' title='WCF error messages  -  the guide.'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6800169632590387449</id><published>2011-07-17T20:36:00.001+03:00</published><updated>2011-07-17T20:36:46.175+03:00</updated><title type='text'>Extension for expression (List == null || List.Count &gt; 0)</title><content type='html'>&lt;div&gt;This one and more extensions exist &lt;a href="http://csharp-extension.blogspot.com/2011/07/extension-for-expression-list-null.html" target="_blank"&gt;here&lt;/a&gt;.&lt;/div&gt;  &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://gaaton.blogspot.com/2011/07/extension-for-expression-list-null.html"&gt;&lt;img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2f2011%2f07%2fextension-for-expression-list-null.html" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-6800169632590387449?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6800169632590387449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6800169632590387449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6800169632590387449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6800169632590387449'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/07/extension-for-expression-list-null_17.html' title='Extension for expression (List == null || List.Count &amp;gt; 0)'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-2119840897590042724</id><published>2011-07-10T10:02:00.003+03:00</published><updated>2011-07-10T10:19:30.070+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Could not load file or assembly 'ASSEMBLY_NAME' or one of its dependencies. An attempt was made to load a program with an incorrect format.</title><content type='html'>The error occurred as transfer from 32-bit to 64-bit platforms. A solution is very easy:&lt;br /&gt;&lt;br /&gt;1. Go to "ASSEMBLY_NAME" project in solution&lt;br /&gt;2. Open project properties&lt;br /&gt;3. Open "Build" tab&lt;br /&gt;4. Change "Platform target" to "Any CPU"&lt;br /&gt;5. Compile solutions.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-2119840897590042724?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/2119840897590042724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=2119840897590042724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/2119840897590042724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/2119840897590042724'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/07/could-not-load-file-or-assembly.html' title='Could not load file or assembly &apos;ASSEMBLY_NAME&apos; or one of its dependencies. An attempt was made to load a program with an incorrect format.'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-1178920977359151331</id><published>2011-06-30T14:56:00.000+03:00</published><updated>2011-07-03T19:20:22.966+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>How to prevent duplicates in 2 columns in one table</title><content type='html'>We know how to define column as unique, but what to do where you need to prevent duplicate in 2 columns?   &lt;br /&gt;This is a state:  &lt;br /&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;CREATE&lt;/span&gt; &lt;span class="kwrd"&gt;TABLE&lt;/span&gt; #tmp&lt;br /&gt;(&lt;br /&gt;Id &lt;span class="kwrd"&gt;INT&lt;/span&gt;,&lt;br /&gt;Wine &lt;span class="kwrd"&gt;VARCHAR&lt;/span&gt;(50),&lt;br /&gt;Country &lt;span class="kwrd"&gt;VARCHAR&lt;/span&gt;(50)&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;INSERT &lt;span class="kwrd"&gt;INTO&lt;/span&gt; #tmp &lt;span class="kwrd"&gt;VALUES&lt;/span&gt; &lt;br /&gt;(1,&lt;span class="str"&gt;'Merlot'&lt;/span&gt;,&lt;span class="str"&gt;'France'&lt;/span&gt;)&lt;br /&gt;INSERT &lt;span class="kwrd"&gt;INTO&lt;/span&gt; #tmp &lt;span class="kwrd"&gt;VALUES&lt;/span&gt;&lt;br /&gt;(2,&lt;span class="str"&gt;'Merlot'&lt;/span&gt;,&lt;span class="str"&gt;'Argentina'&lt;/span&gt;)&lt;br /&gt;INSERT &lt;span class="kwrd"&gt;INTO&lt;/span&gt; #tmp &lt;span class="kwrd"&gt;VALUES&lt;/span&gt;&lt;br /&gt;(3,&lt;span class="str"&gt;'Malbec'&lt;/span&gt;,&lt;span class="str"&gt;'Argentina'&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;SELECT&lt;/span&gt; * &lt;span class="kwrd"&gt;FROM&lt;/span&gt; #tmp&lt;br /&gt;&lt;span class="kwrd"&gt;DROP&lt;/span&gt; &lt;span class="kwrd"&gt;TABLE&lt;/span&gt; #tmp&lt;/pre&gt;&lt;br /&gt;A result is:  &lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;  &lt;pre class="csharpcode"&gt;Id |  Wine    |  Country&lt;br /&gt;---------&lt;span class="rem"&gt;-- ------------------&lt;/span&gt;&lt;br /&gt;1 |  Merlot   |  France&lt;br /&gt;2 |  Merlot   |  Argentina&lt;br /&gt;3 |  Malbec |  Argentina&lt;/pre&gt;&lt;br /&gt;  &lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;A target to prevent:&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;  &lt;pre class="csharpcode"&gt;Id |  Wine    |  Country&lt;br /&gt;---------&lt;span class="rem"&gt;-- ------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1 |  Merlot   |  France&lt;br /&gt;2 |  Merlot   |  Argentina&lt;br /&gt;3 |  Malbec |  Argentina&lt;br /&gt;&lt;br /&gt;4 |  Merlot   |  France&lt;br /&gt;5 |  Caberne   |  France&lt;/pre&gt;&lt;br /&gt;  &lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;That means table allow duplicate Wines and duplicate Countries, but must prevent double rows.&lt;br /&gt;  A solution is to add next row after table creation:&lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;ALTER&lt;/span&gt; &lt;span class="kwrd"&gt;TABLE&lt;/span&gt;  #tmp      &lt;span class="kwrd"&gt;ADD&lt;/span&gt; &lt;span class="kwrd"&gt;UNIQUE&lt;/span&gt;(Wine, Country)&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;Enjoy&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-1178920977359151331?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/1178920977359151331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=1178920977359151331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1178920977359151331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1178920977359151331'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/06/how-to-prevent-duplicates-in-2-columns.html' title='How to prevent duplicates in 2 columns in one table'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6841373884465470247</id><published>2011-06-27T16:01:00.003+03:00</published><updated>2011-07-16T21:43:39.580+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Generic Type Convert Function</title><content type='html'>It's simple method can be use as extension method for conversion types :   &lt;br /&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; TK ConvertTo&amp;lt;TK&amp;gt;(&lt;span class="kwrd"&gt;this&lt;/span&gt; &lt;span class="kwrd"&gt;object&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt;,&lt;span class="kwrd"&gt;bool&lt;/span&gt; isThrowException = &lt;span class="kwrd"&gt;false&lt;/span&gt;, &lt;br /&gt;                   TK defaultValue = &lt;span class="kwrd"&gt;default&lt;/span&gt;(TK))&lt;br /&gt;{&lt;br /&gt;  &lt;span class="kwrd"&gt;try&lt;/span&gt;&lt;br /&gt;  {&lt;br /&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; (TK)Convert.ChangeType(&lt;span class="kwrd"&gt;value&lt;/span&gt;, &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(TK));&lt;br /&gt;  }&lt;br /&gt;  &lt;span class="kwrd"&gt;catch&lt;/span&gt; (InvalidCastException ex)&lt;br /&gt;  {&lt;br /&gt;     &lt;span class="kwrd"&gt;if&lt;/span&gt; (isThrowException)&lt;br /&gt;      {&lt;br /&gt;        &lt;span class="kwrd"&gt;throw&lt;/span&gt; ex;&lt;br /&gt;     }&lt;br /&gt;  &lt;span class="kwrd"&gt;return&lt;/span&gt; defaultValue;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Using example: &lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;string&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt; = &lt;span class="str"&gt;&amp;quot;15&amp;quot;&lt;/span&gt;;&lt;br /&gt;&lt;span class="rem"&gt;//Method will convert string to int. &lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;//In case val is not numeric will throw exception.&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;int&lt;/span&gt; result = &lt;span class="kwrd"&gt;value&lt;/span&gt;.ConvertTo();&lt;br /&gt;&lt;span class="rem"&gt;//In case val is not numeric will return type default value.&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;int&lt;/span&gt; result1 = &lt;span class="kwrd"&gt;value&lt;/span&gt;.ConvertTo(&lt;span class="kwrd"&gt;false&lt;/span&gt;);&lt;br /&gt;&lt;span class="rem"&gt;//In case val is not numeric will return your defined value (5).&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;int&lt;/span&gt; result2 = &lt;span class="kwrd"&gt;value&lt;/span&gt;.ConvertTo(&lt;span class="kwrd"&gt;false&lt;/span&gt;,5); &lt;/pre&gt;&lt;br /&gt;Enjoy! &lt;br /&gt;  &lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://gaaton.blogspot.com/2011/06/generic-type-convert-function.html"&gt;&lt;img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://gaaton.blogspot.com/2011/06/generic-type-convert-function.html" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-6841373884465470247?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6841373884465470247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6841373884465470247' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6841373884465470247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6841373884465470247'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/06/generic-type-convert-function.html' title='Generic Type Convert Function'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-4414869748867675289</id><published>2011-06-22T13:02:00.003+03:00</published><updated>2011-06-22T13:05:23.841+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Framework 4.0'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Entity Framework, web.config and error "The specified named connection is either not found in the configuration..."</title><content type='html'>Hi my friend,&lt;br /&gt;&lt;br /&gt;If&amp;nbsp; you come to here from generic search, then you already know what is a real nightmare. Every new feature from Microsoft can include surprised items and will take hours (sometimes days) for understand how it work correct. Anyway...&lt;br /&gt;&lt;br /&gt;For using Entity Framework as DLL class-library in &lt;u&gt;&lt;b&gt;win/console application&lt;/b&gt;&lt;/u&gt; you should work by next steps:&lt;br /&gt;&lt;br /&gt;1. Create YOUR_NAME.edmx.&lt;br /&gt;2. Open designer.&lt;br /&gt;3. Click on background.&lt;br /&gt;4. In property tab change property "Metadata artifact Processing" to "Copy to Output Directory".&lt;br /&gt;5. Save project (Connection string will be changed from "res//*/" to ".\" ).&lt;br /&gt;6. Copy connection string to main app.config as is.&lt;br /&gt;7. Go to EF project properties. Choose "Build event" and in Post-Build event command line add next rows:&lt;br /&gt;&lt;br /&gt;copy&amp;nbsp; YOUR_NAME.csdl $(SolutionDir)START_PROJECT\bin\Debug\&lt;br /&gt;copy&amp;nbsp; YOUR_NAME.ssdl $(SolutionDir)START_PROJECT\bin\Debug\&lt;br /&gt;copy&amp;nbsp; YOUR_NAME.msl $(SolutionDir)START_PROJECT\bin\Debug\&lt;br /&gt;&lt;br /&gt;8. Remove app.config of EF project.&lt;br /&gt;&lt;br /&gt;But the nightmare&amp;nbsp;&lt;span class="long_text short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Click for alternate translations"&gt;does not live&lt;/span&gt;&lt;/span&gt; in win application, because she's place in &lt;u&gt;&lt;b&gt;Web Application&lt;/b&gt;&lt;/u&gt;!&lt;br /&gt;&lt;br /&gt;Next steps will help you to back out from hell:&lt;br /&gt;Do it 1-6 steps as in win application case.&lt;br /&gt;7. In web.config change&amp;nbsp; ".\" to "~\App_Data" in c/m/s files&lt;br /&gt;8. Go to EF project properties. Choose "Build event" and in Post-Build event command line add next rows:&lt;br /&gt;&lt;br /&gt;copy&amp;nbsp; YOUR_NAME.csdl $(SolutionDir)START_WEB_PROJECT\App_Data\&lt;br /&gt;copy&amp;nbsp; YOUR_NAME.ssdl $(SolutionDir)START_WEB_PROJECT\App_Data\&lt;br /&gt;copy&amp;nbsp; YOUR_NAME.msl $(SolutionDir)START_WEB_PROJECT\App_Data\&lt;br /&gt;&lt;br /&gt;9. Remove app.config of EF project. &lt;br /&gt;10. Cross fingers, run it and pray!&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-4414869748867675289?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/4414869748867675289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=4414869748867675289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4414869748867675289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4414869748867675289'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/06/entity-framework-webconfig-and-error.html' title='Entity Framework, web.config and error &quot;The specified named connection is either not found in the configuration...&quot;'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3123145771427005458</id><published>2011-06-05T14:48:00.000+03:00</published><updated>2011-06-05T19:57:16.251+03:00</updated><title type='text'>Full solution to: The server committed a protocol violation. Section=ResponseStatusLine</title><content type='html'>&lt;p&gt;In most answers to this error you will get same answer:    &lt;br /&gt;&amp;lt;system.net&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;settings&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;httpWebRequest useUnsafeHeaderParsing=&amp;quot;true&amp;quot; /&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/settings&amp;gt;     &lt;br /&gt;&amp;lt;/system.net&amp;gt; &lt;/p&gt;  &lt;p&gt;But not always a problem will be resolved. A full solutions to error present here. Just add next row to request variable:   &lt;p&gt;&amp;#160;&amp;#160; request.KeepAlive = false; &lt;/p&gt;  OR   &lt;p&gt;&amp;#160;&amp;#160; ((HttpWebRequest)request).KeepAlive = false; (Where request type is WebRequest) &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3123145771427005458?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3123145771427005458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3123145771427005458' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3123145771427005458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3123145771427005458'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/06/full-solution-to-server-committed.html' title='Full solution to: The server committed a protocol violation. Section=ResponseStatusLine'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3004051975041286057</id><published>2011-06-05T10:54:00.000+03:00</published><updated>2011-06-05T10:54:43.688+03:00</updated><title type='text'>LINQ2SQL Connection Strings with class library projects</title><content type='html'>1. Set connection string in Web/App.config in main external project.&lt;br /&gt;2. Open up your DBML and click the designer service. Expand the Connection property, delete Connection String and set "Application Settings" to False.&lt;br /&gt;3. Open designer file and add new construtor as:&lt;br /&gt;&lt;blockquote&gt;&amp;nbsp; public DataClassesDataContext()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : base(ConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnCreated();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/blockquote&gt;&lt;br /&gt;4. Enjoy!&lt;br /&gt;&lt;br /&gt;Full article and &lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Click for alternate translations"&gt;inspiration&lt;/span&gt;&lt;/span&gt; exist &lt;a href="http://blogs.planetcloud.co.uk/mygreatdiscovery/post/LINQ-to-SQL-Connection-Strings-with-class-library-projects.aspx"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3004051975041286057?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3004051975041286057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3004051975041286057' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3004051975041286057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3004051975041286057'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/06/linq2sql-connection-strings-with-class.html' title='LINQ2SQL Connection Strings with class library projects'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-618513442020130929</id><published>2011-04-03T11:47:00.005+03:00</published><updated>2011-06-05T17:06:52.831+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>Check is IP in range</title><content type='html'>You can find &lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;countless examples how to check is IP in range. I would like to offer my way for solution with LINQ:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;using System.Collections.Generic;&lt;br /&gt;using System.Net;&lt;br /&gt;using System.Linq;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;&amp;nbsp;public class IPRange&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public byte[] StartAddressBytes { get; private set; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public byte[] EndAddressBytes { get; private set; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public IPRange(IPAddress startAddress, IPAddress endAddress)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StartAddressBytes = startAddress.GetAddressBytes();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EndAddressBytes = endAddress.GetAddressBytes();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public IPRange(string strartIp, string endIp)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPAddress startAddress, endAddress;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (IPAddress.TryParse(strartIp, out startAddress)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;&amp;amp; IPAddress.TryParse(endIp, out endAddress))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StartAddressBytes = startAddress.GetAddressBytes();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EndAddressBytes = endAddress.GetAddressBytes();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;//--------------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;public class IPRangeUtil&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static bool IsInRange(List&lt;iprange&gt;&amp;lt;&lt;/iprange&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;IPRange&lt;/span&gt;&lt;/span&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;&lt;iprange&gt;&amp;gt; ipRange , string clientIp)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPAddress clientAddress;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!IPAddress.TryParse(clientIp, out clientAddress))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return IsInRange(ipRange, clientAddress);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static bool IsInRange(&lt;/iprange&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;List&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;IPRange&lt;/span&gt;&lt;/span&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;&amp;gt; ipRange&lt;/span&gt;&lt;/span&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;&lt;iprange&gt;&lt;iprange&gt;, IPAddress clientAddress)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int clientIpSum = clientAddress.GetAddressBytes().Sum(item =&amp;gt; item);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ipRange.Where(range =&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clientIpSum &amp;gt;= range.StartAddressBytes.Sum(item =&amp;gt; item)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;&amp;amp; clientIpSum &amp;lt;= range.EndAddressBytes.Sum(item =&amp;gt; item)).Any() ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/iprange&gt;&lt;/iprange&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;A using is very easy:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;List&lt;iprange&gt; ranges = new List&lt;iprange&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //You can replace "xxx.xxx.xxx.xxx" to IPAddress typed variable&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new IPRange("192.168.10.68", "192.168.10.255"),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new IPRange("192.168.0.68h", "192.168.10.68")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br /&gt;&lt;br /&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;&lt;br /&gt;bool isInRange = IPRangeUtil.IsInRange(ranges, "192.168.10.70");&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Нажмите, чтобы увидеть альтернативный перевод"&gt;Enjoy!&lt;/span&gt;&lt;/span&gt;&lt;/iprange&gt;&lt;/iprange&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2f2011%2f04%2fcheck-is-ip-in-range.html"&gt;&lt;img alt="kick it on DotNetKicks.com" border="0" src="http%3A%2F%2Fwww.dotnetkicks.com%2FServices%2FImages%2FKickItImageGenerator.ashx%3Furl%3Dhttp%253a%252f%252fgaaton.blogspot.com%252f2011%252f04%252fcheck-is-ip-in-range.html" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-618513442020130929?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/618513442020130929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=618513442020130929' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/618513442020130929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/618513442020130929'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/04/check-is-ip-in-range.html' title='Check is IP in range'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3762376737875660166</id><published>2011-03-23T11:05:00.000+02:00</published><updated>2011-03-23T11:05:42.045+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>What is Authentication and Authorization?</title><content type='html'>Simple video which explain who is who:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object width="320" height="266" class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://1.gvt0.com/vi/gG3ljmMmeM0/0.jpg"&gt;&lt;param name="movie" value="http://www.youtube.com/v/gG3ljmMmeM0&amp;fs=1&amp;source=uds" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266" src="http://www.youtube.com/v/gG3ljmMmeM0&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3762376737875660166?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3762376737875660166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3762376737875660166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3762376737875660166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3762376737875660166'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/03/what-is-authentication-and.html' title='What is Authentication and Authorization?'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-2302785705706217952</id><published>2011-01-20T11:50:00.002+02:00</published><updated>2011-01-20T11:50:36.736+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>LINQ and #Temporary tables in Stored Procedure do not have return values</title><content type='html'>I have Stored Procedure which include #tmp table. I tried to drag it to DBML but every time i got message "bla-bla-bla ... do not have return values...".After countless attempts was found solution! (Thanks to &lt;a href="http://bytes.com/topic/c-sharp/answers/744395-linq-temp-tables-sprocs-do-not-have-return-values-generatedmethods#post2967042"&gt;Marc Gravell&lt;/a&gt; ) &lt;br /&gt;Replace the #tmp in variable, a meaning:&lt;br /&gt;&lt;br /&gt;CREATE TABLE #tmp (Item in)&lt;br /&gt;Replace it to:&lt;br /&gt;DECLARE @tmp TABLE (Item int)&lt;br /&gt;&lt;br /&gt;A using in query is:&lt;br /&gt;SELECT yt.*, t.Item&lt;br /&gt;FROM YUOR_TABLE yt, @tmp t&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-2302785705706217952?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/2302785705706217952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=2302785705706217952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/2302785705706217952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/2302785705706217952'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2011/01/linq-and-temporary-tables-in-stored.html' title='LINQ and #Temporary tables in Stored Procedure do not have return values'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-5552845082501638113</id><published>2010-12-26T17:43:00.000+02:00</published><updated>2010-12-26T17:43:01.925+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>How to encrypt and decrypt password in SQL Server</title><content type='html'>&lt;a href="http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=76258"&gt;Here&lt;/a&gt; you can find nice and full solution to encrypt and decrypt password for use in SQL Server.&lt;br /&gt;&lt;br /&gt;Using:&lt;br /&gt;&lt;blockquote&gt;declare @value VARCHAR(8000)&lt;br /&gt;--Encrypt &lt;br /&gt;set @value =&amp;nbsp; dbo.fnEncDecRc4('Magic Word','password')&lt;br /&gt;--Decrypt&lt;br /&gt;select dbo.fnEncDecRc4('Magic Word',@value)&lt;br /&gt;&lt;/blockquote&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-5552845082501638113?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/5552845082501638113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=5552845082501638113' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/5552845082501638113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/5552845082501638113'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2010/12/how-to-encrypt-and-decrypt-password-in.html' title='How to encrypt and decrypt password in SQL Server'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-2289740336594771323</id><published>2010-12-25T19:18:00.001+02:00</published><updated>2010-12-25T19:23:03.037+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><title type='text'>Log Viewer Pro</title><content type='html'>&lt;p&gt;Many years I’m use the best file manager &lt;a href="http://www.ghisler.com/" target="_blank"&gt;Total Commander&lt;/a&gt; (Windows commander in the past). In the home site was found link to the site &lt;a title="http://www.totalcmd.net" href="http://www.totalcmd.net"&gt;http://www.totalcmd.net&lt;/a&gt; which include additional plugins and utilities. But I would&amp;#160; present only one very usability utility – Log Viewer Pro.&amp;#160; Current application dedicated to viewing logs and available to using in every text file . Every level of Log may be define in different color, a program is free (for home users) and not required install. &lt;/p&gt;  &lt;p&gt;Screenshot:&lt;/p&gt;  &lt;p&gt;&lt;img src="http://www.uvviewsoft.com/logviewer/img/LogView1.gif" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Main features of viewer:     &lt;br /&gt;&lt;/u&gt;Fast scrolling, eats low memory.     &lt;br /&gt;Supports any file size (4 Gb and larger).     &lt;br /&gt;Multitabbed interface.     &lt;br /&gt;Auto-reload file, Follow tail mode.     &lt;br /&gt;Allows to highlight some lines (e.g. &amp;quot;errors&amp;quot;, &amp;quot;warnings&amp;quot;).     &lt;br /&gt;Allows to view encodings: ANSI, OEM, Unicode LE, Unicode BE etc.     &lt;br /&gt;File search (both forward and backward).&lt;/p&gt;  &lt;p&gt;Download &lt;a href="http://www.totalcmd.net/download.php?id=logviewer_pro" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Size: 650 KB    &lt;br /&gt;Author: Alexey Torgashin&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-2289740336594771323?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/2289740336594771323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=2289740336594771323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/2289740336594771323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/2289740336594771323'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2010/12/log-viewer-pro.html' title='Log Viewer Pro'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-5205232428198751814</id><published>2010-12-05T11:51:00.001+02:00</published><updated>2010-12-05T11:51:34.816+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Snippet editor</title><content type='html'>In my work I'm often use snippets, but by old habit I created every time new snippet manual. Today found nice solutions to my&amp;nbsp; suffering -&amp;nbsp; Snippet Editor by  &lt;span id="ctl00_ctl00_MasterContent_Content_lastEditedBy"&gt;BillMcC. Snippet editor ready to work with all version of Visual Studio, support C# and VB snippet, easy interface and big help to programmer.&lt;/span&gt;&lt;br /&gt;&lt;span id="ctl00_ctl00_MasterContent_Content_lastEditedBy"&gt;&lt;a href="http://snippeteditor.codeplex.com/"&gt;Link &lt;/a&gt;to download.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-5205232428198751814?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/5205232428198751814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=5205232428198751814' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/5205232428198751814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/5205232428198751814'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2010/12/snippet-editor.html' title='Snippet editor'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-2537534814826168083</id><published>2010-06-29T09:32:00.001+03:00</published><updated>2010-06-29T09:32:43.803+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Generate random string</title><content type='html'>&lt;p&gt;Current code is generate string in defined length and include chars, numbers and symbols.&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; GetRandomString(&lt;span class="kwrd"&gt;int&lt;/span&gt; size)&lt;br /&gt;{&lt;br /&gt;    StringBuilder builder = &lt;span class="kwrd"&gt;new&lt;/span&gt; StringBuilder();&lt;br /&gt;    Random random = &lt;span class="kwrd"&gt;new&lt;/span&gt; Random();&lt;br /&gt;    &lt;span class="kwrd"&gt;int&lt;/span&gt;[] symbol = &lt;span class="kwrd"&gt;new&lt;/span&gt;[] { 33, 36, 38, 64, 94 };&lt;br /&gt;    &lt;span class="kwrd"&gt;int&lt;/span&gt;[] digits = &lt;span class="kwrd"&gt;new&lt;/span&gt;[] { 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 };&lt;br /&gt;    &lt;span class="kwrd"&gt;int&lt;/span&gt; symbolsAmount = size / 3;&lt;br /&gt;    &lt;span class="kwrd"&gt;int&lt;/span&gt; digitAmount = size / 3;&lt;br /&gt;    &lt;span class="kwrd"&gt;for&lt;/span&gt;(&lt;span class="kwrd"&gt;int&lt;/span&gt; i = 0; i &amp;lt; size; i++)&lt;br /&gt;    {&lt;br /&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;int&lt;/span&gt; switcher = random.Next(3);&lt;br /&gt;        &lt;span class="kwrd"&gt;char&lt;/span&gt; ch;&lt;br /&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt;(switcher == 0 &amp;amp;&amp;amp; symbolsAmount &amp;gt; 0)&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="kwrd"&gt;int&lt;/span&gt; id = random.Next(symbol.Length);&lt;br /&gt;            ch = Convert.ToChar(symbol[id]);&lt;br /&gt;            symbolsAmount--;&lt;br /&gt;        }&lt;br /&gt;        &lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt;(switcher == 1 &amp;amp;&amp;amp; digitAmount &amp;gt; 0)&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="kwrd"&gt;int&lt;/span&gt; id = random.Next(digits.Length);&lt;br /&gt;            ch = Convert.ToChar(digits[id]);&lt;br /&gt;            digitAmount--;&lt;br /&gt;        }&lt;br /&gt;        &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="kwrd"&gt;bool&lt;/span&gt; isLower = random.Next(2) == 0 ? &lt;span class="kwrd"&gt;false&lt;/span&gt; : &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;br /&gt;            ch = Convert.ToChar(&lt;br /&gt;                 Convert.ToInt32(&lt;br /&gt;                 Math.Floor(26 * random.NextDouble() + ((isLower) ? 65 : 97))&lt;br /&gt;                     )&lt;br /&gt;                 );&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;        builder.Append(ch);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; builder.ToString();&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-2537534814826168083?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/2537534814826168083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=2537534814826168083' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/2537534814826168083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/2537534814826168083'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2010/06/generate-random-string.html' title='Generate random string'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3213389795438378451</id><published>2010-06-23T09:26:00.001+03:00</published><updated>2010-06-23T09:26:27.202+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>Range Operator in Linq</title><content type='html'>&lt;p&gt;Simple example to big item. &lt;a href="http://jalpesh.blogspot.com/2010/06/range-operator-in-linq.html" target="_blank"&gt;Click here&lt;/a&gt; to read article.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3213389795438378451?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3213389795438378451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3213389795438378451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3213389795438378451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3213389795438378451'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2010/06/range-operator-in-linq.html' title='Range Operator in Linq'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-2807775230603783305</id><published>2010-06-21T11:34:00.001+03:00</published><updated>2010-06-21T11:34:14.407+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Combinatorics Utilities</title><content type='html'>Beautiful solution to combinatorics algorithm. &lt;a href="http://noldorin.com/programming/CombinatoricsUtilities.cs.txt" target="_blank"&gt;Click here&lt;/a&gt; to read article.    &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-2807775230603783305?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/2807775230603783305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=2807775230603783305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/2807775230603783305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/2807775230603783305'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2010/06/combinatorics-utilities.html' title='Combinatorics Utilities'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-4443023740527729631</id><published>2010-04-27T17:12:00.002+03:00</published><updated>2010-04-27T17:18:12.444+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>VS 2008 SP1 deletes .dbml designer file – a solution</title><content type='html'>Also me was surprised after installation Visual Studio 2008 SP1. every little change in dbml hierarchy give raise to deleting designer file. Short googling return elegant solution:&lt;br /&gt;In partial class move all using statements after namespace&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_r9kRdupsocI/S9bwsojqHrI/AAAAAAAAIQE/93FePgLJb14/s1600-h/Linq%5B4%5D.jpg"&gt;&lt;img alt="Linq" border="0" height="66" src="http://lh5.ggpht.com/_r9kRdupsocI/S9bwtQy1hfI/AAAAAAAAIQI/gEXlswniZrg/Linq_thumb%5B2%5D.jpg?imgmax=800" style="border: 0px none; display: inline;" title="Linq" width="317" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Original code:&lt;/b&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Data.Linq;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Data.Linq.Mapping;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Reflection;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; Test&lt;br /&gt;{&lt;br /&gt;&lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; DataClassesDataContext&lt;br /&gt;{&lt;br /&gt;&lt;span class="rem"&gt;//...&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre{font-size: small;color: black;font-family: consolas, "Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;New Code:&lt;/b&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; Test&lt;br /&gt;{&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Data.Linq;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Data.Linq.Mapping;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Reflection;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; DataClassesDataContext&lt;br /&gt;{&lt;br /&gt;&lt;span class="rem"&gt;//...&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre{font-size: small;color: black;font-family: consolas, "Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;Right click on the .dbml&amp;nbsp; file and run “Run Custom Tool”. &lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-4443023740527729631?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/4443023740527729631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=4443023740527729631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4443023740527729631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4443023740527729631'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2010/04/vs-2008-sp1-deletes-dbml-designer-file.html' title='VS 2008 SP1 deletes .dbml designer file – a solution'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_r9kRdupsocI/S9bwtQy1hfI/AAAAAAAAIQI/gEXlswniZrg/s72-c/Linq_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-4313046646412262140</id><published>2010-02-11T10:47:00.002+02:00</published><updated>2010-02-24T09:35:56.064+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Twice calling Render in ASP.NET page</title><content type='html'>I have web page, which use HtmlTextWriter for creating HTML in client. List&amp;lt;T&amp;gt; get data from DB and start in loop to add HTML tags, attributes and more.&amp;nbsp; I hoped to create page with div’s, images and text, but in the debug phase i saw the Render() method called twice. After long tests and researches was found out what is a problem. In creating image &amp;lt;img&amp;gt;, a attribute “src” get value from DB and in one images “accidently” a value was …null. You can say “so what?” A problem exist not in HTML page, a problem concealing in IIS. If page has attribute &amp;lt;…src=”” …/&amp;gt; or&amp;lt;… src=”#” …&amp;gt; that makes IIS load the page twice. Good luck!&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2f2010%2f02%2ftwice-calling-render-in-aspnet-page.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2f2010%2f02%2ftwice-calling-render-in-aspnet-page.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-4313046646412262140?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/4313046646412262140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=4313046646412262140' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4313046646412262140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4313046646412262140'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2010/02/twice-calling-render-in-aspnet-page.html' title='Twice calling Render in ASP.NET page'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-8627062168470853199</id><published>2010-01-06T16:55:00.001+02:00</published><updated>2010-01-06T17:06:22.640+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>Object Property as Key in Collection</title><content type='html'>&lt;p&gt;A innovation of Dictionary got excellent solution in stocking data. After countless uses I decided to find alternative method in combination of key and object and now I offering KeyedCollection. Little example will present a using of aforementioned object:&lt;/p&gt;  &lt;p&gt;Simple classes:&lt;/p&gt;  &lt;p&gt;public class User   &lt;br /&gt;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public int Id { get; set; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public string Name { get; set; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public Address Address { get; set; }    &lt;br /&gt;&amp;#160;&amp;#160; } &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; public class Address   &lt;br /&gt;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public string Country { get; set; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public string City { get; set; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public string Zip { get; set; }    &lt;br /&gt;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;Two object that inherits abstract KeyedCollections:&lt;/p&gt;  &lt;p&gt;/// &amp;lt;summary&amp;gt;   &lt;br /&gt;///A key is ID of player     &lt;br /&gt;/// &amp;lt;/summary&amp;gt;    &lt;br /&gt;public class UserCollection : KeyedCollection&amp;lt;int, User&amp;gt;    &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; //Implementing member    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; protected override int GetKeyForItem(User item)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return item.Id;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;} &lt;/p&gt;  &lt;p&gt;/// &amp;lt;summary&amp;gt;   &lt;br /&gt;/// A key is User Name    &lt;br /&gt;/// &amp;lt;/summary&amp;gt;    &lt;br /&gt;public class UserCollection1 : KeyedCollection&amp;lt;string, User&amp;gt;    &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; //Implementing member    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; protected override string GetKeyForItem(User item)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return item.Name;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Little example to using:&lt;/p&gt;  &lt;p&gt;public class Test   &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public TestById()    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var userCollection = new UserCollection();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; userCollection.Add(new User    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Id = 5,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Name = &amp;quot;John Smith&amp;quot;,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Address = new Address    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; City = &amp;quot;NY&amp;quot;,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Country = &amp;quot;USA&amp;quot;,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Zip = &amp;quot;12345&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; userCollection.Add(new User   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Id = 17,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Name = &amp;quot;James Brown&amp;quot;,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Address = new Address    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; City = &amp;quot;LA&amp;quot;,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Country = &amp;quot;USA&amp;quot;,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Zip = &amp;quot;54321&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.Write(userCollection[6]);   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public void&amp;#160; TestByName()    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var userCollection = new UserCollection1();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; userCollection.Add(new User    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Id = 5,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Name = &amp;quot;John Smith&amp;quot;,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Address = new Address    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; City = &amp;quot;NY&amp;quot;,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Country = &amp;quot;USA&amp;quot;,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Zip = &amp;quot;12345&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; userCollection.Add(new User   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Id = 17,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Name = &amp;quot;James Brown&amp;quot;,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Address = new Address    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; City = &amp;quot;LA&amp;quot;,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Country = &amp;quot;USA&amp;quot;,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Zip = &amp;quot;54321&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.Write(userCollection[&amp;quot;John Smith&amp;quot;]);   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If a project in VS 2008 you can run in heritable object LINQ requests and more. Enjoy!&lt;/p&gt; &lt;style type="text/css"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2f2010%2f01%2fobject-property-as-key-in-collection.html"&gt;&lt;img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2f2010%2f01%2fobject-property-as-key-in-collection.html" /&gt;&lt;/a&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-8627062168470853199?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/8627062168470853199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=8627062168470853199' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/8627062168470853199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/8627062168470853199'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2010/01/object-property-as-key-in-collection.html' title='Object Property as Key in Collection'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6633804537709269786</id><published>2010-01-05T15:55:00.001+02:00</published><updated>2010-01-05T15:55:25.961+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>5 Very Useful C# Attributes</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;a href="http://hatim.indexdev.net/2009/12/17/5-very-useful-c-attributes/" target="_blank"&gt;More one good…&lt;/a&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-6633804537709269786?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6633804537709269786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6633804537709269786' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6633804537709269786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6633804537709269786'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2010/01/5-very-useful-c-attributes.html' title='5 Very Useful C# Attributes'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6810247303255023793</id><published>2010-01-05T14:01:00.001+02:00</published><updated>2010-01-05T14:01:39.760+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>10 Not So Well Known Keywords in C#</title><content type='html'>&lt;p&gt;Very impressive article! &lt;a href="http://hatim.indexdev.net/2009/12/08/10-not-so-well-known-keywords-in-c/" target="_blank"&gt;Click here&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-6810247303255023793?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6810247303255023793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6810247303255023793' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6810247303255023793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6810247303255023793'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2010/01/10-not-so-well-known-keywords-in-c.html' title='10 Not So Well Known Keywords in C#'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6361369890021833781</id><published>2009-10-25T11:16:00.001+02:00</published><updated>2009-10-25T11:16:43.447+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>SQL to LINQ Cheat Sheet</title><content type='html'>&lt;p&gt;Excellent explanation how to covert SQL query to LINQ. Click &lt;a href="http://dotnethitman.spaces.live.com/blog/cns!E149A8B1E1C25B14!470.entry"&gt;HERE&lt;/a&gt; to article.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_r9kRdupsocI/SuQXdagXgkI/AAAAAAAAHao/b_n8XKbRbFw/s1600-h/linqsyntax%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="LINQ Syntax" border="0" alt="LINQ Syntax" src="http://lh3.ggpht.com/_r9kRdupsocI/SuQXeQSFJSI/AAAAAAAAHas/JySIUGLuqUE/linqsyntax_thumb%5B2%5D.jpg?imgmax=800" width="563" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-6361369890021833781?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6361369890021833781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6361369890021833781' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6361369890021833781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6361369890021833781'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2009/10/sql-to-linq-cheat-sheet.html' title='SQL to LINQ Cheat Sheet'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_r9kRdupsocI/SuQXeQSFJSI/AAAAAAAAHas/JySIUGLuqUE/s72-c/linqsyntax_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-8979452777818086423</id><published>2009-07-12T15:16:00.001+03:00</published><updated>2009-07-12T15:16:26.874+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>C# And Accepting Parameters</title><content type='html'>&lt;p&gt;Have you ever written a function that looked similar to the following – Passing in an array of a value? To interesting solution click &lt;a href="http://somewebguy.wordpress.com/2009/07/06/csharp-and-parameters/" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;via &lt;a href="www.DotNetKicks.com" target="_blank"&gt;DotNetKicks.com&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-8979452777818086423?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/8979452777818086423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=8979452777818086423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/8979452777818086423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/8979452777818086423'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2009/07/c-and-accepting-parameters.html' title='C# And Accepting Parameters'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-4059366965790566987</id><published>2009-06-18T13:27:00.001+03:00</published><updated>2009-06-18T13:27:55.360+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Using Type Alias in C#</title><content type='html'>&lt;p&gt;To read article click &lt;a href="http://wijix.com/post/Using-Type-Alias.aspx" target="_blank"&gt;HERE&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-4059366965790566987?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/4059366965790566987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=4059366965790566987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4059366965790566987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4059366965790566987'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2009/06/using-type-alias-in-c.html' title='Using Type Alias in C#'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-7157820118087992926</id><published>2009-06-17T15:35:00.001+03:00</published><updated>2009-06-17T15:40:51.439+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Debug windows service</title><content type='html'>&lt;p&gt;In the time, when you work on development a windows service not possible to debug it. A solution is a converting service to console application or creating additional service runner or anymore. I want to present very simple, effective and easy way how to resolve this. In debug mode will run application and in not debug mode will run service.&lt;/p&gt;  &lt;pre class="csharpcode"&gt;[RunInstaller(&lt;span class="kwrd"&gt;true&lt;/span&gt;)]&lt;br /&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; ServiceRunner : ServiceBase&lt;br /&gt;{&lt;br /&gt;    [STAThread]&lt;br /&gt;    &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main()&lt;br /&gt;    {&lt;br /&gt;&lt;span class="preproc"&gt;#if&lt;/span&gt; !DEBUG&lt;br /&gt;        &lt;span class="rem"&gt;//Run Windows Service&lt;/span&gt;&lt;br /&gt;        Run(&lt;span class="kwrd"&gt;new&lt;/span&gt; ServiceRunner());&lt;br /&gt;&lt;span class="preproc"&gt;#else&lt;/span&gt;&lt;br /&gt;        &lt;span class="rem"&gt;//Run Application&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;new&lt;/span&gt; YourServiceBody();&lt;br /&gt;&lt;span class="preproc"&gt;#endif&lt;/span&gt;&lt;br /&gt;    }&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; ServiceRunner()&lt;br /&gt;    {&lt;br /&gt;        InitializeComponent();&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;    &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; OnStart(&lt;span class="kwrd"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;new&lt;/span&gt; YourServiceBody();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; OnStop()&lt;br /&gt;    {}&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Good luck!&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2f2009%2f06%2fdebug-windows-service.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2f2009%2f06%2fdebug-windows-service.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-7157820118087992926?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/7157820118087992926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=7157820118087992926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/7157820118087992926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/7157820118087992926'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2009/06/debug-windows-service.html' title='Debug windows service'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-9115675002059358520</id><published>2009-05-12T16:17:00.001+03:00</published><updated>2009-05-12T16:17:22.373+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Singletons vs. Static Classes</title><content type='html'>To read article click &lt;a href="http://leedumond.com/blog/singletons-vs-static-classes/" target="_blank"&gt;HERE&lt;/a&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-9115675002059358520?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/9115675002059358520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=9115675002059358520' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/9115675002059358520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/9115675002059358520'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2009/05/singletons-vs-static-classes.html' title='Singletons vs. Static Classes'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3183937713751505959</id><published>2009-04-05T14:17:00.003+03:00</published><updated>2009-06-17T15:09:34.342+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Clone an object in C# using reflection for system and generic types</title><content type='html'>&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;object&lt;/span&gt; Clone()&lt;br /&gt;{&lt;br /&gt;    &lt;span class="kwrd"&gt;object&lt;/span&gt; newObject = Activator.CreateInstance(GetType());&lt;br /&gt;    PropertyInfo[] propertyInfos = GetType().GetProperties();&lt;br /&gt;    &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (PropertyInfo propertyInfo &lt;span class="kwrd"&gt;in&lt;/span&gt; propertyInfos)&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (propertyInfo.PropertyType.IsGenericType)&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (propertyInfo.PropertyType.GetInterface(&lt;span class="str"&gt;&amp;quot;IList&amp;quot;&lt;/span&gt;, &lt;span class="kwrd"&gt;true&lt;/span&gt;) != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;br /&gt;            {&lt;br /&gt;                IList oldList = propertyInfo.GetValue(&lt;span class="kwrd"&gt;this&lt;/span&gt;, &lt;span class="kwrd"&gt;null&lt;/span&gt;) &lt;span class="kwrd"&gt;as&lt;/span&gt; IList;&lt;br /&gt;                &lt;span class="kwrd"&gt;if&lt;/span&gt; (oldList != &lt;span class="kwrd"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; oldList.Count &amp;gt; 0 &amp;amp;&amp;amp;&lt;br /&gt;            oldList[0].GetType().GetInterface(&lt;span class="str"&gt;&amp;quot;ICloneable&amp;quot;&lt;/span&gt;, &lt;span class="kwrd"&gt;true&lt;/span&gt;) != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;br /&gt;                {&lt;br /&gt;                    IList newList = (IList)propertyInfo.GetValue(newObject, &lt;span class="kwrd"&gt;null&lt;/span&gt;);&lt;br /&gt;                    &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (&lt;span class="kwrd"&gt;object&lt;/span&gt; obj &lt;span class="kwrd"&gt;in&lt;/span&gt; oldList)&lt;br /&gt;                    {&lt;br /&gt;                        ICloneable clone = (ICloneable)obj;&lt;br /&gt;                        newList.Add(clone.Clone());&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;br /&gt;                {&lt;br /&gt;                    propertyInfo.SetValue(newObject, oldList, &lt;span class="kwrd"&gt;null&lt;/span&gt;);&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (propertyInfo.PropertyType.GetInterface(&lt;span class="str"&gt;&amp;quot;IDictionary&amp;quot;&lt;/span&gt;, &lt;span class="kwrd"&gt;true&lt;/span&gt;) != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;br /&gt;            {&lt;br /&gt;                IDictionary oldDic =&lt;br /&gt;                  propertyInfo.GetValue(&lt;span class="kwrd"&gt;this&lt;/span&gt;, &lt;span class="kwrd"&gt;null&lt;/span&gt;) &lt;span class="kwrd"&gt;as&lt;/span&gt; IDictionary;&lt;br /&gt;                &lt;span class="kwrd"&gt;if&lt;/span&gt; (oldDic != &lt;span class="kwrd"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; oldDic.Count &amp;gt; 0 &amp;amp;&amp;amp;&lt;br /&gt;               oldDic[0].GetType().GetInterface(&lt;span class="str"&gt;&amp;quot;ICloneable&amp;quot;&lt;/span&gt;, &lt;span class="kwrd"&gt;true&lt;/span&gt;) != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;br /&gt;                {&lt;br /&gt;                    IDictionary newDic =&lt;br /&gt;                     (IDictionary)propertyInfo.GetValue(newObject, &lt;span class="kwrd"&gt;null&lt;/span&gt;);&lt;br /&gt;                    &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (DictionaryEntry entry &lt;span class="kwrd"&gt;in&lt;/span&gt; oldDic)&lt;br /&gt;                    {&lt;br /&gt;                        ICloneable clone = (ICloneable)entry.Value;&lt;br /&gt;                        newDic[entry.Key] = clone.Clone();&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;br /&gt;                {&lt;br /&gt;                    propertyInfo.SetValue(newObject, oldDic, &lt;span class="kwrd"&gt;null&lt;/span&gt;);&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="rem"&gt;//Clone IClonable object&lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (propertyInfo.GetType().GetInterface(&lt;span class="str"&gt;&amp;quot;ICloneable&amp;quot;&lt;/span&gt;, &lt;span class="kwrd"&gt;true&lt;/span&gt;) != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;br /&gt;            {&lt;br /&gt;                ICloneable clone = (ICloneable)propertyInfo.GetValue(&lt;span class="kwrd"&gt;this&lt;/span&gt;, &lt;span class="kwrd"&gt;null&lt;/span&gt;);&lt;br /&gt;                propertyInfo.SetValue(newObject, clone.Clone(), &lt;span class="kwrd"&gt;null&lt;/span&gt;);&lt;br /&gt;            }&lt;br /&gt;            &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                propertyInfo.SetValue(&lt;br /&gt;                 newObject, propertyInfo.GetValue(&lt;span class="kwrd"&gt;this&lt;/span&gt;, &lt;span class="kwrd"&gt;null&lt;/span&gt;), &lt;span class="kwrd"&gt;null&lt;/span&gt;);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; newObject;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: 80%;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3183937713751505959?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3183937713751505959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3183937713751505959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3183937713751505959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3183937713751505959'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2009/04/clone-object-in-c-using-reflection-for.html' title='Clone an object in C# using reflection for system and generic types'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-7672388325964254341</id><published>2008-09-25T10:30:00.001+03:00</published><updated>2008-09-25T10:30:22.804+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Snippet Designer for Visual Studio 2008</title><content type='html'>&lt;p&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The Snippet Designer is a plugin which enhances the Visual Studio IDE to allow a richer and more productive code snippet experience. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://www.codeplex.com/SnippetDesigner" target="_blank"&gt;Home Page&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-7672388325964254341?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/7672388325964254341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=7672388325964254341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/7672388325964254341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/7672388325964254341'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/09/snippet-designer-for-visual-studio-2008.html' title='Snippet Designer for Visual Studio 2008'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-1524678789871816681</id><published>2008-08-14T18:42:00.007+03:00</published><updated>2009-06-17T15:20:31.872+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Multi Sorting array of objects</title><content type='html'>&lt;font size="2"&gt;A method sort (asc and desc) array of objects by properties and return sorted array.    &lt;br /&gt;&lt;/font&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; T[] MultiSortObjectArray&amp;lt;T&amp;gt;(T[] objects,&lt;br /&gt;                                           &lt;span class="kwrd"&gt;bool&lt;/span&gt; isReverseSort, &lt;span class="kwrd"&gt;params&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;[] propertyNames)&lt;br /&gt;{&lt;br /&gt;    &lt;span class="rem"&gt;//Get array object type&lt;/span&gt;&lt;br /&gt;    PropertyInfo[] propertiesInfo = (&lt;span class="kwrd"&gt;typeof&lt;/span&gt; (T)).GetProperties();&lt;br /&gt;    &lt;span class="rem"&gt;//Define list of properties for sorting&lt;/span&gt;&lt;br /&gt;    List&amp;lt;PropertyInfo&amp;gt; lstProperties2Compare = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;PropertyInfo&amp;gt;();&lt;br /&gt;&lt;br /&gt;    &lt;span class="rem"&gt;//Check sorting properties one by one&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (&lt;span class="kwrd"&gt;string&lt;/span&gt; sortPropertyName &lt;span class="kwrd"&gt;in&lt;/span&gt; propertyNames)&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="rem"&gt;//Find sorting property in Object property&lt;/span&gt;&lt;br /&gt;        PropertyInfo sortProperty = &lt;br /&gt;            Array.Find(propertiesInfo,&lt;br /&gt;               &lt;span class="kwrd"&gt;delegate&lt;/span&gt;(PropertyInfo property)&lt;br /&gt;                   {&lt;br /&gt;                       &lt;span class="kwrd"&gt;return&lt;/span&gt; (&lt;br /&gt;                                  &lt;span class="kwrd"&gt;string&lt;/span&gt;.Compare(property.Name, sortPropertyName,&lt;br /&gt;                                                 &lt;span class="kwrd"&gt;true&lt;/span&gt;) == 0&lt;br /&gt;                              );&lt;br /&gt;                   }&lt;br /&gt;            );&lt;br /&gt;&lt;br /&gt;        &lt;span class="rem"&gt;//Add existing property to sorting list&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (sortProperty != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;br /&gt;            lstProperties2Compare.Add(sortProperty);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (lstProperties2Compare.Count == 0)&lt;br /&gt;        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;    Array.Sort(objects,&lt;br /&gt;               &lt;span class="kwrd"&gt;delegate&lt;/span&gt;(T x, T y)&lt;br /&gt;                   {&lt;br /&gt;                       &lt;span class="kwrd"&gt;int&lt;/span&gt; result = -1;&lt;br /&gt;                       &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (PropertyInfo propInfo2Compare &lt;span class="kwrd"&gt;in&lt;/span&gt;&lt;br /&gt;                           lstProperties2Compare)&lt;br /&gt;                       {&lt;br /&gt;                           result = (!isReverseSort)&lt;br /&gt;                                        ? &lt;span class="rem"&gt;//Sort by asc&lt;/span&gt;&lt;br /&gt;                                    (&lt;span class="kwrd"&gt;new&lt;/span&gt; CaseInsensitiveComparer()).Compare(&lt;br /&gt;                                        propInfo2Compare.GetValue(x, &lt;span class="kwrd"&gt;null&lt;/span&gt;),&lt;br /&gt;                                        propInfo2Compare.GetValue(y, &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;br /&gt;                                        )&lt;br /&gt;                                        : &lt;span class="rem"&gt;//Sort by desc&lt;/span&gt;&lt;br /&gt;                                    (&lt;span class="kwrd"&gt;new&lt;/span&gt; CaseInsensitiveComparer()).Compare(&lt;br /&gt;                                        propInfo2Compare.GetValue(y, &lt;span class="kwrd"&gt;null&lt;/span&gt;),&lt;br /&gt;                                        propInfo2Compare.GetValue(x, &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;br /&gt;                                        );&lt;br /&gt;                           &lt;span class="rem"&gt;//If x equals y continue compare process&lt;/span&gt;&lt;br /&gt;                           &lt;span class="kwrd"&gt;if&lt;/span&gt; (result != 0)&lt;br /&gt;                               &lt;span class="kwrd"&gt;break&lt;/span&gt;;&lt;br /&gt;                       }&lt;br /&gt;&lt;br /&gt;                       &lt;span class="kwrd"&gt;return&lt;/span&gt; result;&lt;br /&gt;                   }&lt;br /&gt;        );&lt;br /&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; objects;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;style type="text/css"&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;style type="text/css"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: 70%;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt&lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2f2008%2f08%2fmulti-sorting-array-of-objects.html"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2f2008%2f08%2fmulti-sorting-array-of-objects.html" border="0" /&gt;&lt;/a&gt;&lt;/pre&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-1524678789871816681?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/1524678789871816681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=1524678789871816681' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1524678789871816681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1524678789871816681'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/08/multi-sorting-array-of-objects.html' title='Multi Sorting array of objects'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-4953498360561617629</id><published>2008-06-16T10:02:00.001+03:00</published><updated>2008-06-16T10:02:37.566+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><title type='text'>Free CSS Designs</title><content type='html'>&lt;p&gt;List of&amp;#160; free web design templates:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.oswd.org/" target="_blank"&gt;Open Source Web Design&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.openwebdesign.org/" target="_blank"&gt;Open Web Design&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.opensourcetemplates.org/" target="_blank"&gt;Open Source Templates&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.oswt.co.uk/" target="_blank"&gt;Open Source Web Templates (oswt)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.free-css.com/" target="_blank"&gt;Free CSS.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.styleshout.com/" target="_blank"&gt;Style Shout&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-4953498360561617629?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/4953498360561617629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=4953498360561617629' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4953498360561617629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4953498360561617629'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/06/free-css-designs.html' title='Free CSS Designs'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3659577247363986800</id><published>2008-05-14T11:50:00.001+03:00</published><updated>2008-05-14T11:50:19.330+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Sys.WebForms.PageRequestManagerParserError in MS AJAX</title><content type='html'>&lt;p&gt;Thanks to &lt;a href="https://server15.kproxy.com/servlet/redirect.srv/sruj/sukfofoebr/p1/blog/al/default.aspx" target="_blank"&gt;Al Pascual&lt;/a&gt; to solution.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;On top of the webform add: &lt;/p&gt;&lt;pre class="csharpcode"&gt;enableEventValidation=&lt;span class="str"&gt;"false"&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;To full article lick &lt;a href="https://server15.kproxy.com/servlet/redirect.srv/sruj/sukfofoebr/p1/blog/al/archive/2008/04/23/how-to-fix-sys-webforms-pagerequestmanagerparsererrorexception-in-ajax-1-0.aspx" target="_blank"&gt;Here&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3659577247363986800?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3659577247363986800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3659577247363986800' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3659577247363986800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3659577247363986800'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/05/syswebformspagerequestmanagerparsererro.html' title='Sys.WebForms.PageRequestManagerParserError in MS AJAX'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3022513431340846235</id><published>2008-05-04T12:58:00.001+03:00</published><updated>2008-05-04T12:58:05.453+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>10 Tips to Improve your LINQ to SQL Application Performance</title><content type='html'>&lt;p&gt;&lt;a href="http://www.sidarok.com/web/blog/content/2008/05/02/10-tips-to-improve-your-linq-to-sql-application-performance.html" target="_blank"&gt;Full arcticle&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3022513431340846235?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3022513431340846235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3022513431340846235' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3022513431340846235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3022513431340846235'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/05/10-tips-to-improve-your-linq-to-sql.html' title='10 Tips to Improve your LINQ to SQL Application Performance'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-1993476326222331566</id><published>2008-04-28T09:33:00.001+03:00</published><updated>2008-04-28T09:33:43.079+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Get column info in MS SQL</title><content type='html'>&lt;p&gt;Existing some ways how to get column information, but &lt;a href="http://weblogs.sqlteam.com/joew/archive/2008/04/27/60574.aspx" target="_blank"&gt;Joe Webb&lt;/a&gt; offered very simple and effective query:&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;SELECT&lt;/span&gt; &lt;br /&gt;   ORDINAL_POSITION&lt;br /&gt;  ,COLUMN_NAME&lt;br /&gt;  ,DATA_TYPE&lt;br /&gt;  ,CHARACTER_MAXIMUM_LENGTH&lt;br /&gt;  ,IS_NULLABLE&lt;br /&gt;  ,COLUMN_DEFAULT&lt;br /&gt;&lt;span class="kwrd"&gt;FROM&lt;/span&gt;   &lt;br /&gt;  INFORMATION_SCHEMA.COLUMNS &lt;br /&gt;&lt;span class="kwrd"&gt;WHERE&lt;/span&gt;   &lt;br /&gt;  TABLE_NAME =&lt;span class="str"&gt;'TABLE_NAME'&lt;/span&gt; &lt;br /&gt;&lt;span class="kwrd"&gt;ORDER&lt;/span&gt; &lt;span class="kwrd"&gt;BY&lt;/span&gt; &lt;br /&gt;  ORDINAL_POSITION &lt;span class="kwrd"&gt;ASC&lt;/span&gt;; &lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-1993476326222331566?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/1993476326222331566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=1993476326222331566' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1993476326222331566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1993476326222331566'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/04/get-column-info-in-ms-sql.html' title='Get column info in MS SQL'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6513253694736604910</id><published>2008-04-08T09:59:00.001+03:00</published><updated>2008-04-09T09:28:54.485+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>VS 2005 Intellisense in web.config files stop work</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;&lt;b&gt;Now one annoying gotcha:&lt;/b&gt;  &lt;p&gt;There is one gotcha to be aware of, though, that can sometimes cause intellisense for the web.config file to stop working in the IDE. This happens when a default namespace is added to the root &amp;lt;configuration&amp;gt; element. For example, like so:&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;configuration&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;=&lt;br /&gt;&lt;span class="kwrd"&gt;"http://schemas.microsoft.com/.NetConfiguration/v2.0"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: 80%;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: 80%;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This doesn’t cause any runtime problems – but it does stop intellisense completion happening for the built-in .NET XML elements in the web.config file. &lt;br /&gt;&lt;p&gt;The bad news is that the built-in web admin tool (launched via the WebSite-&amp;gt;ASP.NET Configuration menu item in VS 2005 and Visual Web Developer) always adds this xmlns namespace when it launches – so if you use this tool to manage users/roles you’ll end up having it added to your web.config file for you. &lt;br /&gt;&lt;p&gt;&lt;strong&gt;How to fix this gotcha:&lt;/strong&gt; &lt;br /&gt;&lt;p&gt;To get intellisense back when you are editing the web.config file in the IDE, just delete the xmlns reference and have the root configuration element look like so:&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;configuration&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: 80%;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Everything will then work fine again.&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;pre class="csharpcode"&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2005/12/02/432077.aspx" target="_blank"&gt;via&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: 60%;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;&lt;/style&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-6513253694736604910?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6513253694736604910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6513253694736604910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6513253694736604910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6513253694736604910'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/04/vs-2005-intellisense-in-webconfig-files.html' title='VS 2005 Intellisense in web.config files stop work'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6376325260426423797</id><published>2008-03-30T09:58:00.001+03:00</published><updated>2008-03-30T09:58:25.985+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>The regular expression generator</title><content type='html'>&lt;p&gt;Click &lt;a href="http://www.txt2re.com/index-csharp.php3" target="_blank"&gt;Here&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-6376325260426423797?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6376325260426423797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6376325260426423797' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6376325260426423797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6376325260426423797'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/03/regular-expression-generator.html' title='The regular expression generator'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-4506183550432030177</id><published>2008-03-27T17:32:00.001+02:00</published><updated>2008-03-27T17:34:30.157+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>HttpWebRequest over SSL</title><content type='html'>&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt;&lt;br /&gt;AcceptAllCertificatePolicy(&lt;br /&gt;    &lt;span class="kwrd"&gt;object&lt;/span&gt; sender,&lt;br /&gt;    X509Certificate certificate,&lt;br /&gt;    X509Chain chain,&lt;br /&gt;    SslPolicyErrors sslPolicyErrors)&lt;br /&gt;{&lt;br /&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;The returned value determines whether the specified certificate is accepted for authentication. &lt;br /&gt;&lt;p&gt;Then set:&lt;pre class="csharpcode"&gt;ServicePointManager.ServerCertificateValidationCallback&lt;br /&gt; += AcceptAllCertificatePolicy;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;From &lt;a href="http://www.devmuse.com/2008/03/19/how-to-use-httpwebrequest-over-ssl/" target="_blank"&gt;here&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: 80%;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-4506183550432030177?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/4506183550432030177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=4506183550432030177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4506183550432030177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4506183550432030177'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/03/httpwebrequest-over-ssl.html' title='HttpWebRequest over SSL'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3410439658478288698</id><published>2008-03-25T16:48:00.001+02:00</published><updated>2008-03-25T16:48:19.092+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Inline ASP.NET tags(&lt;%$, &lt;%=, &lt;%, &lt;%#, etc.)</title><content type='html'>&lt;p&gt;Full article read &lt;a href="http://naspinski.com/post/inline-aspnet-tags-sorting-them-all-out-(3c25242c-3c253d2c-3c252c-3c252c-etc).aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3410439658478288698?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3410439658478288698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3410439658478288698' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3410439658478288698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3410439658478288698'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/03/inline-aspnet-tags-etc.html' title='Inline ASP.NET tags(&amp;lt;%$, &amp;lt;%=, &amp;lt;%, &amp;lt;%#, etc.)'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-5681648439876213192</id><published>2008-03-18T09:44:00.001+02:00</published><updated>2008-03-18T09:44:05.587+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Class name generator</title><content type='html'>&lt;p&gt;Can't think of a good class name? Try this: &lt;a href="http://www.classnamer.com/" target="_blank"&gt;&lt;strong&gt;ClassNamer&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-5681648439876213192?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/5681648439876213192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=5681648439876213192' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/5681648439876213192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/5681648439876213192'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/03/class-name-generator.html' title='Class name generator'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3134432588953496213</id><published>2008-03-09T09:56:00.001+02:00</published><updated>2008-03-09T09:59:07.460+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Singleton Factory in C#</title><content type='html'>&lt;pre class="csharpcode"&gt;    &lt;span class="rem"&gt;// this is the class for which&lt;/span&gt;&lt;br /&gt;   &lt;span class="rem"&gt;// I want to maintain a single instance&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; MyClass&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;private&lt;/span&gt; MyClass()&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="rem"&gt;/* private constructor ensures that&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;              callers cannot instantiate an&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;               object using new() */&lt;/span&gt;&lt;br /&gt;         }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span class="rem"&gt;// Singleton factory implementation&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; Singleton&amp;lt;T&amp;gt; &lt;span class="kwrd"&gt;where&lt;/span&gt; T : &lt;span class="kwrd"&gt;class&lt;/span&gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="rem"&gt;// static constructor, &lt;/span&gt;&lt;br /&gt;        &lt;span class="rem"&gt;//runtime ensures thread safety&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;static&lt;/span&gt; Singleton()&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="rem"&gt;// create the single instance &lt;/span&gt;&lt;br /&gt;  	   &lt;span class="rem"&gt;//	of the type T using reflection&lt;/span&gt;&lt;br /&gt;            Instance = (T)Activator.CreateInstance(&lt;br /&gt;            &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(T),&lt;span class="kwrd"&gt;true&lt;/span&gt;);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span class="rem"&gt;// serve the single instance to callers&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; T Instance { &lt;span class="kwrd"&gt;private&lt;/span&gt; set; get; }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;class&lt;/span&gt; Program&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main()&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="rem"&gt;// test&lt;/span&gt;&lt;br /&gt;            Console.WriteLine(&lt;br /&gt;               Object.ReferenceEquals(&lt;br /&gt;                Singleton&amp;lt;MyClass&amp;gt;.Instance, &lt;br /&gt;                Singleton&amp;lt;MyClass&amp;gt;.Instance));&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: 80%;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="font-size: 60%" &gt;via &lt;a href="http://www.cognitivecoding.com/2008/03/hidden-gem-singleton-factory-in-c.html" target="_blank"&gt;Cognitive Coding&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3134432588953496213?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3134432588953496213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3134432588953496213' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3134432588953496213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3134432588953496213'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/03/singleton-factory-in-c.html' title='Singleton Factory in C#'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3898019065697118391</id><published>2008-03-06T10:04:00.001+02:00</published><updated>2008-03-06T10:04:37.051+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Patterns and Practices: Complete Catalog</title><content type='html'>&lt;p&gt;Full catalog by index of the patterns &amp;amp; practices:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2008/03/04/patterns-and-practices-complete-catalog.aspx" target="_blank"&gt;Link 1&lt;/a&gt; or &lt;a href="http://msdn2.microsoft.com/en-us/practices/bb190351.aspx" target="_blank"&gt;Link 2&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3898019065697118391?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3898019065697118391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3898019065697118391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3898019065697118391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3898019065697118391'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/03/patterns-and-practices-complete-catalog.html' title='Patterns and Practices: Complete Catalog'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6270056591716710908</id><published>2008-02-26T10:38:00.001+02:00</published><updated>2008-02-26T10:38:57.965+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Disable .pdb file generation in Release Mode</title><content type='html'>&lt;p&gt;&lt;a href="http://gchandra.wordpress.com/2008/02/22/disable-pdp-file-generation-in-release-mode/" target="_blank"&gt;Click here&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-6270056591716710908?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6270056591716710908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6270056591716710908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6270056591716710908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6270056591716710908'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/02/disable-pdb-file-generation-in-release.html' title='Disable .pdb file generation in Release Mode'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-1040679958764861864</id><published>2008-02-24T10:01:00.001+02:00</published><updated>2008-02-24T10:03:11.910+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>.NET Framework V2.0 Obsolete API List</title><content type='html'>&lt;p&gt;Obsolete List: &lt;a href="http://msdn2.microsoft.com/hi-in/netframework/aa497287(en-us).aspx" target="_blank"&gt;By Assembly&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Obsolete List: &lt;a href="http://msdn2.microsoft.com/hi-in/netframework/aa497288(en-us).aspx" target="_blank"&gt;By Namespace&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Full article in &lt;a href="http://msdn2.microsoft.com/hi-in/netframework/aa497286(en-us).aspx" target="_blank"&gt;MSDN&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-1040679958764861864?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/1040679958764861864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=1040679958764861864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1040679958764861864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1040679958764861864'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/02/net-framework-v20-obsolete-api-list.html' title='.NET Framework V2.0 Obsolete API List'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-4396814325877468471</id><published>2008-02-18T09:39:00.001+02:00</published><updated>2008-02-18T09:39:18.451+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Enum Utilities</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;In this article I will discuss some classes I've written to simplify working with enumerations. The primary thrust of these classes is added functionality, but in some cases there are performance improvements as well.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;a href="http://www.codeproject.com/KB/cs/EnumTools.aspx" target="_blank"&gt;Click here&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.codeproject.com/KB/cs/EnumTools/EnumTools.zip" target="_blank"&gt;Download source&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The zip file contains: &lt;br&gt;EnumDefaultValueAttribute.cs&lt;br&gt;EnumTransmogrifier.cs &lt;br&gt;LibEnum.cs &lt;br&gt;build.bat &lt;br&gt;csc.rsp &lt;br&gt;EnumDemo1.cs &lt;br&gt;EnumDemo2.cs &lt;br&gt;EnumDump.cs &lt;br&gt;MonthEnum.cs &lt;br&gt;PolyglotAttribute.cs &lt;br&gt;WeekdayEnum.cs &lt;/p&gt; &lt;p&gt;Once you extract the files to a directory you should be able to execute build.bat to compile the demo programs. (They are console applications.)  &lt;p&gt;To use the methods in your own projects, simply add the appropriate files.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-4396814325877468471?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/4396814325877468471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=4396814325877468471' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4396814325877468471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4396814325877468471'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/02/enum-utilities.html' title='Enum Utilities'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-4694292627108291561</id><published>2008-02-17T12:57:00.001+02:00</published><updated>2008-02-17T12:57:08.726+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Directives in Asp.Net</title><content type='html'>&lt;p&gt;Directives are used to pass optional settings to the ASP.NET pages and compilers.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.the3factory.com/post/2008/02/Aspnet-Directives.aspx" target="_blank"&gt;Click here to read article.&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-4694292627108291561?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/4694292627108291561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=4694292627108291561' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4694292627108291561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4694292627108291561'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/02/directives-in-aspnet.html' title='Directives in Asp.Net'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6584690647651790134</id><published>2008-02-12T13:14:00.001+02:00</published><updated>2008-02-12T13:18:14.787+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Custom Controls: Extra Property Tab</title><content type='html'>&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.ComponentModel;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Drawing;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Data;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Text;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Forms;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; Elsehemy.Controls&lt;br /&gt;{&lt;br /&gt;    [Designer(&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(UserControlDesigner))]&lt;br /&gt;    [PropertyTab(&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(ExtraSuperTab), &lt;br /&gt;          PropertyTabScope.Component)]&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; TestUserControl : UserControl&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; TestUserControl()&lt;br /&gt;        {&lt;br /&gt;            InitializeComponent();&lt;br /&gt;        }&lt;br /&gt;        &lt;span class="kwrd"&gt;int&lt;/span&gt; _x;&lt;br /&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; XXX&lt;br /&gt;        {&lt;br /&gt;            get { &lt;span class="kwrd"&gt;return&lt;/span&gt; _x; }&lt;br /&gt;            set { _x = &lt;span class="kwrd"&gt;value&lt;/span&gt;; }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; ExtraSuperTab : &lt;br /&gt;         System.Windows.Forms.Design.PropertyTab&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; PropertyDescriptorCollection&lt;br /&gt;         GetProperties(&lt;span class="kwrd"&gt;object&lt;/span&gt; component, &lt;br /&gt;                        Attribute[] attributes)&lt;br /&gt;        {&lt;br /&gt;            PropertyDescriptor pd = &lt;br /&gt;               TypeDescriptor.CreateProperty(&lt;br /&gt;                          component.GetType(),&lt;br /&gt;                          &lt;span class="str"&gt;"XXX"&lt;/span&gt;,&lt;br /&gt;                           &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;int&lt;/span&gt;), &lt;br /&gt;             &lt;span class="kwrd"&gt;new&lt;/span&gt; CategoryAttribute(&lt;span class="str"&gt;"Super Properties"&lt;/span&gt;));&lt;br /&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; (&lt;br /&gt;                &lt;span class="kwrd"&gt;new&lt;/span&gt; PropertyDescriptorCollection(&lt;br /&gt;                         &lt;span class="kwrd"&gt;new&lt;/span&gt; PropertyDescriptor[]{pd}&lt;br /&gt;                                               ));&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; TabName&lt;br /&gt;        {&lt;br /&gt;            get { &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="str"&gt;"Super Tab"&lt;/span&gt;; }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; System.Drawing.Bitmap Bitmap&lt;br /&gt;        {&lt;br /&gt;            get&lt;br /&gt;            {&lt;br /&gt;                &lt;span class="kwrd"&gt;return&lt;/span&gt; (System.Drawing.Bitmap)System.&lt;br /&gt;                  Drawing.Image.FromFile(&lt;span class="str"&gt;@"C:\icon.jpg"&lt;/span&gt;);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;And in the control don't forget the attribute &lt;pre class="csharpcode"&gt;[PropertyTab(&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(ExtraSuperTab),&lt;br /&gt;       PropertyTabScope.Component)] &lt;br /&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; TestUserControl : UserControl&lt;br /&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;img src="http://www.amrelsehemy.net/image.axd?picture=WindowsLiveWriter/CustomControlsDesignTimeSupportPart14Ext_142C8/ss_2.png"&gt; &lt;/pre&gt;&lt;pre class="csharpcode"&gt;Via &lt;a href="http://www.amrelsehemy.net/post/2008/02/Custom-Controls-Design-Time-Support-Part-14-Extra-Property-Tab.aspx" target="_blank"&gt;Amr Elsehemy's Blog&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: 80%;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-6584690647651790134?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6584690647651790134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6584690647651790134' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6584690647651790134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6584690647651790134'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/02/custom-controls-extra-property-tab.html' title='Custom Controls: Extra Property Tab'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-4751446914356375930</id><published>2008-02-10T10:48:00.001+02:00</published><updated>2008-02-10T10:48:18.075+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>How to use delegates to remove duplicated code</title><content type='html'>&lt;p&gt;&lt;a href="http://jachman.wordpress.com/2008/02/06/how-to-use-delegates-to-remove-duplicated-code/" target="_blank"&gt;Click Here&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-4751446914356375930?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/4751446914356375930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=4751446914356375930' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4751446914356375930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4751446914356375930'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/02/how-to-use-delegates-to-remove.html' title='How to use delegates to remove duplicated code'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6009510276505772516</id><published>2008-02-10T10:45:00.001+02:00</published><updated>2008-02-10T10:49:09.182+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Static Extension Methods</title><content type='html'>&lt;pre class="csharpcode"&gt;DateTime d = DateTime.Yesterday();&lt;br /&gt;&lt;span class="rem"&gt;//...&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; DateTime Yesterday&amp;lt;&lt;span class="kwrd"&gt;this&lt;/span&gt; DateTime&amp;gt;()&lt;br /&gt;{&lt;br /&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; DateTime.Today.AddDays(-1);&lt;br /&gt;}&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: 80%;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;Via &lt;a href="http://www.madprops.org/cs/blogs/mabster/archive/2008/02/06/static-extension-methods.aspx" target="_blank"&gt;Mabstrerama&lt;/a&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-6009510276505772516?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6009510276505772516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6009510276505772516' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6009510276505772516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6009510276505772516'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/02/static-extension-methods.html' title='Static Extension Methods'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-1945076231905796893</id><published>2008-02-06T10:22:00.001+02:00</published><updated>2008-02-06T10:22:38.245+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Security Tutorials by Microsoft</title><content type='html'>&lt;p&gt;A series of tutorials about ASP.NET Security, that include 3 articles:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.asp.net/learn/security/tutorial-01-cs.aspx" target="_blank"&gt;Security Basics and ASP.NET Support&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.asp.net/learn/security/tutorial-02-cs.aspx" target="_blank"&gt;An Overview of Forms Authentication&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.asp.net/learn/security/tutorial-03-cs.aspx" target="_blank"&gt;Forms Authentication Configuration and Advanced Topics&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;A &lt;a href="http://www.asp.net/learn/security/?lang=cs" target="_blank"&gt;tutorial series&lt;/a&gt; is showing in C# and VB.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-1945076231905796893?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/1945076231905796893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=1945076231905796893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1945076231905796893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1945076231905796893'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/02/security-tutorials-by-microsoft.html' title='Security Tutorials by Microsoft'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-1074741274829302307</id><published>2008-02-05T10:12:00.001+02:00</published><updated>2008-02-05T10:12:55.436+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>101 Design Patterns &amp; Tips for Developers</title><content type='html'>&lt;p&gt;Full guide for developer how to create your application in the using&amp;nbsp;&amp;nbsp; a "design patterns", that include next parts:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Creational Patterns&lt;/li&gt; &lt;li&gt;Structural Patterns&lt;/li&gt; &lt;li&gt;Behavioral Patterns&lt;/li&gt; &lt;li&gt;Composing Methods of Refactoring&lt;/li&gt; &lt;li&gt;Moving Features Between Objects&lt;/li&gt; &lt;li&gt;Organizing Data&lt;/li&gt; &lt;li&gt;Simplifying Conditional Expressions&lt;/li&gt; &lt;li&gt;Making Method Calls Simpler&lt;/li&gt; &lt;li&gt;Dealing with Generalization&lt;/li&gt; &lt;li&gt;Big Refactorings&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Click &lt;a href="http://sourcemaking.com/design-patterns-and-tips" target="_blank"&gt;here&lt;/a&gt; to read.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-1074741274829302307?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/1074741274829302307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=1074741274829302307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1074741274829302307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1074741274829302307'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/02/101-design-patterns-tips-for-developers.html' title='101 Design Patterns &amp;amp; Tips for Developers'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-8866406815466331432</id><published>2008-01-28T10:49:00.001+02:00</published><updated>2008-01-28T10:59:33.754+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><title type='text'>The Chart free generation for Web Application from Google</title><content type='html'>&lt;p&gt;Google Provided addition tool for Web developers&amp;nbsp; - &lt;a href="http://code.google.com/intl/ru/apis/chart/" target="_blank"&gt;The Google Chart API&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;You can create a charts in very simple way - build necessary URL and will receive chart in one of 5 &lt;a href="http://code.google.com/intl/ru/apis/chart/#chart_type" target="_blank"&gt;types&lt;/a&gt; (Line, Bar, Pie, Venn or Scatter).&lt;/p&gt; &lt;p&gt;A simple "pie" for example: &lt;/p&gt; &lt;p&gt;URL = "http://chart.apis.google.com/chart?&lt;/br&gt;cht=p3&amp;chco=4C8ED6&amp;chs=250x120&amp;&lt;/br&gt;chl=Sun|Mon|Tue|Wed|Thu|Fri|Sat&amp;chd=s:ABCDEFG"&lt;/p&gt; &lt;p&gt;and a result:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;img src="http://chart.apis.google.com/chart?cht=p3&amp;amp;chco=4C8ED6&amp;amp;chs=250x120&amp;amp;chl=Sun|Mon|Tue|Wed|Thu|Fri|Sat&amp;amp;chd=s:ABCDEFG"&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;In your control next chart parameters: Data, Type, Colors, Labels, Style, Character mappings and several optional parameters.&lt;/p&gt; &lt;p&gt;To Home Page click &lt;a href="http://code.google.com/intl/ru/apis/chart/" target="_blank"&gt;HERE&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-8866406815466331432?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/8866406815466331432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=8866406815466331432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/8866406815466331432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/8866406815466331432'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/01/chart-free-generation-for-web.html' title='The Chart free generation for Web Application from Google'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-930225825596780453</id><published>2008-01-20T09:58:00.001+02:00</published><updated>2008-01-20T10:05:07.548+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Find all tables, which includes column name</title><content type='html'>&lt;p&gt;Get all table names for a specific column name &lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;SELECT&lt;/span&gt; sysobj.name &lt;span class="kwrd"&gt;as&lt;/span&gt; Table_Name&lt;br /&gt;&lt;span class="kwrd"&gt;FROM&lt;/span&gt; sysobjects sysobj&lt;br /&gt;&lt;span class="kwrd"&gt;INNER&lt;/span&gt; &lt;span class="kwrd"&gt;JOIN&lt;/span&gt; syscolumns syscol&lt;br /&gt; &lt;span class="kwrd"&gt;ON&lt;/span&gt; sysobj.id= syscol.id&lt;br /&gt;&lt;span class="kwrd"&gt;WHERE&lt;/span&gt;  syscol.name = &lt;span class="str"&gt;'COLUMN_NAME_FOR_SEARCH'&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: 80%;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;/p&gt;------------------------------------------- &lt;br /&gt;&lt;p&gt;Get all columns and table names for a 'like column_name' query&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;SELECT&lt;/span&gt; syscol.[name] &lt;span class="kwrd"&gt;as&lt;/span&gt; Column_Name,&lt;br /&gt; sysobj.name &lt;span class="kwrd"&gt;as&lt;/span&gt; Table_Name &lt;br /&gt;&lt;span class="kwrd"&gt;FROM&lt;/span&gt; sysobjects sysobj&lt;br /&gt;&lt;span class="kwrd"&gt;INNER&lt;/span&gt; &lt;span class="kwrd"&gt;JOIN&lt;/span&gt; syscolumns syscol &lt;br /&gt;&lt;span class="kwrd"&gt;ON&lt;/span&gt; sysobj.id=syscol.id&lt;br /&gt;&lt;span class="kwrd"&gt;WHERE&lt;/span&gt; syscol.name &lt;span class="kwrd"&gt;like&lt;/span&gt; &lt;span class="str"&gt;'%COLUMN_NAME%'&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="str"&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2f2008%2f01%2ffind-all-tables-which-includes-column.html"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2f2008%2f01%2ffind-all-tables-which-includes-column.html" border="0"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="str"&gt;&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: 80%;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-930225825596780453?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/930225825596780453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=930225825596780453' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/930225825596780453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/930225825596780453'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/01/find-all-tables-which-includes-column.html' title='Find all tables, which includes column name'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-2345485368822663665</id><published>2008-01-17T12:00:00.001+02:00</published><updated>2008-01-17T12:00:48.323+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Example &amp; Tutorial of Rhino Mocks</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;In object-oriented programming, mock objects are simulated objects that mimic the behavior of real objects in controlled ways. A computer programmer typically creates a mock object to test the behavior of some other object, in much the same way that a car designer uses a crash test dummy to test the behavior of a car during an accident.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Mock_object" target="_blank"&gt;Wikipedia&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;To full guide in code examples about Rhino Mocks &lt;a href="http://www.buddylindsey.com/Blog/post/Hello-World-of-Rhino-Mocks.aspx" target="_blank"&gt;Click Here&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-2345485368822663665?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/2345485368822663665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=2345485368822663665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/2345485368822663665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/2345485368822663665'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/01/example-tutorial-of-rhino-mocks.html' title='Example &amp;amp; Tutorial of Rhino Mocks'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-847295195046294750</id><published>2008-01-17T10:58:00.001+02:00</published><updated>2008-01-17T10:58:06.268+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Full guide how to configuring VS 2008 for debugging .NET Framework Source Code</title><content type='html'>&lt;p&gt;Click here to read a &lt;a href="http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx" target="_blank"&gt;article&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-847295195046294750?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/847295195046294750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=847295195046294750' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/847295195046294750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/847295195046294750'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/01/full-guide-how-to-configuring-vs-2008.html' title='Full guide how to configuring VS 2008 for debugging .NET Framework Source Code'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-4601377270110706917</id><published>2008-01-10T11:48:00.001+02:00</published><updated>2008-01-10T11:50:59.041+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>SQL Server 2005, Clean your Database Records &amp; reset Identity Columns, all in 6 lines</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;Well, I had a small issue regarding writing a script to clean a database we have and reset its identity columns in all tables. Although the database wasn't huge one (less than 100 tables) I had to trace relations to be able to delete child table's records before parent's ones because of the foreign key constraints. The solution is disable the foreign keys and delete records with no fear of any errors then enables the constraints again.&lt;br&gt;Well, I found a solution to disable all constraints without the need to go on each table and disable it manually. and I was happy to know that I can use this solution in deleting all records from all tables. Not only this I was able to use the same solution to reset identity columns in all tables.&lt;br&gt;The solution was to use this built in stored procedure sp_MSforeachtable. For help about this proc search for it in Books online or use this sp_helptext sp_MSForeachtable.&lt;br&gt;Now back to my 6 lines, bellow is how I re-zeroed my Database:&lt;/p&gt;&lt;/blockquote&gt;&lt;pre class="csharpcode"&gt;/*Disable &lt;span class="kwrd"&gt;Constraints&lt;/span&gt; &amp;amp; Triggers*/&lt;br /&gt;&lt;span class="kwrd"&gt;exec&lt;/span&gt; sp_MSforeachtable&lt;br /&gt;     &lt;span class="str"&gt;'ALTER TABLE ? NOCHECK CONSTRAINT ALL'&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;exec&lt;/span&gt; sp_MSforeachtable &lt;br /&gt;     &lt;span class="str"&gt;'ALTER TABLE ? DISABLE TRIGGER ALL'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;/*Perform &lt;span class="kwrd"&gt;delete&lt;/span&gt; &lt;span class="kwrd"&gt;operation&lt;/span&gt; &lt;span class="kwrd"&gt;on&lt;/span&gt; &lt;span class="kwrd"&gt;all&lt;/span&gt; &lt;span class="kwrd"&gt;table&lt;/span&gt; &lt;span class="kwrd"&gt;for&lt;/span&gt; cleanup*/&lt;br /&gt;&lt;span class="kwrd"&gt;exec&lt;/span&gt; sp_MSforeachtable &lt;span class="str"&gt;'DELETE ?'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;/*Enable &lt;span class="kwrd"&gt;Constraints&lt;/span&gt; &amp;amp; Triggers again*/&lt;br /&gt;&lt;span class="kwrd"&gt;exec&lt;/span&gt; sp_MSforeachtable&lt;br /&gt;      &lt;span class="str"&gt;'ALTER TABLE ? CHECK CONSTRAINT ALL'&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;exec&lt;/span&gt; sp_MSforeachtable&lt;br /&gt;     &lt;span class="str"&gt;'ALTER TABLE ? ENABLE TRIGGER ALL'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;/*Reset &lt;span class="kwrd"&gt;Identity&lt;/span&gt; &lt;span class="kwrd"&gt;on&lt;/span&gt; tables &lt;span class="kwrd"&gt;with&lt;/span&gt; &lt;span class="kwrd"&gt;identity&lt;/span&gt; &lt;span class="kwrd"&gt;column&lt;/span&gt;*/&lt;br /&gt;&lt;span class="kwrd"&gt;exec&lt;/span&gt; sp_MSforeachtable&lt;br /&gt;      &lt;span class="str"&gt;'IF OBJECTPROPERTY(OBJECT_ID('&lt;/span&gt;&lt;span class="str"&gt;'?'&lt;/span&gt;&lt;span class="str"&gt;'),&lt;br /&gt;      '&lt;/span&gt;&lt;span class="str"&gt;'TableHasIdentity'&lt;/span&gt;&lt;span class="str"&gt;') = 1 &lt;br /&gt;      BEGIN DBCC CHECKIDENT ('&lt;/span&gt;&lt;span class="str"&gt;'?'&lt;/span&gt;&lt;span class="str"&gt;',RESEED,0) END'&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;span class="str"&gt;&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: 80%;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;Via &lt;a href="http://dotnetslackers.com/community/blogs/mosessaur/default.aspx" target="_blank"&gt;Moses on DotNetSlackers&lt;/a&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-4601377270110706917?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/4601377270110706917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=4601377270110706917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4601377270110706917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4601377270110706917'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/01/sql-server-2005-clean-your-database.html' title='SQL Server 2005, Clean your Database Records &amp;amp; reset Identity Columns, all in 6 lines'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3033470756898206080</id><published>2008-01-09T13:02:00.001+02:00</published><updated>2008-01-09T13:06:26.435+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>How to check email works with no SMTP</title><content type='html'>&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;system.net&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;mailSettings&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;smtp&lt;/span&gt; &lt;span class="attr"&gt;deliveryMethod&lt;/span&gt;&lt;span class="kwrd"&gt;="SpecifiedPickupDirectory"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;         &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;specifiedPickupDirectory&lt;/span&gt; &lt;br /&gt;             &lt;span class="attr"&gt;pickupDirectoryLocation&lt;/span&gt;&lt;span class="kwrd"&gt;="c:\Test\"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;smtp&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;mailSettings&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;system.net&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;Via &lt;a href="http://dotnettipoftheday.org/tips/smtp-delivery-method-SpecifiedPickupDirectory.aspx" target="_blank"&gt;.Net Tip of The Day&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: 80%;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3033470756898206080?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3033470756898206080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3033470756898206080' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3033470756898206080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3033470756898206080'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/01/how-to-check-email-works-with-no-smtp.html' title='How to check email works with no SMTP'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6119097397102270546</id><published>2008-01-07T09:50:00.001+02:00</published><updated>2008-01-07T09:55:24.123+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>How to extract URLs (href property) from HTML</title><content type='html'>&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;protected&lt;/span&gt; ArrayList GetUrl(&lt;span class="kwrd"&gt;string&lt;/span&gt; text)&lt;br /&gt;{&lt;br /&gt;    ArrayList listURL = &lt;span class="kwrd"&gt;new&lt;/span&gt; ArrayList();&lt;br /&gt;    Regex r = &lt;br /&gt;        &lt;span class="kwrd"&gt;new&lt;/span&gt; Regex(&lt;span class="str"&gt;"href\\s*=\\s*(?:(?:\\\&lt;br /&gt;        "&lt;/span&gt;(?&amp;lt;url&amp;gt;[^\\\&lt;span class="str"&gt;"]*)\\\")|&lt;br /&gt;        (?&amp;lt;url&amp;gt;[^\\s]* ))"&lt;/span&gt;);&lt;br /&gt;    MatchCollection mathColl = r.Matches(text);&lt;br /&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (Match math &lt;span class="kwrd"&gt;in&lt;/span&gt; mathColl)&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (Group gr &lt;span class="kwrd"&gt;in&lt;/span&gt; math.Groups)&lt;br /&gt;        {&lt;br /&gt;            listURL.Add(gr.Value);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; listURL;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: 80%;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-6119097397102270546?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6119097397102270546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6119097397102270546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6119097397102270546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6119097397102270546'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2008/01/how-to-extract-urls-href-property-from.html' title='How to extract URLs (href property) from HTML'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-32549141377550360</id><published>2007-12-23T16:23:00.001+02:00</published><updated>2007-12-23T16:23:17.964+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>What is the difference between URL and URI?</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;A URL is the address of some resource on the web, which means that normally you type the address into a browser and you get something back. There are other type of resources than web pages, but that's the easiest conceptually. The browser goes out somewhere on the internet and accesses something.  &lt;p&gt;A URI is just a unique string that uniquely identifies something, commonly a namespace. Sometimes they look like a URL that you could type into the address bar of your web browser, but it doesn't have to point to any physical resource on the web.  &lt;p&gt;URI is the more generic term, and a URL is a particular type of URI in that a URL has to uniquely identify some resource on the web.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Via &lt;a href="http://dotnettipoftheday.org/" target="_blank"&gt;.Net Tip of The Day&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-32549141377550360?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/32549141377550360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=32549141377550360' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/32549141377550360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/32549141377550360'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/12/what-is-difference-between-url-and-uri.html' title='What is the difference between URL and URI?'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-8359454860601894391</id><published>2007-11-22T11:42:00.001+02:00</published><updated>2007-11-22T11:46:13.537+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Ajax control toolkit updated for Visual Studio 2008</title><content type='html'>&lt;p&gt;Ajax control toolkit has been updated and released to version version 3.5.11119.0&lt;/p&gt; &lt;p&gt;&lt;strong&gt;AjaxControlToolkit-Framework3.5.zip&lt;/strong&gt; is the full release package with complete source code to all controls, the test framework, VSI, and more. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;AjaxControlToolkit-Framework3.5-NoSource.zip&lt;/strong&gt; contains only the sample web site and VSI and is for people who don't need or want the source code for the controls. &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=AtlasControlToolkit&amp;amp;ReleaseId=8513" target="_blank"&gt;Download link&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f11%2fajax-control-toolkit-updated-for-visual.html"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f11%2fajax-control-toolkit-updated-for-visual.html" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-8359454860601894391?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/8359454860601894391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=8359454860601894391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/8359454860601894391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/8359454860601894391'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/11/ajax-control-toolkit-updated-for-visual.html' title='Ajax control toolkit updated for Visual Studio 2008'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-1841333734744270019</id><published>2007-11-21T09:52:00.001+02:00</published><updated>2007-11-21T09:54:02.438+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Visual Studio 2008 and .NET Framework 3.5 Training Kit</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;The Visual Studio 2008 and .NET Framework 3.5 Training Kit includes presentations, hands-on labs, and demos. This content is designed to help you learn how to utilize the Visual Studio 2008 features and a variety of framework technologies including: LINQ, C# 3.0, Visual Basic 9, WCF, WF, WPF, ASP.NET AJAX, VSTO, CardSpace, SilverLight, Mobile and Application Lifecycle Management. &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=8bdaa836-0bba-4393-94db-6c3c4a0c98a1&amp;amp;displaylang=en&amp;amp;tm" target="_blank"&gt;Download Page&lt;/a&gt; &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f11%2fvisual-studio-2008-and-net-framework-35.html"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f11%2fvisual-studio-2008-and-net-framework-35.html" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-1841333734744270019?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/1841333734744270019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=1841333734744270019' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1841333734744270019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1841333734744270019'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/11/visual-studio-2008-and-net-framework-35.html' title='Visual Studio 2008 and .NET Framework 3.5 Training Kit'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-7503794531997245524</id><published>2007-11-19T11:24:00.001+02:00</published><updated>2007-11-19T13:07:37.618+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Visual C# 2008 Keyboard Shortcuts Reference Poster</title><content type='html'>&lt;p&gt;Microsoft present keybinding reference poster for Visual C# in Visual Studio 2008&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=e5f902a8-5bb5-4cc6-907e-472809749973&amp;amp;displaylang=en&amp;amp;tm" target="_blank"&gt;Download page&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f11%2fvisual-c-2008-keyboard-shortcuts.html"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f11%2fvisual-c-2008-keyboard-shortcuts.html" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-7503794531997245524?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/7503794531997245524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=7503794531997245524' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/7503794531997245524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/7503794531997245524'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/11/visual-c-2008-keyboard-shortcuts.html' title='Visual C# 2008 Keyboard Shortcuts Reference Poster'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3695604162340052894</id><published>2007-11-15T09:58:00.001+02:00</published><updated>2007-11-15T10:04:09.429+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Add automatic updates to your application</title><content type='html'>&lt;p&gt;This article explain&amp;nbsp; step-by-step how to add automatic update capabilities to application quickly and easily.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.codeproject.com/useritems/DDayUpdate_Part1.asp" target="_blank"&gt;Click here&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f11%2fadd-automatic-updates-to-your.html"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f11%2fadd-automatic-updates-to-your.html" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3695604162340052894?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3695604162340052894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3695604162340052894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3695604162340052894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3695604162340052894'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/11/add-automatic-updates-to-your.html' title='Add automatic updates to your application'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3718536289843560935</id><published>2007-11-14T17:10:00.001+02:00</published><updated>2007-11-14T17:22:42.265+02:00</updated><title type='text'>How to add ComboBox to PropertyGrid</title><content type='html'>&lt;p&gt;Create new class which inherit StringCoverter, and 3 methods:&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;internal&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; List2PropertyConverter : StringConverter&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt;&lt;br /&gt;            GetStandardValuesSupported(&lt;br /&gt;            ITypeDescriptorContext context)&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="rem"&gt;//True - means show a Combobox&lt;/span&gt;&lt;br /&gt;            &lt;span class="rem"&gt;//and False for show a Modal &lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt;&lt;br /&gt;            GetStandardValuesExclusive(&lt;br /&gt;            ITypeDescriptorContext context)&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="rem"&gt;//False - a option to edit values &lt;/span&gt;&lt;br /&gt;            &lt;span class="rem"&gt;//and True - set values to state readonly&lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; StandardValuesCollection&lt;br /&gt;            GetStandardValues(&lt;br /&gt;            ITypeDescriptorContext context)&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; StandardValuesCollection(&lt;br /&gt;                &lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;[] {&lt;span class="str"&gt;"test1"&lt;/span&gt;, &lt;span class="str"&gt;"test2"&lt;/span&gt;, &lt;span class="str"&gt;"..."&lt;/span&gt;});&lt;br /&gt;        }&lt;br /&gt;    }&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;Add variable and encapsulate it:&lt;pre class="csharpcode"&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt; &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; testValue;&lt;br /&gt;        [Browsable(&lt;span class="kwrd"&gt;true&lt;/span&gt;)]&lt;br /&gt;        [Category(&lt;span class="str"&gt;"Category name"&lt;/span&gt;)]&lt;br /&gt;        [TypeConverter(&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(List2PropertyConverter))]&lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; TestValues&lt;br /&gt;        {&lt;br /&gt;            get { &lt;span class="kwrd"&gt;return&lt;/span&gt; testValue; }&lt;br /&gt;            set { testValue = &lt;span class="kwrd"&gt;value&lt;/span&gt;; }&lt;br /&gt;        }&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: 80%;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;PropertyGrid has 4 attributes for a&amp;nbsp;manage&amp;nbsp;properties:&lt;/p&gt;&lt;br /&gt;[Browsable(bool)] - Visible/Hide property&lt;br&gt;&lt;br /&gt;[ReadOnly(bool)] - Editing (true/false) &lt;br&gt;&lt;br /&gt;[Category(string)] - Group of properties&lt;br&gt;&lt;br /&gt;[Description(string)] - Description of the property &lt;br&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f11%2fhow-to-add-combobox-to-propertygrid.html"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f11%2fhow-to-add-combobox-to-propertygrid.html" border="0"&gt;&lt;/a&gt;&lt;/p&gt;Regards,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3718536289843560935?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3718536289843560935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3718536289843560935' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3718536289843560935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3718536289843560935'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/11/how-to-add-combobox-to-propertygrid.html' title='How to add ComboBox to PropertyGrid'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-4341860722655298314</id><published>2007-11-11T11:20:00.001+02:00</published><updated>2007-11-11T11:23:00.686+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><title type='text'>CAPTCHA Kinda Spam Prevention in ASP.NET</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;&lt;img src="http://blogs.msdn.com/blogfiles/joestagner/WindowsLiveWriter/CAPTCHAKindaSpamPreventioninASP.NET_95CB/captcha_banner_thumb.jpg"&gt; &lt;/p&gt; &lt;p&gt;Spammers really bug me. &lt;/p&gt; &lt;p&gt;I've been working on this on-going sports related portal project (that probably will NEVER go live :) &lt;/p&gt; &lt;p&gt;I love of hobby community sites degrade quickly because they lack the moderation resources to keep the user submitted content quality high and I've been thinking about this problem. &lt;/p&gt; &lt;p&gt;I thought I would share some interesting links that I found on the subject.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.captcha.net/" target="_blank"&gt;The Official Captcha Site&lt;/a&gt; &lt;/li&gt; &lt;li&gt;&lt;a href="http://research.microsoft.com/hip/" target="_blank"&gt;Microsoft Research HIP (Human Interactions Programming)&lt;/a&gt;&amp;nbsp; &lt;/li&gt; &lt;li&gt;&lt;a href="http://research.microsoft.com/asirra/" target="_blank"&gt;MSR Asirra (Animal Species Image Recognition for Restricting Access)&lt;/a&gt; &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeplex.com/subkismet/" target="_blank"&gt;Subkismit on CodePlex.com&lt;/a&gt; &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.asp.net/AJAX/AjaxControlToolkit/Samples/NoBot/NoBot.aspx" target="_blank"&gt;ASP.NET AJAX NoBot&lt;/a&gt; &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codinghorror.com/blog/archives/000094.html" target="_blank"&gt;ASP.NET CAPTCHA Server Control on CodingHorror.com&lt;/a&gt; &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeproject.com/aspnet/CaptchaControl.asp" target="_blank"&gt;ASP.NET CAPTCHA Server Control on CodeProject.com&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;by &lt;a href="http://blogs.msdn.com/joestagner/default.aspx" target="_blank"&gt;Joe Stagner&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f11%2fcaptcha-kinda-spam-prevention-in-aspnet.html"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f11%2fcaptcha-kinda-spam-prevention-in-aspnet.html" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-4341860722655298314?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/4341860722655298314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=4341860722655298314' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4341860722655298314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4341860722655298314'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/11/captcha-kinda-spam-prevention-in-aspnet.html' title='CAPTCHA Kinda Spam Prevention in ASP.NET'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-8777259653865927008</id><published>2007-11-11T10:20:00.001+02:00</published><updated>2007-11-11T10:32:35.304+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Template Method Design Pattern vs. Functional Programming</title><content type='html'>&lt;p&gt;Simple and obvious example how to realize&amp;nbsp;Design Patterns. A example based on Hot Drinks and presented design of the application with explanations.&lt;/p&gt; &lt;p&gt;&lt;img src="http://www.codeproject.com/useritems/TMDPvsLambda/image004.jpg"&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.codeproject.com/useritems/TMDPvsLambda.asp" target="_blank"&gt;Click here&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f11%2ftemplate-method-design-pattern-vs.html"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f11%2ftemplate-method-design-pattern-vs.html" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-8777259653865927008?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/8777259653865927008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=8777259653865927008' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/8777259653865927008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/8777259653865927008'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/11/template-method-design-pattern-vs.html' title='Template Method Design Pattern vs. Functional Programming'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-4837698577601569741</id><published>2007-11-08T10:33:00.001+02:00</published><updated>2007-11-08T10:36:37.191+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><title type='text'>ADInsight - new utility by Microsoft</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;ADInsight is an LDAP (Light-weight Directory Access Protocol) real-time monitoring tool aimed at troubleshooting Active Directory client applications. Use its detailed tracing of Active Directory client-server communications to solve Windows authentication, Exchange, DNS, and other problems.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;img height="260" src="http://img.microsoft.com/library/media/1033/technet/images/sysinternals/images/screenshots/adinsight.jpg" width="400"&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/technet/sysinternals/utilities/adinsight.mspx" target="_blank"&gt;Homepage&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://download.sysinternals.com/Files/AdInsight.zip" target="_blank"&gt;Download (720kb)&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f11%2fadinsight-new-utility-by-microsoft.html"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f11%2fadinsight-new-utility-by-microsoft.html" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-4837698577601569741?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/4837698577601569741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=4837698577601569741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4837698577601569741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4837698577601569741'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/11/adinsight-new-utility-by-microsoft.html' title='ADInsight - new utility by Microsoft'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-7992098757021362884</id><published>2007-11-08T10:23:00.001+02:00</published><updated>2007-11-08T10:27:10.396+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><title type='text'>BGInfo - display PC information on the desktop</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;How many times have you walked up to a system in your office and needed to click through several diagnostic windows to remind yourself of important aspects of its configuration, such as its name, IP address, or operating system version If you manage multiple computers you probably need BGInfo. It automatically displays relevant information about a Windows computer on the desktop's background, such as the computer name, IP address, service pack version, and more. You can edit any field as well as the font and background colors, and can place it in your startup folder so that it runs every boot, or even configure it to display as the background for the logon screen.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;img height="302" src="http://img.microsoft.com/library/media/1033/technet/images/sysinternals/images/screenshots/BgInfo.jpg" width="400"&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/technet/sysinternals/utilities/bginfo.mspx" target="_blank"&gt;HomePage&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://download.sysinternals.com/Files/BgInfo.zip" target="_blank"&gt;Download&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2fsearch%2flabel%2fUseful"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2fsearch%2flabel%2fUseful" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-7992098757021362884?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/7992098757021362884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=7992098757021362884' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/7992098757021362884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/7992098757021362884'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/11/bginfo-display-pc-inforamtion-on.html' title='BGInfo - display PC information on the desktop'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-7631583373258203618</id><published>2007-11-08T09:51:00.001+02:00</published><updated>2007-11-08T09:55:06.203+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Calling delegates using BeginInvoke, Invoke, DynamicInvoke and delegate</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;I wanted to write about delegates this month. There are different ways in which you can invoke delegates to get either a synchronous or an asynchronous behavior. But from what I noticed, the delegate model provides you very less control when you invoke it asynchronously. The caller cannot easily abort or terminate the operation.  &lt;p&gt;If you want to execute a delegate asynchronously and still want to have good control from the caller then invoke it explicitly from a thread. The sample below demonstrates multiple ways you can invoke a delegate and each has its own features with it. Till I wrote this, I didn’t realize that there are 6 ways to invoke a delegate and I am sure there are a few more that I am missing here. It was also interesting that when you execute a delegate on a thread then it cannot return a value as the caller of the thread is gone when the thread returns. If you want to pass parameters to the delegate in the thread you can use the ParameterizedThread option which is very useful.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&amp;nbsp;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/thottams/archive/2007/11/01/calling-delegates-using-begininvoke-invoke-dynamicinvoke-and-delegate.aspx" target="_blank"&gt;Click here to continue...&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2fsearch%2flabel%2fC%2523"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2fsearch%2flabel%2fC%2523" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-7631583373258203618?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/7631583373258203618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=7631583373258203618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/7631583373258203618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/7631583373258203618'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/11/calling-delegates-using-begininvoke.html' title='Calling delegates using BeginInvoke, Invoke, DynamicInvoke and delegate'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-7593359276633724688</id><published>2007-10-28T10:39:00.001+02:00</published><updated>2007-10-28T10:42:07.180+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Care about Event Memory Leaks with Delegate.GetInvocationList()</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;Subscribed events are one of the most common reasons of memory leaks in .Net. This means that if you have an object that has an event  &lt;p&gt;and there are other object that are subscribed to that event, the original object won't be properly disposed until all events are unsubscribed since  &lt;p&gt;an event is a strong reference.  &lt;p&gt;&amp;nbsp;.... &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; MyForm : Form&lt;br /&gt; {    &lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;event&lt;/span&gt; EventHandler OnDoMyFormThing;&lt;br /&gt;    &lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; MyForm()&lt;br /&gt;    {&lt;br /&gt;        InitializeComponent();        &lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; button1_OnClick&lt;br /&gt;    {&lt;br /&gt;        MessageBox.Show(&lt;span class="str"&gt;&lt;br /&gt;           "Test of OnDoMyFormThing event"&lt;/span&gt;);&lt;br /&gt;        OnDoMyFormThing(&lt;span class="kwrd"&gt;this&lt;/span&gt;, &lt;span class="kwrd"&gt;new&lt;/span&gt; EventArgs());&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Dispose(&lt;span class="kwrd"&gt;bool&lt;/span&gt; disposing)&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (disposing &amp;amp;&amp;amp; (components != &lt;span class="kwrd"&gt;null&lt;/span&gt;))&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (EventHandler eventDelegate &lt;span class="kwrd"&gt;&lt;br /&gt;             in&lt;/span&gt; OnDoMyFormThing.GetInvocationList())&lt;br /&gt;                OnDoMyFormThing -= eventDelegate;&lt;br /&gt;            components.Dispose();&lt;br /&gt;        }&lt;br /&gt;        &lt;span class="kwrd"&gt;base&lt;/span&gt;.Dispose(disposing);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size:xx-small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000;}&lt;br /&gt;.csharpcode .kwrd { color: #0000ff;}&lt;br /&gt;.csharpcode .str { color: #006080;}&lt;br /&gt;.csharpcode .op { color: #0000c0;}&lt;br /&gt;.csharpcode .preproc { color: #cc6633;}&lt;br /&gt;.csharpcode .asp { background-color: #ffff00;}&lt;br /&gt;.csharpcode .html { color: #800000;}&lt;br /&gt;.csharpcode .attr { color: #ff0000;}&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 90%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;	&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;To full&amp;nbsp; article &lt;a href="http://weblogs.sqlteam.com/mladenp/archive/2007/10/24/C-Care-about-Event-Memory-Leaks-with-Delegate.GetInvocationList.aspx" target="_blank"&gt;click here&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-7593359276633724688?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/7593359276633724688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=7593359276633724688' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/7593359276633724688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/7593359276633724688'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/10/care-about-event-memory-leaks-with.html' title='Care about Event Memory Leaks with Delegate.GetInvocationList()'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6659232086766290492</id><published>2007-10-23T10:11:00.001+02:00</published><updated>2007-10-23T10:11:38.157+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Convert UTF-8 to Unicode</title><content type='html'>&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; Utf8ToUnicode(&lt;span class="kwrd"&gt;string&lt;/span&gt; utf8)&lt;br /&gt;{&lt;br /&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; Encoding.Unicode.GetString(&lt;br /&gt;        Encoding.Convert(&lt;br /&gt;        Encoding.UTF8,&lt;br /&gt;        Encoding.Unicode,&lt;br /&gt;        Encoding.UTF8.GetBytes(utf8)));&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-6659232086766290492?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6659232086766290492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6659232086766290492' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6659232086766290492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6659232086766290492'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/10/convert-utf-8-to-unicode.html' title='Convert UTF-8 to Unicode'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3507049654048708503</id><published>2007-10-23T10:07:00.001+02:00</published><updated>2007-10-23T10:07:13.839+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Strategy Pattern in C# 2.0</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;Strategy pattern can very handy when a system designer or architect wants to separate algorithms from the system implementation. Also with strategy pattern approach it is very easy to select between different algorithms on the fly. With the introduction of generics in .NET 2.0 implementing strategy pattern is even more easy.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;a href="http://vadmyst.blogspot.com/2007/10/strategy-pattern-in-c-20.html" target="_blank"&gt;Click Here&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;via &lt;a href="http://www.dotnetkicks.com/" target="_blank"&gt;DotNetKicks.com&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3507049654048708503?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3507049654048708503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3507049654048708503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3507049654048708503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3507049654048708503'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/10/strategy-pattern-in-c-20.html' title='Strategy Pattern in C# 2.0'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-1003378526284420888</id><published>2007-10-21T10:18:00.001+02:00</published><updated>2007-10-21T10:36:46.792+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Full guide to create Installer class in VS.Net 2005</title><content type='html'>&lt;p&gt;6&amp;nbsp;pages of amazing guide&amp;nbsp;&lt;a href="http://www.devcity.net/Default.aspx" target="_blank"&gt;by devCity.net&lt;/a&gt; explains all point of deployment project and include follow parts:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Requirements&amp;nbsp;&lt;/li&gt; &lt;li&gt;Terminology &lt;/li&gt; &lt;li&gt;How to create an Installer Class &lt;/li&gt; &lt;li&gt;Un-written rules &lt;/li&gt; &lt;li&gt;Unpleasent features &lt;/li&gt; &lt;li&gt;Using these events (about Installer Class events) &lt;/li&gt; &lt;li&gt;Using the Commit event to change the target directory permissions. &lt;/li&gt; &lt;li&gt;Using the Uninstall event to clean the target directory &lt;/li&gt; &lt;li&gt;Where is the "NT AUTHORITY\SERVICE" account coming from? &lt;/li&gt; &lt;li&gt;Exceptions and Exception handling in your installer class. &lt;/li&gt; &lt;li&gt;Adding user interfaces (forms) to your installer class. &lt;/li&gt; &lt;li&gt;Launching your application after installation. &lt;/li&gt; &lt;li&gt;Conclusions. &lt;/li&gt; &lt;li&gt;References.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;To read "Visual Studio 2005 Setup and Deployment Installer Classes and Custom Actions" &lt;a href="http://www.devcity.net/Articles/339/1/.aspx" target="_blank"&gt;CLICK HERE&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f10%2ffull-guide-to-create-installer-class-in.html"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f10%2ffull-guide-to-create-installer-class-in.html" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-1003378526284420888?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/1003378526284420888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=1003378526284420888' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1003378526284420888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1003378526284420888'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/10/full-guide-to-create-installer-class-in.html' title='Full guide to create Installer class in VS.Net 2005'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-1728487853716185682</id><published>2007-10-21T09:58:00.001+02:00</published><updated>2007-10-21T10:00:46.095+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Useful'/><title type='text'>Listas - new feature from Microsoft</title><content type='html'>&lt;p&gt;&lt;img src="http://labs.live.com/content/binary/Logo_Listas_Thumbnail.png"&gt;  &lt;blockquote&gt; &lt;p&gt;At Live Labs, we are always experimenting with new ideas that we think will be useful.&amp;nbsp; Today we are releasing our latest technology preview:  &lt;p&gt;&lt;strong&gt;Listas&lt;/strong&gt; (&lt;a href="http://listas.labs.live.com)"&gt;http://listas.labs.live.com)&lt;/a&gt;  &lt;p&gt;Listas is a tool for the creation, management and sharing of lists, notes, favorites, and more. It allows you to quickly and easily edit lists, share them with others for reading or wiki-style editing, and discover the public lists of other users.&amp;nbsp; We encourage you to try using it for meeting notes, bookmarks, shopping lists, to plan a night out, or whatever other creative ways you can think of....&lt;/p&gt;&lt;/blockquote&gt;   &lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2fsearch%2flabel%2fTools"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2fsearch%2flabel%2fTools" border="0" alt="kick it on DotNetKicks.com"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-1728487853716185682?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/1728487853716185682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=1728487853716185682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1728487853716185682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1728487853716185682'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/10/listas-new-feature-from-microsoft.html' title='Listas - new feature from Microsoft'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-8304872679686439354</id><published>2007-10-18T10:11:00.001+02:00</published><updated>2007-10-18T10:11:36.044+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Creating Custom Configuration Sections In ASP.NET</title><content type='html'>&lt;p&gt;&lt;a href="http://www.singingeels.com/Articles/Creating_Custom_Configuration_Sections_In_ASPNET.aspx" target="_blank"&gt;Click here&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-8304872679686439354?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/8304872679686439354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=8304872679686439354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/8304872679686439354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/8304872679686439354'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/10/creating-custom-configuration-sections.html' title='Creating Custom Configuration Sections In ASP.NET'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-4464120008050695699</id><published>2007-10-14T09:57:00.001+02:00</published><updated>2007-10-14T10:09:41.128+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Sharp Cache Session Manager</title><content type='html'>&lt;p&gt;The SharpCacheSessionManager is a HttpHandler that allows to display the entries stored in the Cache, Session and Application object. You can view the data stored inside the objects and you can also remove the objects from the corresponding storage. To download the SharpCacheSessionManager click &lt;a href="http://www.gridviewguy.com/ArticleDownloads/SharpCacheSessionManager.zip" target="_blank"&gt;HERE&lt;/a&gt;&lt;/p&gt; &lt;p&gt;via &lt;a href="http://www.dotnetjunkies.com/WebLog/csteen/archive/2007/10/11/334839.aspx" target="_blank"&gt;Christopher Steen&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2fsearch%2flabel%2fASP.NET"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2fsearch%2flabel%2fASP.NET" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-4464120008050695699?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/4464120008050695699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=4464120008050695699' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4464120008050695699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4464120008050695699'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/10/sharp-cache-session-manager.html' title='Sharp Cache Session Manager'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-7291473438474582582</id><published>2007-10-10T12:11:00.001+02:00</published><updated>2007-10-10T12:11:37.967+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>43 Exceptionally Useful AJAX Applications</title><content type='html'>&lt;p&gt;43 extremely useful AJAX applications for use on any website. &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.designvitality.com/blog/2007/10/43-exceptionally-useful-ajax-applications/" target="_blank"&gt;Click here&lt;/a&gt;&lt;/p&gt; &lt;p&gt;via &lt;a href="http://www.dotnetkicks.com" target="_blank"&gt;DotNetKicks.com&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-7291473438474582582?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/7291473438474582582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=7291473438474582582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/7291473438474582582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/7291473438474582582'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/10/43-exceptionally-useful-ajax.html' title='43 Exceptionally Useful AJAX Applications'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-167786123717473639</id><published>2007-10-08T13:10:00.001+02:00</published><updated>2007-10-08T13:15:42.315+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Find and get list of controls on page</title><content type='html'>If you want to find list of controls on Page you can use this method:  &lt;div style="background-color: white"&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; List&amp;lt;T&amp;gt; GetControls&amp;lt;T&amp;gt;() &lt;span class="kwrd"&gt;where&lt;/span&gt; T:Control&lt;br /&gt;{&lt;br /&gt; List&amp;lt;T&amp;gt; list = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;T&amp;gt;();        &lt;br /&gt; &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (Control rootControl &lt;span class="kwrd"&gt;in&lt;/span&gt; Controls)&lt;br /&gt; {&lt;br /&gt;    &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (Control control &lt;span class="kwrd"&gt;in&lt;/span&gt; rootControl.Controls)&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (control &lt;span class="kwrd"&gt;as&lt;/span&gt; T != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;br /&gt;        {&lt;br /&gt;            list.Add(control &lt;span class="kwrd"&gt;as&lt;/span&gt; T);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt; }&lt;br /&gt; &lt;span class="kwrd"&gt;return&lt;/span&gt; list;&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;And a using is very simple. In example you can see how to change background to all labels: &lt;br /&gt;&lt;div style="background-color: white"&gt;&lt;pre class="csharpcode"&gt;List&amp;lt;Label&amp;gt; list = &lt;br /&gt;        GetControls&amp;lt;Label&amp;gt;();&lt;br /&gt;list.ForEach(&lt;br /&gt;    &lt;span class="kwrd"&gt;delegate&lt;/span&gt; (Label lab)&lt;br /&gt;   {&lt;br /&gt;     lab.BackColor = &lt;br /&gt;       System.Drawing.Color.Pink;&lt;br /&gt;   }&lt;br /&gt;);&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f10%2ffind-and-get-list-of-controls-on-page.html"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fgaaton.blogspot.com%2f2007%2f10%2ffind-and-get-list-of-controls-on-page.html" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-167786123717473639?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/167786123717473639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=167786123717473639' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/167786123717473639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/167786123717473639'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/10/find-and-get-list-of-controls-on-page.html' title='Find and get list of controls on page'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3622067325709435231</id><published>2007-10-07T09:22:00.001+02:00</published><updated>2007-10-07T09:22:35.185+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>A Visual Guide to Version Control</title><content type='html'>&lt;p&gt;A beautiful, "highly visual" overview of Version Control, (a.k.a. Source Control). It also references Subversion command line examples, but the overview applies to most version control systems by &lt;a href="http://betterexplained.com/" target="_blank"&gt;BetterExplained&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;To read a full article click &lt;a href="http://betterexplained.com/articles/a-visual-guide-to-version-control/" target="_blank"&gt;HERE&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3622067325709435231?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3622067325709435231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3622067325709435231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3622067325709435231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3622067325709435231'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/10/visual-guide-to-version-control.html' title='A Visual Guide to Version Control'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-3943489224147652845</id><published>2007-10-01T10:34:00.001+02:00</published><updated>2007-10-01T10:34:43.242+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>How to Use Windows Authentication to Access SQL Server Through a ASP.NET Web Application</title><content type='html'>&lt;p&gt;Click &lt;a href="http://www.codeguru.com/csharp/.net/net_security/authentication/article.php/c7725/" target="_blank"&gt;here&lt;/a&gt;&amp;nbsp;to full article&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-3943489224147652845?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/3943489224147652845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=3943489224147652845' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3943489224147652845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/3943489224147652845'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/10/how-to-use-windows-authentication-to.html' title='How to Use Windows Authentication to Access SQL Server Through a ASP.NET Web Application'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6358832701556676722</id><published>2007-09-30T12:51:00.001+02:00</published><updated>2007-09-30T12:51:04.016+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>What is a Fluent Interface?</title><content type='html'>&lt;p&gt;Full article "How to design a Fluent Interface",&amp;nbsp;compares and examples see &lt;a href="http://randypatterson.com/2007/09/26/HowToDesignAFluentInterface.aspx" target="_blank"&gt;HERE&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-6358832701556676722?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6358832701556676722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6358832701556676722' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6358832701556676722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6358832701556676722'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/09/what-is-fluent-interface.html' title='What is a Fluent Interface?'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-457209467449352978</id><published>2007-09-30T12:46:00.001+02:00</published><updated>2007-09-30T12:46:26.371+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Get last day of the month</title><content type='html'>&lt;pre class="csharpcode"&gt;DateTime GetLastDayOfMonth(DateTime date) &lt;/pre&gt;&lt;pre class="csharpcode"&gt;{&lt;br /&gt;&lt;span class="kwrd"&gt;return&lt;/span&gt;&lt;br /&gt;     &lt;span class="kwrd"&gt;new&lt;/span&gt; DateTime(date.Year, &lt;br /&gt;                  date.Month, &lt;br /&gt;                  DateTime.DaysInMonth(&lt;br /&gt;                         date.Year,&lt;br /&gt;                         date.Month));&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-457209467449352978?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/457209467449352978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=457209467449352978' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/457209467449352978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/457209467449352978'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/09/get-last-day-of-month.html' title='Get last day of the month'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-4767050958338728853</id><published>2007-09-20T13:16:00.001+02:00</published><updated>2008-12-13T05:55:00.712+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>Accordion 2.0 by Kevin Miller</title><content type='html'>&lt;p&gt;&lt;a href="http://www.stickmanlabs.com/" target="_blank"&gt;Kevin Miller&lt;/a&gt; has updated&amp;nbsp; to version 2.0 his extraordinary&amp;nbsp;&amp;nbsp;AJAX &amp;nbsp;control &lt;strong&gt;ACCORDION&lt;/strong&gt;&lt;/p&gt;&lt;br&gt;&lt;img id="BLOGGER_PHOTO_ID_5112244089013582322" alt="AJAX Accordion" src="http://4.bp.blogspot.com/_r9kRdupsocI/RvJW6cK-ufI/AAAAAAAAA3c/-OMBLdSvCCc/s1600/Accordion.JPG" border="0"&gt;&lt;br&gt; &lt;p&gt;New futures:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Open/Close functionality added (Click on an active accordion).  &lt;li&gt;Nested Vertical Accordions  &lt;li&gt;Accordions will dynamically resize on content added REAL TIME!  &lt;li&gt;...lots of bug fixes!&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;Very simple using:&lt;/p&gt; &lt;p&gt;Include 3 JavaScript files to HTML page&lt;/p&gt;&lt;pre class="csharpcode"&gt;&amp;lt;script type=&lt;span class="str"&gt;"text/javascript" &lt;br&gt;src=&lt;span class="str"&gt;"javascript/prototype.js"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;br&gt;&amp;lt;script type=&lt;span class="str"&gt;"text/javascript"&lt;/span&gt;&lt;br&gt;src=&lt;span class="str"&gt;"javascript/effects.js"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;br&gt;&amp;lt;script type=&lt;span class="str"&gt;"text/javascript"&lt;/span&gt;&lt;br&gt;src=&lt;span class="str"&gt;"javascript/accordion.js"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;and...&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;lt;h2 &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;"accordion_toggle"&lt;/span&gt;&amp;gt;Title Bar&amp;lt;/h2&amp;gt;&lt;br&gt;&amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;"accordion_content"&lt;/span&gt;&amp;gt;...&amp;lt;/div&amp;gt;&lt;br&gt;...&lt;br&gt;...&lt;br&gt;...&lt;br&gt;&amp;lt;h2 &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;"accordion_toggle"&lt;/span&gt;&amp;gt;Title Bar&amp;lt;/h2&amp;gt;&lt;br&gt;&amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;"accordion_content"&lt;/span&gt;&amp;gt;...&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;span&gt;More option see &lt;a href="http://www.stickmanlabs.com/accordion/" target="_blank"&gt;here&lt;/a&gt;&amp;nbsp;(In toggle "How to use")&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://gaaton.blogspot.com/search/label/AJAX"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://gaaton.blogspot.com/search/label/AJAX" border="0"&gt;&lt;/a&gt;&lt;br&gt;&lt;/p&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-4767050958338728853?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/4767050958338728853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=4767050958338728853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4767050958338728853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/4767050958338728853'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/09/accordion-20-by-kevin-miller.html' title='Accordion 2.0 by Kevin Miller'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_r9kRdupsocI/RvJW6cK-ufI/AAAAAAAAA3c/-OMBLdSvCCc/s72-c/Accordion.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-1312369895471754193</id><published>2007-09-16T11:50:00.001+02:00</published><updated>2007-09-16T11:53:37.782+02:00</updated><title type='text'>SQLQueryStress - T-SQL server query performance testing tool</title><content type='html'>&lt;p&gt;Small,&amp;nbsp; effective and free tool for&amp;nbsp; testing performance&amp;nbsp;of the sql query.&lt;/p&gt; &lt;p&gt;&lt;img height="280" src="http://www.datamanipulation.net/SQLQueryStress/documentation/SQLQueryStress_Documentation_Files/image002.jpg" width="400"&gt; &amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.datamanipulation.net/SQLQueryStress/" target="_blank"&gt;Homepage&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.datamanipulation.net/SQLQueryStress/sqlquerystress_0_9_7.msi" target="_blank"&gt;Download&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://gaaton.blogspot.com/2007/09/sqlquerystress-t-sql-server-query.html"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://gaaton.blogspot.com/2007/09/sqlquerystress-t-sql-server-query.html" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:2ecc30dc-6a89-405c-a35a-b81bfb661216" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Labels: &lt;a href="http://gaaton.blogspot.com/search/label/Tools" rel="tag"&gt;Tools&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-1312369895471754193?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/1312369895471754193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=1312369895471754193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1312369895471754193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1312369895471754193'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/09/sqlquerystress-t-sql-server-query.html' title='SQLQueryStress - T-SQL server query performance testing tool'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-1370105451088202136</id><published>2007-09-10T10:03:00.001+03:00</published><updated>2007-09-10T10:03:59.292+03:00</updated><title type='text'>One Shell Command to delete all SVN hidden folders</title><content type='html'>&lt;p&gt;&lt;a href="http://spellcoder.com/blogs/bashmohandes/archive/2007/09/08/8089.aspx" target="_blank"&gt;Full article&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:8fd71a33-5281-49fc-8644-320ee5d7671d" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Labels: &lt;a href="http://gaaton.blogspot.com/search/label/Programming" rel="tag"&gt;Programming&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-1370105451088202136?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/1370105451088202136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=1370105451088202136' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1370105451088202136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/1370105451088202136'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/09/one-shell-command-to-delete-all-svn.html' title='One Shell Command to delete all SVN hidden folders'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6572897088791481564</id><published>2007-09-09T09:29:00.001+03:00</published><updated>2007-09-09T09:29:52.002+03:00</updated><title type='text'>Determining when a procedure has been changed</title><content type='html'>&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;SELECT&lt;/span&gt; &lt;br /&gt;    [StoredP&lt;span class="kwrd"&gt;rocedure&lt;/span&gt; name]&lt;br /&gt;    ,Modify_date&lt;br /&gt;    ,Create_date&lt;br /&gt;    ,*&lt;br /&gt;&lt;span class="kwrd"&gt;FROM&lt;/span&gt;&lt;br /&gt;    sys.procedures&lt;/pre&gt;&lt;br /&gt;&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:6e4deef0-5006-4a2a-b209-9bb266810f85" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Labels: &lt;a href="http://gaaton.blogspot.com/search/label/SQL" rel="tag"&gt;SQL&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-6572897088791481564?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6572897088791481564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6572897088791481564' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6572897088791481564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6572897088791481564'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/09/determining-when-procedure-has-been.html' title='Determining when a procedure has been changed'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6966384505894994777</id><published>2007-09-05T13:18:00.001+03:00</published><updated>2008-12-13T05:55:01.536+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>CSS Table Gallery</title><content type='html'>Candy style&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_r9kRdupsocI/Rt6C_5ZvgPI/AAAAAAAAA1o/qk7iAYxGIQ4/s1600/CSS+Gallery+Candy.JPG" border="0" alt="CSS Candy style" id="BLOGGER_PHOTO_ID_5106663061736882418" /&gt;&lt;br /&gt;&lt;br /&gt;Red and Black style&lt;br /&gt;&lt;img src="http://4.bp.blogspot.com/_r9kRdupsocI/Rt6DAJZvgQI/AAAAAAAAA1w/-MNqD0DaNU4/s1600/CSS+Gallery+Red+and+Black.JPG" border="0" alt="CSS Red and Black style" id="BLOGGER_PHOTO_ID_5106663066031849730" /&gt;&lt;br /&gt;&lt;br /&gt;The OC style&lt;br /&gt;&lt;img src="http://4.bp.blogspot.com/_r9kRdupsocI/Rt6DAJZvgRI/AAAAAAAAA14/A3PcQiNGa2k/s1600/CSS+Gallery+The+OC.JPG" border="0" alt="CSS The OC style" id="BLOGGER_PHOTO_ID_5106663066031849746" /&gt;&lt;br /&gt;&lt;br /&gt;To more styles &lt;a href="http://icant.co.uk/csstablegallery/index.php?css=62" target="_blank"&gt;click here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26772613-6966384505894994777?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6966384505894994777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6966384505894994777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6966384505894994777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6966384505894994777'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/09/css-table-gallery.html' title='CSS Table Gallery'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_r9kRdupsocI/Rt6C_5ZvgPI/AAAAAAAAA1o/qk7iAYxGIQ4/s72-c/CSS+Gallery+Candy.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26772613.post-6904350633056373539</id><published>2007-09-05T11:20:00.001+03:00</published><updated>2007-09-05T11:21:11.539+03:00</updated><title type='text'>10 SQL Server Functions That You Hardly Use But Should</title><content type='html'>&lt;p&gt;A &lt;a href="http://dotnetsamplechapters.blogspot.com/2007/09/ten-sql-server-functions-that-you.html" target="_blank"&gt;using and explanation&lt;/a&gt;&amp;nbsp;next SQL functions:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;BINARY_CHECKSUM&lt;br&gt;SIGN&lt;/strong&gt;&lt;strong&gt;&lt;br&gt;COLUMNPROPERTY&lt;br&gt;DATALENGTH&lt;br&gt;ASCII, UNICODE&lt;br&gt;NULLIF&lt;br&gt;PARSENAME&lt;br&gt;STUFF&lt;br&gt;REVERSE&lt;br&gt;GETUTCDATE&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:d66cabc3-67d6-4f1b-ac87-ee92ed7e3065" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Labels: &lt;a href="http://gaaton.blogspot.com/search/label/SQL" rel="tag"&gt;SQL&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/26772613-6904350633056373539?l=gaaton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gaaton.blogspot.com/feeds/6904350633056373539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26772613&amp;postID=6904350633056373539' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6904350633056373539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26772613/posts/default/6904350633056373539'/><link rel='alternate' type='text/html' href='http://gaaton.blogspot.com/2007/09/10-sql-server-functions-that-you-hardly.html' title='10 SQL Server Functions That You Hardly Use But Should'/><author><name>Gever</name><uri>http://www.blogger.com/profile/11201018491765487271</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
