<?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-7298745527844021060</id><updated>2012-01-23T08:59:24.657-08:00</updated><category term='NDepends'/><category term='Ajax'/><category term='CodeMetrics'/><title type='text'>Thani</title><subtitle type='html'>ADO.NET,ASP.NET,AJAX</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thaniguy.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://thaniguy.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Thani</name><uri>http://www.blogger.com/profile/11703085361137981924</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_RQQNcsUYboQ/SSREQ9t7x7I/AAAAAAAABGM/el7Ssmf75Ms/S220/DSC01854.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7298745527844021060.post-8387019068489490576</id><published>2011-02-21T21:07:00.001-08:00</published><updated>2011-02-21T21:07:41.699-08:00</updated><title type='text'>Rain Again</title><content type='html'>Rain in chennai&lt;div style='clear: both; text-align: center; font-size: xx-small;'&gt;Published with Blogger-droid v1.6.7&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7298745527844021060-8387019068489490576?l=thaniguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thaniguy.blogspot.com/feeds/8387019068489490576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7298745527844021060&amp;postID=8387019068489490576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/8387019068489490576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/8387019068489490576'/><link rel='alternate' type='text/html' href='http://thaniguy.blogspot.com/2011/02/rain-again.html' title='Rain Again'/><author><name>Thani</name><uri>http://www.blogger.com/profile/11703085361137981924</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_RQQNcsUYboQ/SSREQ9t7x7I/AAAAAAAABGM/el7Ssmf75Ms/S220/DSC01854.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7298745527844021060.post-8564768853303644505</id><published>2009-05-18T10:52:00.001-07:00</published><updated>2009-05-18T10:52:45.388-07:00</updated><title type='text'></title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt; &lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7298745527844021060-8564768853303644505?l=thaniguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thaniguy.blogspot.com/feeds/8564768853303644505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7298745527844021060&amp;postID=8564768853303644505' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/8564768853303644505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/8564768853303644505'/><link rel='alternate' type='text/html' href='http://thaniguy.blogspot.com/2009/05/blog-post.html' title=''/><author><name>Thani</name><uri>http://www.blogger.com/profile/11703085361137981924</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_RQQNcsUYboQ/SSREQ9t7x7I/AAAAAAAABGM/el7Ssmf75Ms/S220/DSC01854.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7298745527844021060.post-8085315937891453042</id><published>2008-12-16T01:54:00.000-08:00</published><updated>2008-12-16T01:55:21.134-08:00</updated><title type='text'>GUID VS Identity</title><content type='html'>There are some argument in favor of GUID and its mainly to maintain uniqueness in merge replication scenario or data warehousing scenario where data will be migrated from multiple servers and having single identity (INT) column will cause duplication.&lt;br /&gt;&lt;br /&gt;Why we should not use GUID ?&lt;br /&gt;&lt;br /&gt;1.The key issues with GUID is its very large (16 bytes) and contain alpha-numerics.&lt;br /&gt;&lt;br /&gt;2.The key issues with GUID is its very large (16 bytes) and contain alpha-numerics. GUID’s are mainly used as PRIMARY KEY (usally CLUSTERED) to ensure uniqueness of rows.&amp;nbsp; As a rule of thumb clustered index key / primary key should be as narrow as possible (in case of primary key consider lookups for primary key column by foriegn key tables) and therefore GUID are not best suited for clustered index. &lt;br /&gt;&lt;br /&gt;3.Again it will cause very high fragmentation and page split on data pages as well as index pages&lt;br /&gt;&lt;br /&gt;4.client passes GUID value to be searched to database its always rendered as string and thats the last thing you want any database to do. Databases Engines are very special purpose applications and they are not very good in complicated arthmethics and string rendering and searching.&lt;br /&gt;&lt;br /&gt;5.Optimizer always prefer to use index created on INT or numeric column as it is very easy to compare with the value (imagine comparing string with other string).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7298745527844021060-8085315937891453042?l=thaniguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thaniguy.blogspot.com/feeds/8085315937891453042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7298745527844021060&amp;postID=8085315937891453042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/8085315937891453042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/8085315937891453042'/><link rel='alternate' type='text/html' href='http://thaniguy.blogspot.com/2008/12/guid-vs-identity.html' title='GUID VS Identity'/><author><name>Thani</name><uri>http://www.blogger.com/profile/11703085361137981924</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_RQQNcsUYboQ/SSREQ9t7x7I/AAAAAAAABGM/el7Ssmf75Ms/S220/DSC01854.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7298745527844021060.post-2274866060336241570</id><published>2008-11-15T21:15:00.000-08:00</published><updated>2008-11-15T22:08:09.402-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CodeMetrics'/><category scheme='http://www.blogger.com/atom/ns#' term='NDepends'/><title type='text'>NDepends - A Powerful Code Metrics tool</title><content type='html'>NDepends is one of the powerful tool that we have now in markt . You can get the details by visiting the following link&amp;nbsp;&lt;a href="http://www.ndepend.com./"&gt;NDepends.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;A short Introduction :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;NDepends is a .Net code base management tool.It mainly aims at achieving the following&lt;br /&gt;&lt;br /&gt;things.&lt;br /&gt;&lt;br /&gt;1.Code structure&lt;br /&gt;2.Specify design rules&lt;br /&gt;3.Plan massive refactoring&lt;br /&gt;4.Effective code reviews&lt;br /&gt;5.Master evolution&lt;br /&gt;&lt;br /&gt;These things can b done by comparing different version of the code base.So what get's&lt;br /&gt;&lt;br /&gt;benefitted by these things ? Well i am damn sure that one can get better productivity by&lt;br /&gt;&lt;br /&gt;means of improved code review, easier maintenance and fast development.&lt;br /&gt;&lt;br /&gt;Some of the features of NDepends are&lt;br /&gt;&lt;br /&gt;1.Code Query Language (CQL)&lt;br /&gt;2.Compare Builds&lt;br /&gt;3.82 code metrics&lt;br /&gt;4.Manage Complexity and Dependencies&lt;br /&gt;5.Detect Dependency Cycles&lt;br /&gt;6.Harness Test Coverage Data&lt;br /&gt;7.Enforce Immutability and Purity&lt;br /&gt;8.Warnings about the health of your Build Process&lt;br /&gt;9.Generate custom report from your Build Process Diagrams&lt;br /&gt;10.Facilities to cope with real-world environment&lt;br /&gt;&lt;br /&gt;So how does NDepends achieves these things ?&lt;br /&gt;&lt;br /&gt;Well the developers of NDepends derived at a idea of giving a facility so that developers can query the objects as we query in T-SQL . We can use "select * from object" or &amp;nbsp;"Select top 10 * from Object". They call them as the CQL - CODE QUERY Language.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Practical Scenario:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Lets try to create a new project in NDepends. Try downloading a Evaluation copy if you wish to try or you can purchase that from the&amp;nbsp;http://www.ndepend.com.&lt;br /&gt;&lt;br /&gt;Lets say i hav a Silverlightapplication and i want o analyze my Project now. Lets try to create a new project as follows.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;A new screen&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_RQQNcsUYboQ/SR-woUJTyAI/AAAAAAAABFA/ka9ImPRPFc4/s1600-h/New.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_RQQNcsUYboQ/SR-woUJTyAI/AAAAAAAABFA/ka9ImPRPFc4/s320/New.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_RQQNcsUYboQ/SR-zJ9ciNzI/AAAAAAAABFI/tJIhMWQ8594/s1600-h/AfterNew+(768+x+576).gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_RQQNcsUYboQ/SR-zJ9ciNzI/AAAAAAAABFI/tJIhMWQ8594/s320/AfterNew+(768+x+576).gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;View and Hide Folders of the Assembly&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_RQQNcsUYboQ/SR-zUsBJAvI/AAAAAAAABFQ/1YoNl8DtQGU/s1600-h/FUllNew+(768+x+576).gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_RQQNcsUYboQ/SR-zUsBJAvI/AAAAAAAABFQ/1YoNl8DtQGU/s320/FUllNew+(768+x+576).gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Loading the project assemblies&lt;/span&gt;.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;I have a silverlight Application and i want to analyze the code metrics. So in that case i will use th browse button to load my project file assemblies.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_RQQNcsUYboQ/SR-zapTW9JI/AAAAAAAABFY/QpiGRA0HKzs/s1600-h/browse+(768+x+576).gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_RQQNcsUYboQ/SR-zapTW9JI/AAAAAAAABFY/QpiGRA0HKzs/s320/browse+(768+x+576).gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Run project&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Similar to the Visual Studio IDE here we have a Green&amp;nbsp;colored&amp;nbsp;Run button . Just click that an you will get the results produced in matter of seconds. The whole result document will be produced in a Browser window. The actual code result's with the assembly details will; be there in the IDE.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_RQQNcsUYboQ/SR-zj-BGg_I/AAAAAAAABFg/k5vYcoEz46g/s1600-h/Results+(768+x+576).gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_RQQNcsUYboQ/SR-zj-BGg_I/AAAAAAAABFg/k5vYcoEz46g/s320/Results+(768+x+576).gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;You can get various informations regarding your assembly like Dependencies in a diagram format. Then the performance results like coding quality standards,design standards, unused codes, encapsulation ,test coverage, purity..&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Here you can very well see a Create query button .This is th option that is used to writ the Code query language(CQL).&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Metric Results&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_RQQNcsUYboQ/SR-zo5nnNZI/AAAAAAAABFo/p-yDzRRRZ3E/s1600-h/Results+Explained+(768+x+576).gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_RQQNcsUYboQ/SR-zo5nnNZI/AAAAAAAABFo/p-yDzRRRZ3E/s320/Results+Explained+(768+x+576).gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Code Query Language&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;This CQL is something equal to our sql. Once you click th create query button you will get a screen like you gt for query analyzer. There you can type your queries with intellisense.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The below screen explains how you can write a query to fetch the methods that have more than 5 lines of code. Here the slider you are seeing indicates the integer value that we give for the count. Its a progress indication. You can also specify whether the method is a private or public .&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_RQQNcsUYboQ/SR-zt48495I/AAAAAAAABFw/X0SzyQ6fqfw/s1600-h/CQL1+(768+x+576).gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_RQQNcsUYboQ/SR-zt48495I/AAAAAAAABFw/X0SzyQ6fqfw/s320/CQL1+(768+x+576).gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The below screen shows how you can find the classes that have implemented the IDisposable interface. You can say how standard your code is and you have garbage collected well efficiently.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_RQQNcsUYboQ/SR-z35IjgzI/AAAAAAAABGA/3Gvp1o86wtM/s1600-h/IDIsposable+(768+x+576).gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_RQQNcsUYboQ/SR-z35IjgzI/AAAAAAAABGA/3Gvp1o86wtM/s320/IDIsposable+(768+x+576).gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Conclusion:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;We have lot of tools available in market for code&amp;nbsp;standardization. But this tool seems amazingly great. It has given a fantastic UI and Graphical representation of the results. Particularly the Dependency diagram is amazing and so the Code metric's. One can use this in their Day to Day programming life to achieve a better productivity.&lt;br /&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7298745527844021060-2274866060336241570?l=thaniguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thaniguy.blogspot.com/feeds/2274866060336241570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7298745527844021060&amp;postID=2274866060336241570' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/2274866060336241570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/2274866060336241570'/><link rel='alternate' type='text/html' href='http://thaniguy.blogspot.com/2008/11/ndepends-powerful-code-metrics-tool.html' title='NDepends - A Powerful Code Metrics tool'/><author><name>Thani</name><uri>http://www.blogger.com/profile/11703085361137981924</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_RQQNcsUYboQ/SSREQ9t7x7I/AAAAAAAABGM/el7Ssmf75Ms/S220/DSC01854.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_RQQNcsUYboQ/SR-woUJTyAI/AAAAAAAABFA/ka9ImPRPFc4/s72-c/New.bmp' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7298745527844021060.post-2982388988347670777</id><published>2008-11-07T23:51:00.001-08:00</published><updated>2008-11-07T23:52:03.381-08:00</updated><title type='text'>Sql Transaction Isolation Level</title><content type='html'>Controls the locking and row versioning behavior of Transact-SQL statements issued by a connection to SQL Server.&lt;br /&gt;&lt;br /&gt;SET TRANSACTION ISOLATION LEVEL&lt;br /&gt;    { READ UNCOMMITTED&lt;br /&gt;    | READ COMMITTED&lt;br /&gt;    | REPEATABLE READ&lt;br /&gt;    | SNAPSHOT&lt;br /&gt;    | SERIALIZABLE&lt;br /&gt;    }&lt;br /&gt;[ ; ]&lt;br /&gt;&lt;br /&gt;READ UNCOMMITTED&lt;br /&gt;    Specifies that statements can read rows that have been modified by other transactions but not yet committed.&lt;br /&gt;&lt;br /&gt;READ COMMITTED&lt;br /&gt;    Specifies that statements cannot read data that has been modified but not committed by other transactions. This prevents dirty reads.&lt;br /&gt;&lt;br /&gt;REPEATABLE READ&lt;br /&gt;    Specifies that statements cannot read data that has been modified but not yet committed by other transactions and that no other transactions can modify data that has been read by the current transaction until the current transaction completes.&lt;br /&gt;&lt;br /&gt;SNAPSHOT&lt;br /&gt;    Specifies that data read by any statement in a transaction will be the transactionally consistent version of the data that existed at the start of the transaction.&lt;br /&gt;&lt;br /&gt;SERIALIZABLE&lt;br /&gt;&lt;br /&gt;    Specifies the following:&lt;br /&gt;&lt;br /&gt;        * Statements cannot read data that has been modified but not yet committed by other transactions.&lt;br /&gt;        * No other transactions can modify data that has been read by the current transaction until the current transaction completes.&lt;br /&gt;        * Other transactions cannot insert new rows with key values that would fall in the range of keys read by any statements in the current transaction until the current transaction completes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7298745527844021060-2982388988347670777?l=thaniguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thaniguy.blogspot.com/feeds/2982388988347670777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7298745527844021060&amp;postID=2982388988347670777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/2982388988347670777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/2982388988347670777'/><link rel='alternate' type='text/html' href='http://thaniguy.blogspot.com/2008/11/sql-transaction-isolation-level.html' title='Sql Transaction Isolation Level'/><author><name>Thani</name><uri>http://www.blogger.com/profile/11703085361137981924</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_RQQNcsUYboQ/SSREQ9t7x7I/AAAAAAAABGM/el7Ssmf75Ms/S220/DSC01854.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7298745527844021060.post-5450735538633807518</id><published>2008-10-21T09:06:00.000-07:00</published><updated>2008-11-25T06:14:19.398-08:00</updated><title type='text'>Silverlight With Entity Framework &amp; Ado.Net Data Service</title><content type='html'>&lt;div style="font-family: inherit;"&gt;Silverlight 2 is released. Achieving a database connectivity with the silverlight through a Ado.Net data service seems quite&lt;br /&gt;&lt;br /&gt;complicated while trying initially. I have tried a lot and at last trie to achive the connectivity. I have followed the&lt;br /&gt;&lt;br /&gt;following steps to achive this.&lt;br /&gt;&lt;br /&gt;1. Create a blank new silverlight project with Asp.net website enabled.&lt;br /&gt;2. Add a new entity model (SchoolModel) referring your database for example say School Database. For this a new schoolEntity&lt;br /&gt;&lt;br /&gt;will be generated.&lt;br /&gt;3. Add a new Ado.Net data service say ScDataSRC.svc. There specify the context name of your service as SchoolEntity.&lt;br /&gt;&lt;br /&gt;Public Class ScdDataSrc&lt;br /&gt;Inherits DataService(Of SchoolEntities1)&lt;br /&gt;&lt;br /&gt;4.Set the web properties of the webapplication so that it runs in a standrad port instead of dynamic configuration.&lt;br /&gt;&lt;br /&gt;5.Now test the service by setting the service as the startup page ScDataSrc.svc . you will get a url like&lt;br /&gt;http://localhost:2031/ScdDataSrc.svc/&lt;br /&gt;&lt;br /&gt;6.Now in the silverligh project just refer this service.&lt;br /&gt;Take for example we are going to fill a datagrid in the silverlight page. Add them in the XAML.&lt;br /&gt;&lt;br /&gt;&lt;data:datagrid name="MyGrid"&gt;&lt;/data:datagrid&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;7. Import the following in the Silverlight application&lt;br /&gt;&lt;br /&gt;Imports Microsoft&lt;br /&gt;Imports System.Data.Services.Client&lt;br /&gt;Imports SilverlightApplication6.SchoolRef&lt;br /&gt;&lt;br /&gt;8. Silverlight deals the data in an Asynchronous way. So we have to handle them in th following way&lt;br /&gt;&lt;br /&gt;1. Create a instance for the context&lt;br /&gt;Dim ctx As New SchoolRef.SchoolEntities(New Uri("http://localhost:2031/ScdDataSrc.svc/"))&lt;br /&gt;&lt;br /&gt;2. form the linq query that needs to fetch the data.&lt;br /&gt;&lt;br /&gt;Dim pr = From c As Course In ctx.Course _&lt;br /&gt;Select c&lt;br /&gt;&lt;br /&gt;3. Now typecast the query to dataservice query and assign a asynchronous method to that . This asynhronous&lt;br /&gt;method takes care of fetching the data from service .&lt;br /&gt;Dim prdquery As DataServiceQuery(Of Course) = DirectCast(pr, DataServiceQuery(Of Course))&lt;br /&gt;prdquery.BeginExecute(New AsyncCallback(AddressOf onLoadComplete), prdquery)&lt;br /&gt;&lt;br /&gt;Public Sub onLoadComplete(ByVal result As IAsyncResult)&lt;br /&gt;Dim results As IEnumerable(Of Course)&lt;br /&gt;results = DirectCast(result.AsyncState, DataServiceQuery(Of Course)).EndExecute(result)&lt;br /&gt;Me.MyCombo.DataContext = results.ToList&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. Bind the objects inside the Async methods.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7298745527844021060-5450735538633807518?l=thaniguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thaniguy.blogspot.com/feeds/5450735538633807518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7298745527844021060&amp;postID=5450735538633807518' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/5450735538633807518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/5450735538633807518'/><link rel='alternate' type='text/html' href='http://thaniguy.blogspot.com/2008/10/silverlight-with-entity-framework.html' title='Silverlight With Entity Framework &amp; Ado.Net Data Service'/><author><name>Thani</name><uri>http://www.blogger.com/profile/11703085361137981924</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_RQQNcsUYboQ/SSREQ9t7x7I/AAAAAAAABGM/el7Ssmf75Ms/S220/DSC01854.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7298745527844021060.post-6020392298455350633</id><published>2008-10-09T20:56:00.000-07:00</published><updated>2008-10-09T22:07:05.256-07:00</updated><title type='text'>Partial PostBacks with ICallbackEventHandler</title><content type='html'>Icallbackeventhandler is one of the Interfaces provided by Microsoft for enabling Partial postbacks in pages .This can be used in situations where we cannot use the UpdatePanels this seems to be very useful.&lt;br /&gt; for example i have a situation where two control's are dynamically created . one is a link button and another is a span control just to display some warnings. When the link button is clicked some actions occur in the server and the warnings  of that action are displayed in the span control. Here i could not use the update panel's since the controls are dynamically created and they are not in same position . They are in some parts of&lt;br /&gt;&lt;br /&gt;the page.&lt;br /&gt;Here comes the rescue in the form of the ICallbackEventhandler !.&lt;br /&gt;&lt;br /&gt;We can do the partial postback Synchronous and Asynchronous. Here i have explained the Synchronous way of doing that . We can achieve this Asynchrnously by means of IAsync. I will discuss about this in another post.&lt;br /&gt;&lt;br /&gt;We have to implement this interface ICallbackEventhandler in the page class.&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Partial Class EditClass&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;      Inherits System.Web.UI.Page&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;      Implements ICallbackEventHandler&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once we implement we get these methods  GetCallbackResult() and RaiseCallbackEvent(ByVal eventArgument As String) implemented.&lt;br /&gt;&lt;br /&gt;We have a set of JavaScript functions to be defined for using this Icallbackeventhandler. They are&lt;br /&gt;1.The function to be called from the control from client side.&lt;br /&gt; This is the function that is called from the control which needs the partial postback.&lt;br /&gt; &lt;asp:button id="SampleHit" runat="Server" onclientcick="CallServer();"&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;asp:button id="SampleHit" runat="Server" onclientcick="CallServer();"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here we are using a asp.net server control. So we are calling a javascript funtion from the onClientClick.This function has to be written in the page's markup as follows.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  &lt;span style="color: rgb(0, 0, 153);"&gt;function CallServer() {                &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;         var justExample = '';&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;         MakePostBack(justExample,'');&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2.The functions that are generated from the code Behind files. They are as follows&lt;br /&gt; &lt;span style="color: rgb(0, 0, 153);"&gt;Dim cs As ClientScriptManager = Page.ClientScript&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;              Dim cbref As String = cs.GetCallbackEventReference(Me, "arg", "ReceiveServerData", "context")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;               Dim cbscr As String = "function MakePostBack(arg, context){" + cbref + ";}"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;              cs.RegisterClientScriptBlock(Me.GetType(), "MakePost", cbscr, True)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; We are getting the callback reference of the page from this method GetCallbackEventReference. This will get generated something like "WebForm_DoCallback&lt;br /&gt;('__Page',arg,ShowPop,context,null,false);". We make this call in another javascript function to make this postback call. This we make by means of the registering hte script to the page's clientscriptmanager.&lt;br /&gt;&lt;br /&gt;3. The server methods GetCallbackResult() and RaiseCallbackEvent(ByVal eventArgument As String) have to be defined.&lt;br /&gt;&lt;br /&gt; Define this string _str in page level&lt;br /&gt; &lt;span style="color: rgb(0, 0, 153);"&gt;Dim _str As String&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; '&lt;span style="color: rgb(0, 0, 153);"&gt;This function returns the data to the client&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;  Public Function GetCallbackResult() As String Implements System.Web.UI.ICallbackEventHandler.GetCallbackResult&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;           Return _str&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;     End Function&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;  'This is the Callback function from the control. Here we can do the needed manipulation with the arguments which we receive from the client page.  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;  Public Sub RaiseCallbackEvent(ByVal eventArgument As String) Implements System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;          _str="Hello World"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;  End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4. Then we have to define the  function ReceiveServerData in Markup page. This is the function that receives the data from the server. We can use this for our specific needs. You can even get a full data&lt;br /&gt;&lt;br /&gt;source by means of the XML string's and manipulating in the client side XMLDom javascript objects.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;function ReceiveServerData(result, context) {&lt;/span&gt;&lt;br /&gt;                &lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;                var strResult = new String();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;                strResult = result;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;  alert(strResult );&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have referred the following Microsoft Article to be very very useful for this .&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.icallbackeventhandler.aspx"&gt;&lt;/a&gt;&lt;/asp:button&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7298745527844021060-6020392298455350633?l=thaniguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thaniguy.blogspot.com/feeds/6020392298455350633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7298745527844021060&amp;postID=6020392298455350633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/6020392298455350633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/6020392298455350633'/><link rel='alternate' type='text/html' href='http://thaniguy.blogspot.com/2008/10/partial-postbacks-with.html' title='Partial PostBacks with ICallbackEventHandler'/><author><name>Thani</name><uri>http://www.blogger.com/profile/11703085361137981924</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_RQQNcsUYboQ/SSREQ9t7x7I/AAAAAAAABGM/el7Ssmf75Ms/S220/DSC01854.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7298745527844021060.post-1911832119189976708</id><published>2007-08-13T06:18:00.000-07:00</published><updated>2007-08-13T06:18:36.059-07:00</updated><title type='text'>Mapping Objects to Relational Databases: O/R Mapping In Detail</title><content type='html'>&lt;a href="http://www.agiledata.org/essays/mappingObjects.html#BasicConcepts"&gt;Mapping Objects to Relational Databases: O/R Mapping In Detail&lt;/a&gt;: "of both multiplicities is greater than one, an example of which is the assigned relationship between Employee and Task.  An employee is assigned one or more tasks and each task is assigned to zero or more employees."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7298745527844021060-1911832119189976708?l=thaniguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.agiledata.org/essays/mappingObjects.html#BasicConcepts' title='Mapping Objects to Relational Databases: O/R Mapping In Detail'/><link rel='replies' type='application/atom+xml' href='http://thaniguy.blogspot.com/feeds/1911832119189976708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7298745527844021060&amp;postID=1911832119189976708' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/1911832119189976708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/1911832119189976708'/><link rel='alternate' type='text/html' href='http://thaniguy.blogspot.com/2007/08/mapping-objects-to-relational-databases.html' title='Mapping Objects to Relational Databases: O/R Mapping In Detail'/><author><name>Thani</name><uri>http://www.blogger.com/profile/11703085361137981924</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_RQQNcsUYboQ/SSREQ9t7x7I/AAAAAAAABGM/el7Ssmf75Ms/S220/DSC01854.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7298745527844021060.post-4070232192095225207</id><published>2007-08-12T21:58:00.000-07:00</published><updated>2007-08-12T21:58:36.364-07:00</updated><title type='text'>Tony Rogerson's ramblings on SQL Server : Passing an array (CSV) to a stored procedure with data validation, no loops, no self joins - just REPLACE</title><content type='html'>&lt;a href="http://sqlblogcasts.com/blogs/tonyrogerson/archive/2007/08/05/passing-an-array-csv-to-a-stored-procedure-with-data-validation-no-loops-no-self-joins-just-replace.aspx"&gt;Tony Rogerson's ramblings on SQL Server : Passing an array (CSV) to a stored procedure with data validation, no loops, no self joins - just REPLACE&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7298745527844021060-4070232192095225207?l=thaniguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://sqlblogcasts.com/blogs/tonyrogerson/archive/2007/08/05/passing-an-array-csv-to-a-stored-procedure-with-data-validation-no-loops-no-self-joins-just-replace.aspx' title='Tony Rogerson&apos;s ramblings on SQL Server : Passing an array (CSV) to a stored procedure with data validation, no loops, no self joins - just REPLACE'/><link rel='replies' type='application/atom+xml' href='http://thaniguy.blogspot.com/feeds/4070232192095225207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7298745527844021060&amp;postID=4070232192095225207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/4070232192095225207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/4070232192095225207'/><link rel='alternate' type='text/html' href='http://thaniguy.blogspot.com/2007/08/tony-rogersons-ramblings-on-sql-server.html' title='Tony Rogerson&apos;s ramblings on SQL Server : Passing an array (CSV) to a stored procedure with data validation, no loops, no self joins - just REPLACE'/><author><name>Thani</name><uri>http://www.blogger.com/profile/11703085361137981924</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_RQQNcsUYboQ/SSREQ9t7x7I/AAAAAAAABGM/el7Ssmf75Ms/S220/DSC01854.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7298745527844021060.post-1070933487189631693</id><published>2007-08-12T11:26:00.001-07:00</published><updated>2007-08-12T11:26:58.535-07:00</updated><title type='text'>When to use Interface ?</title><content type='html'>*     Interfaces are better suited to situations in which your applications require many possibly unrelated object types to provide certain functionality.&lt;br /&gt;    *     Interfaces are more flexible than base classes because you can define a single implementation that can implement multiple interfaces.&lt;br /&gt;    *      Interfaces are better in situations in which you do not need to inherit implementation from a base class.&lt;br /&gt;    *      Interfaces are useful in cases where you cannot use class inheritance. For example, structures cannot inherit from classes, but they can implement interfaces.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7298745527844021060-1070933487189631693?l=thaniguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thaniguy.blogspot.com/feeds/1070933487189631693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7298745527844021060&amp;postID=1070933487189631693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/1070933487189631693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/1070933487189631693'/><link rel='alternate' type='text/html' href='http://thaniguy.blogspot.com/2007/08/when-to-use-interface.html' title='When to use Interface ?'/><author><name>Thani</name><uri>http://www.blogger.com/profile/11703085361137981924</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_RQQNcsUYboQ/SSREQ9t7x7I/AAAAAAAABGM/el7Ssmf75Ms/S220/DSC01854.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7298745527844021060.post-2442416305050209864</id><published>2007-08-12T11:20:00.000-07:00</published><updated>2007-08-12T11:21:46.682-07:00</updated><title type='text'>Sending mail in .Net</title><content type='html'>I found a interesting article in MSDN for sending mails.Heres the link&lt;br /&gt;&lt;br /&gt;http://msdn2.microsoft.com/en-us/vbasic/bb630227.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7298745527844021060-2442416305050209864?l=thaniguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thaniguy.blogspot.com/feeds/2442416305050209864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7298745527844021060&amp;postID=2442416305050209864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/2442416305050209864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/2442416305050209864'/><link rel='alternate' type='text/html' href='http://thaniguy.blogspot.com/2007/08/sending-mail-in-net.html' title='Sending mail in .Net'/><author><name>Thani</name><uri>http://www.blogger.com/profile/11703085361137981924</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_RQQNcsUYboQ/SSREQ9t7x7I/AAAAAAAABGM/el7Ssmf75Ms/S220/DSC01854.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7298745527844021060.post-1579266055362406897</id><published>2007-08-12T10:13:00.001-07:00</published><updated>2007-08-12T10:14:11.829-07:00</updated><title type='text'>.Net Reflection</title><content type='html'>I found this useful tips on Reflection.&lt;br /&gt;&lt;br /&gt;Reflection allows you to discover an object’s type at runtime if you don’t already know it and query the structure of the classes. You can also invoke methods, change properties, and play with events all dynamically at runtime.&lt;br /&gt;&lt;br /&gt;It’s great for creating a plug-in architecture as well as creating a generic business object validator or a generic data access layer. It’s also handy for hacking a DLL if you don’t have the source code.&lt;br /&gt;&lt;br /&gt;Reflection is a fairly advanced topic and assumes good foundational knowledge of object oriented programming&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7298745527844021060-1579266055362406897?l=thaniguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thaniguy.blogspot.com/feeds/1579266055362406897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7298745527844021060&amp;postID=1579266055362406897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/1579266055362406897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/1579266055362406897'/><link rel='alternate' type='text/html' href='http://thaniguy.blogspot.com/2007/08/net-reflection.html' title='.Net Reflection'/><author><name>Thani</name><uri>http://www.blogger.com/profile/11703085361137981924</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_RQQNcsUYboQ/SSREQ9t7x7I/AAAAAAAABGM/el7Ssmf75Ms/S220/DSC01854.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7298745527844021060.post-5044017561564174934</id><published>2007-05-16T21:40:00.000-07:00</published><updated>2007-07-02T00:19:36.439-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>Smart Coding</title><content type='html'>Coding smart needs some professionalism.Try to avoid unnecessary comments on your code.This will try to avoid lots of confusion while you modify the code.Particularly when you are maintaining version control this has to be done for sure.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7298745527844021060-5044017561564174934?l=thaniguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thaniguy.blogspot.com/feeds/5044017561564174934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7298745527844021060&amp;postID=5044017561564174934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/5044017561564174934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7298745527844021060/posts/default/5044017561564174934'/><link rel='alternate' type='text/html' href='http://thaniguy.blogspot.com/2007/05/ajax.html' title='Smart Coding'/><author><name>Thani</name><uri>http://www.blogger.com/profile/11703085361137981924</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_RQQNcsUYboQ/SSREQ9t7x7I/AAAAAAAABGM/el7Ssmf75Ms/S220/DSC01854.JPG'/></author><thr:total>0</thr:total></entry></feed>
