<?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-3726638899154950071</id><updated>2012-02-16T03:11:40.895-08:00</updated><title type='text'>ASP.NET / SQLSERVER</title><subtitle type='html'>All I have learned.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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>62</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3726638899154950071.post-7662236650250589823</id><published>2009-09-22T16:11:00.000-07:00</published><updated>2009-09-22T16:13:16.028-07:00</updated><title type='text'>Book for architect</title><content type='html'>97 Things Every Software Architect Should Know&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-7662236650250589823?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/7662236650250589823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=7662236650250589823' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/7662236650250589823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/7662236650250589823'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2009/09/book-for-architect.html' title='Book for architect'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-7591323967060228528</id><published>2009-09-17T10:52:00.000-07:00</published><updated>2009-09-17T10:54:13.712-07:00</updated><title type='text'>Loading large files as attachment in sql server</title><content type='html'>CREATE TABLE [dbo].[TEMP_ATTACH](&lt;br /&gt;    [DOCID] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;br /&gt;    [FILE_NAME] [varchar](200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;br /&gt;    [ATTACHMENT] [varbinary](max) NULL,&lt;br /&gt;    [FULL_NAME] [varchar](500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL&lt;br /&gt;) ON [PRIMARY]&lt;br /&gt;&lt;br /&gt;declare @path varchar(100)&lt;br /&gt;    declare @filename Nvarchar(500)&lt;br /&gt;    SET @path = 'C:\Attachments\'&lt;br /&gt;    declare att_cursor cursor fast_forward for&lt;br /&gt;    select [full_name] from temp_attach&lt;br /&gt;&lt;br /&gt;    open att_cursor&lt;br /&gt;    fetch next from att_cursor into&lt;br /&gt;    @filename&lt;br /&gt;&lt;br /&gt;    while @@fetch_status = 0&lt;br /&gt;    begin&lt;br /&gt;&lt;br /&gt;    EXEC ('UPDATE TEMP_ATTACH&lt;br /&gt;    SET ATTACHMENT = BulkColumn&lt;br /&gt;    FROM  OPENROWSET (BULK ''' + @path + @filename  + ''', SINGLE_BLOB) MyFile   &lt;br /&gt;    WHERE [full_name] = ''' + @filename + '''')&lt;br /&gt;   &lt;br /&gt;    fetch next from att_cursor into&lt;br /&gt;    @filename&lt;br /&gt;    end&lt;br /&gt;    CLOSE att_cursor&lt;br /&gt;    DEALLOCATE att_cursor&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-7591323967060228528?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/7591323967060228528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=7591323967060228528' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/7591323967060228528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/7591323967060228528'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2009/09/loading-large-files-as-attachment-in.html' title='Loading large files as attachment in sql server'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-1135764000717785951</id><published>2009-03-10T07:58:00.000-07:00</published><updated>2009-03-10T07:59:10.837-07:00</updated><title type='text'>remove all the options in the dropdown select box.</title><content type='html'>&lt;p&gt;Use this JavaScript to remove all the options in the dropdown select box.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;document.getElementById('Dropdown').length = 0;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-1135764000717785951?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/1135764000717785951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=1135764000717785951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1135764000717785951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1135764000717785951'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2009/03/remove-all-options-in-dropdown-select.html' title='remove all the options in the dropdown select box.'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-7156547982586398370</id><published>2009-03-05T08:28:00.001-08:00</published><updated>2009-03-05T08:30:15.640-08:00</updated><title type='text'>update a table from other table sql server</title><content type='html'>update Employee  set email = lgfl.xx_email&lt;br /&gt;from DB2.dbo.directEmployee lgfl join Employee   on Employee.emp_name = lgfl.emp_name&lt;br /&gt;where Employee.emp_id = dept.emp_id&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-7156547982586398370?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/7156547982586398370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=7156547982586398370' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/7156547982586398370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/7156547982586398370'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2009/03/update-table-from-other-table-sql.html' title='update a table from other table sql server'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-1117165146315102409</id><published>2009-01-27T06:26:00.000-08:00</published><updated>2009-01-27T06:27:57.680-08:00</updated><title type='text'>GridView with BoundField which was setup to format date field with DataFormatString but string formatting is not working</title><content type='html'>html encoding is applied by default for the data before it is formatted. Therefore set HtmlEncode="false" to the BoundField so that formatting has expected effect.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://aspadvice.com/blogs/joteke/archive/2005/09/25/12871.aspx&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.netnewsgroups.net/group/microsoft.public.dotnet.framework.aspnet/topic24899.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-1117165146315102409?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/1117165146315102409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=1117165146315102409' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1117165146315102409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1117165146315102409'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2009/01/gridview-with-boundfield-which-was.html' title='GridView with BoundField which was setup to format date field with DataFormatString but string formatting is not working'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-3779566242956250164</id><published>2008-11-19T08:30:00.000-08:00</published><updated>2008-11-19T08:31:04.921-08:00</updated><title type='text'>Finding maximum characters for each filed in a table</title><content type='html'>DECLARE&lt;br /&gt;@c varchar(4000),&lt;br /&gt;@t varchar(128),&lt;br /&gt;@maxchars int,&lt;br /&gt;@fieldName varchar(100),&lt;br /&gt;@dynamicSql nvarchar(2000)&lt;br /&gt;SET @c = ''&lt;br /&gt;SET @t='LEGACY_GMM'&lt;br /&gt;SET @maxchars = 0&lt;br /&gt;SET @fieldName = ''&lt;br /&gt;SET @dynamicSql = ''&lt;br /&gt;SELECT @c = @c + c.name + ', '&lt;br /&gt;FROM syscolumns c&lt;br /&gt;INNER JOIN sysobjects o ON o.id = c.id&lt;br /&gt;WHERE o.name = 'LEGACY_GMM' and c.colorder &lt; 101&lt;br /&gt;while charindex(',', @c) &gt; 0&lt;br /&gt;begin&lt;br /&gt;SET @fieldName = substring(@c,0,charindex(',',@c))&lt;br /&gt;SET @dynamicSql = 'select max(len(' + @fieldName + ')) as ' + @fieldName + ' from LEGACY_GMM;'&lt;br /&gt;execute sp_executesql @dynamicSql&lt;br /&gt;SET @c = substring(@c, charindex(',',@c)+1, LEN(@c))&lt;br /&gt;end&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-3779566242956250164?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/3779566242956250164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=3779566242956250164' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/3779566242956250164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/3779566242956250164'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2008/11/finding-maximum-characters-for-each.html' title='Finding maximum characters for each filed in a table'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-745337727362251474</id><published>2008-08-14T07:29:00.000-07:00</published><updated>2008-08-14T07:32:02.905-07:00</updated><title type='text'>Extender Controls</title><content type='html'>Extenders are basically controls that reach out and extend other controls.&lt;br /&gt;For e.g. Validation controls,  you can add RequiredfieldValidator to the page and associate it to a TextBox control, this extends the Textbox control and changes its behavior.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-745337727362251474?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/745337727362251474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=745337727362251474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/745337727362251474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/745337727362251474'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2008/08/extender-controls.html' title='Extender Controls'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-8338235305690031452</id><published>2008-08-13T19:55:00.000-07:00</published><updated>2008-08-13T20:30:45.153-07:00</updated><title type='text'>Notes on ESB (Enterprise service Bus)</title><content type='html'>Here are few notes from the ESB talk from channel9.&lt;br /&gt;What is ESB?&lt;br /&gt;It is a solution, it is not a new product.&lt;br /&gt;It utilizes SOA, software factory.&lt;br /&gt;&lt;br /&gt;Why you need ESB? What value it brings?&lt;br /&gt;&lt;br /&gt;ESB = Infrastructure,&lt;br /&gt;- lot of services&lt;br /&gt;- intelligent routing(sending message to different applications - all in runtime, there should be automatic subscription.)&lt;br /&gt;- Dynamic transformation - what is the map?&lt;br /&gt;&lt;br /&gt;Each application has to register to the ESB.&lt;br /&gt;Security - WS* standards implemented in ESB so it is compatible with different vendors.&lt;br /&gt;&lt;br /&gt;-Build functional service.&lt;br /&gt;-It should react in short time i.e. it should be Agile, Agile also means one should not build from scratch, instead compose.&lt;br /&gt;&lt;br /&gt;- one important thing, SOA is a means and not a goal.&lt;br /&gt;ESB is enabler to SOA&lt;br /&gt;&lt;br /&gt;Expose - Compose - Consume.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-8338235305690031452?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/8338235305690031452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=8338235305690031452' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/8338235305690031452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/8338235305690031452'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2008/08/notes-on-esb.html' title='Notes on ESB (Enterprise service Bus)'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-3105885929101214631</id><published>2008-08-13T19:44:00.000-07:00</published><updated>2008-08-13T19:53:31.003-07:00</updated><title type='text'>What is an Architect?</title><content type='html'>Here are few notes from the Arcast talk.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is an Architect?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1) An architect is a Designer.&lt;/span&gt;&lt;br /&gt;Strength - Strong Software Engineering fundatmetal.&lt;br /&gt;Functional Structure -  software is nothing if it is not useful.&lt;br /&gt;Beautiful - Solution that is pleasing to eyes.&lt;br /&gt;&lt;br /&gt;Designer should have a great vision - one should study patterns and apply patterns&lt;br /&gt;SOA + Single signon + integration pattern&lt;br /&gt;WCF =  service oriented platform + security +  transaction.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2) An architect is an Advocate&lt;/span&gt;&lt;br /&gt;He should Listen, observe, think strategically.&lt;br /&gt;Listen to Customers, partners, users, developers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3) An architect should be an Explorer&lt;/span&gt;&lt;br /&gt;Looking for opportunity.&lt;br /&gt;Heading into unknown.&lt;br /&gt;Help business find technology solution to business problem.&lt;br /&gt;as an explorer he has to a) Visionary: technology trends etc. b) Persuasive : Pro / cons of emerging trend. c) Accountable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-3105885929101214631?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/3105885929101214631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=3105885929101214631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/3105885929101214631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/3105885929101214631'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2008/08/what-is-architect.html' title='What is an Architect?'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-2430404752731799408</id><published>2008-08-06T15:49:00.000-07:00</published><updated>2008-08-06T15:53:25.664-07:00</updated><title type='text'>Custome Site Map to build menus from Database instead of XML</title><content type='html'>We will use the database as shown in fig.&lt;br /&gt;ID, ParentNodeID are integers&lt;br /&gt;rest of the fields are string.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6CU26TEdV88/SJoqxrxhDLI/AAAAAAAAABs/auBO32Z-A50/s1600-h/DBForSqlSiteMap.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_6CU26TEdV88/SJoqxrxhDLI/AAAAAAAAABs/auBO32Z-A50/s320/DBForSqlSiteMap.JPG" alt="" id="BLOGGER_PHOTO_ID_5231540950196620466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Make following entry in the web.config file.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6CU26TEdV88/SJoq-OVrxcI/AAAAAAAAAB0/-ucE2ToZDcY/s1600-h/SqlSiteMap.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_6CU26TEdV88/SJoq-OVrxcI/AAAAAAAAAB0/-ucE2ToZDcY/s320/SqlSiteMap.JPG" alt="" id="BLOGGER_PHOTO_ID_5231541165633553858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now create following class which implements the StaticSitemapProvider&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Configuration;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Web;&lt;br /&gt;using System.Web.Security;&lt;br /&gt;using System.Web.UI;&lt;br /&gt;using System.Web.UI.HtmlControls;&lt;br /&gt;using System.Web.UI.WebControls;&lt;br /&gt;using System.Web.UI.WebControls.WebParts;&lt;br /&gt;using System.Xml.Linq;&lt;br /&gt;using System.Collections;&lt;br /&gt;using System.Collections.Specialized;&lt;br /&gt;using System.Data.SqlClient;&lt;br /&gt;using System.Security.Permissions;&lt;br /&gt;&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// Summary description for SqlSiteMapProvider&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;public class SqlSiteMapProvider : StaticSiteMapProvider&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;        private SiteMapNode rootNode =  null;&lt;br /&gt;        private SqlConnection sqlConnection = null;&lt;br /&gt;        private string sp = string.Empty;&lt;br /&gt;&lt;br /&gt;        // This string is case sensitive.&lt;br /&gt;        private string sqlConnectionStringName = "sqlSiteMapConnectionString";&lt;br /&gt;&lt;br /&gt;        // Implement a default constructor.&lt;br /&gt;        public SqlSiteMapProvider() { }&lt;br /&gt;&lt;br /&gt;        // Some basic state to help track the initialization state of the provider.&lt;br /&gt;        private bool initialized = false;&lt;br /&gt;        public virtual bool IsInitialized {&lt;br /&gt;            get {&lt;br /&gt;                return initialized;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        // Return the root node of the current site map.&lt;br /&gt;        public override SiteMapNode RootNode {&lt;br /&gt;            get {&lt;br /&gt;                SiteMapNode temp = null;&lt;br /&gt;                temp = BuildSiteMap();&lt;br /&gt;                return temp;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        protected override SiteMapNode GetRootNodeCore() {&lt;br /&gt;            return RootNode;&lt;br /&gt;        }&lt;br /&gt;        // Initialize is used to initialize the properties and any state that the&lt;br /&gt;        // SqlProvider holds, but is not used to build the site map.&lt;br /&gt;        // The site map is built when the BuildSiteMap method is called, it reads the values from the web.config&lt;br /&gt;        // in the attributes namevaluecollection.&lt;br /&gt;        public override void Initialize(string name, NameValueCollection attributes) {&lt;br /&gt;            if (IsInitialized)&lt;br /&gt;                return;&lt;br /&gt;&lt;br /&gt;            base.Initialize(name, attributes);&lt;br /&gt;&lt;br /&gt;            // Create and test the connection to the Microsoft Access database.&lt;br /&gt;&lt;br /&gt;            // Retrieve the Value of the Access connection string from the&lt;br /&gt;            // attributes NameValueCollection.&lt;br /&gt;            string connectionString = attributes[sqlConnectionStringName];&lt;br /&gt;            sp = attributes["storedProcedure"];&lt;br /&gt;&lt;br /&gt;            if (null == connectionString || connectionString.Length == 0)&lt;br /&gt;                throw new Exception("The connection string was not found.");&lt;br /&gt;            else&lt;br /&gt;                sqlConnection = new SqlConnection(connectionString);&lt;br /&gt;&lt;br /&gt;            initialized = true;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        ///&lt;br /&gt;        /// SiteMapProvider and StaticSiteMapProvider methods that this derived class must override.&lt;br /&gt;        ///&lt;br /&gt;        // Clean up any collections or other state that an instance of this may hold.&lt;br /&gt;        protected override void Clear() {&lt;br /&gt;            lock (this) {&lt;br /&gt;                rootNode = null;&lt;br /&gt;                base.Clear();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        // Build an in-memory representation from persistent&lt;br /&gt;        // storage, and return the root node of the site map.&lt;br /&gt;        public override SiteMapNode BuildSiteMap() {&lt;br /&gt;&lt;br /&gt;            int parentNodeId = 0;&lt;br /&gt;            // Since the SiteMap class is static, make sure that it is&lt;br /&gt;            // not modified while the site map is built.&lt;br /&gt;            lock(this) {&lt;br /&gt;&lt;br /&gt;                // If there is no initialization, this method is being&lt;br /&gt;                // called out of order.&lt;br /&gt;                if (! IsInitialized) {&lt;br /&gt;                    throw new Exception("BuildSiteMap called incorrectly.");&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                // If there is no root node, then there is no site map.&lt;br /&gt;                if (null == rootNode) {&lt;br /&gt;                    // Start with a clean slate&lt;br /&gt;                    Clear();&lt;br /&gt;&lt;br /&gt;                    // Select the root node of the site map from Microsoft Access.&lt;br /&gt;                    int rootNodeId = -1;&lt;br /&gt;&lt;br /&gt;                    if (sqlConnection.State == ConnectionState.Closed)&lt;br /&gt;                        sqlConnection.Open();&lt;br /&gt;                    SqlCommand rootNodeCommand = sqlConnection.CreateCommand();&lt;br /&gt;                    rootNodeCommand.CommandText = sp;&lt;br /&gt;                    rootNodeCommand.CommandType = CommandType.StoredProcedure;&lt;br /&gt;                    SqlDataReader rootNodeReader = rootNodeCommand.ExecuteReader();&lt;br /&gt;                  &lt;br /&gt;                    while( rootNodeReader.Read()) {&lt;br /&gt;                      &lt;br /&gt;                        if (!rootNodeReader.IsDBNull(0))&lt;br /&gt;                        {&lt;br /&gt;                            rootNodeId = rootNodeReader.GetInt32(0);&lt;br /&gt;                        }&lt;br /&gt;                        // Create a SiteMapNode that references the current StaticSiteMapProvider.&lt;br /&gt;                        if (rootNodeReader.IsDBNull(4))&lt;br /&gt;                        {&lt;br /&gt;                            rootNode = new SiteMapNode(this,&lt;br /&gt;                                                         rootNodeId.ToString(),&lt;br /&gt;                                                         rootNodeReader.GetString(1),&lt;br /&gt;                                                         rootNodeReader.GetString(2),&lt;br /&gt;                                                         rootNodeReader.GetString(3));&lt;br /&gt;                            parentNodeId = rootNodeId;&lt;br /&gt;                        }&lt;br /&gt;                        else if (rootNodeReader.GetInt32(4) == parentNodeId)&lt;br /&gt;                        {&lt;br /&gt;                            SiteMapNode childNode = new SiteMapNode(this,&lt;br /&gt;                                                         rootNodeId.ToString(),&lt;br /&gt;                                                         rootNodeReader.GetString(1),&lt;br /&gt;                                                         rootNodeReader.GetString(2),&lt;br /&gt;                                                         rootNodeReader.GetString(3));&lt;br /&gt;                            AddNode(childNode, rootNode);&lt;br /&gt;                        }&lt;br /&gt;                        else&lt;br /&gt;                        {&lt;br /&gt;                            SiteMapNode ch1 = new SiteMapNode(this,&lt;br /&gt;                                                         rootNodeId.ToString(),&lt;br /&gt;                                                         rootNodeReader.GetString(1),&lt;br /&gt;                                                         rootNodeReader.GetString(2),&lt;br /&gt;                                                         rootNodeReader.GetString(3));&lt;br /&gt;&lt;br /&gt;                            SiteMapNode parent =  FindSiteMapNodeFromKey(rootNodeReader.GetInt32(4).ToString());&lt;br /&gt;                            AddNode(ch1,parent);&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                &lt;br /&gt;&lt;br /&gt;                    rootNodeReader.Close();&lt;br /&gt;                    // Select the child nodes of the root node.&lt;br /&gt;             &lt;br /&gt;                    sqlConnection.Close();&lt;br /&gt;                }&lt;br /&gt;                return rootNode;&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/3726638899154950071-2430404752731799408?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/2430404752731799408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=2430404752731799408' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/2430404752731799408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/2430404752731799408'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2008/08/custome-site-map-to-build-menus-from.html' title='Custome Site Map to build menus from Database instead of XML'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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/_6CU26TEdV88/SJoqxrxhDLI/AAAAAAAAABs/auBO32Z-A50/s72-c/DBForSqlSiteMap.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3726638899154950071.post-5437507142414128179</id><published>2008-08-06T06:59:00.000-07:00</published><updated>2008-08-06T07:55:05.507-07:00</updated><title type='text'>WEB PARTS</title><content type='html'>- Web Parts are objects in the Portal Framework which the end user can open, close, minimize, maximize, or move from one part of the page to another part.&lt;br /&gt;- Portal Framework defines everything in terms of Zone, there are zones for laying out as well as for editing contents.&lt;br /&gt;- Zones are managed by Framework manager control called WebPartManager.&lt;br /&gt;- WebPartManager completely manages the state of the zones and the content palced in these zones on a per-user basis.&lt;br /&gt;- WebPartManager can also manage the communications between different zones.&lt;br /&gt;- WebPartManager has to be present on every page that works with portal framework, or you can place on the master page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-5437507142414128179?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/5437507142414128179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=5437507142414128179' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/5437507142414128179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/5437507142414128179'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2008/08/web-parts.html' title='WEB PARTS'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-929335468956802394</id><published>2008-08-05T18:33:00.001-07:00</published><updated>2008-08-05T18:33:51.717-07:00</updated><title type='text'>XML- XSL</title><content type='html'>XML – Extensible Markup Language&lt;br /&gt;XSL – Extensible Stylesheet Language&lt;br /&gt;XSL is an XML based language for expressing stylesheets for manipulating XML data.&lt;br /&gt;&lt;br /&gt;Xpath, a selection syntax allowing us to select nodes within an XML document.  Xpath is used in XSLT to specify which nodes to use in a transformation, and for selecting XML content to include in an output document.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;An XSLT stylesheet consists of a series of one or more templates, togather with instructions based on Xpath expressions that tell an XSLT processor how to match the templates against nodes in an XML input document. The result of applying template is another XML document, output could be HTML, or plain text also.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-929335468956802394?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/929335468956802394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=929335468956802394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/929335468956802394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/929335468956802394'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2008/08/xml-xsl.html' title='XML- XSL'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-705870120739375337</id><published>2008-07-31T19:35:00.000-07:00</published><updated>2008-07-31T19:37:13.241-07:00</updated><title type='text'>Jing to Capture, record and share</title><content type='html'>&lt;a href="http://jingproject.com/"&gt;Tool to Capture Images, Record Videos and Share them online&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-705870120739375337?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/705870120739375337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=705870120739375337' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/705870120739375337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/705870120739375337'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2008/07/jing-to-capture-record-and-share.html' title='Jing to Capture, record and share'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-2451347516636723160</id><published>2008-06-20T11:26:00.000-07:00</published><updated>2008-06-20T11:40:37.766-07:00</updated><title type='text'>Reading resources from resource dll of another application</title><content type='html'>Copy the Application Dll and Resource dll to one folder.&lt;br /&gt;&lt;br /&gt;in the code&lt;br /&gt;&lt;br /&gt;Assembly assL = Assembly.LoadFrom(@"C:\Personal\CERT\70-528\MGohil.Services.Authentication.dll");&lt;br /&gt;&lt;br /&gt;//here ApplicationTokens is the resource file i.e. ApplicationTokens.resx or ApplicationTokens.en-US.resx&lt;br /&gt; ResourceManager rm = new ResourceManager("MGohil.Services.Authentication.ApplicationTokens", assL);&lt;br /&gt;&lt;br /&gt;string t = rm.GetString("XYZ_Key");&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-2451347516636723160?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/2451347516636723160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=2451347516636723160' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/2451347516636723160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/2451347516636723160'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2008/06/reading-resources-from-resource-dll-of.html' title='Reading resources from resource dll of another application'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-2288754255474580867</id><published>2008-06-18T06:59:00.000-07:00</published><updated>2008-06-18T07:01:25.710-07:00</updated><title type='text'>Rename database table column SQL Server</title><content type='html'>Execute below statemnet in SQL analyzer and it will rename the column name.&lt;br /&gt;&lt;br /&gt;exec sp_rename 'DBO.Customers.CompanyName', 'CorporateName', 'COLUMN'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-2288754255474580867?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/2288754255474580867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=2288754255474580867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/2288754255474580867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/2288754255474580867'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2008/06/rename-database-table-column-sql-server.html' title='Rename database table column SQL Server'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-6309894016213689825</id><published>2008-06-11T12:38:00.000-07:00</published><updated>2008-06-11T12:43:33.086-07:00</updated><title type='text'>ASP.NET Control Access Key, AssociatedControlID and Underline single character for access key</title><content type='html'>Create a local resource file for the corresponding page.&lt;br /&gt;&lt;br /&gt;Make an entry in the resource file Name =  lblUserNameResource1.Text&lt;br /&gt;and Value = &amp;lt;U&amp;gt;U&amp;lt;/U&amp;gt;sername:&lt;br /&gt;&lt;br /&gt;and in the ASP.net page for the control use the meta tag instead of text &lt;br /&gt;i.e. meta:resourcekey="lblUserNameResource1"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-6309894016213689825?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/6309894016213689825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=6309894016213689825' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/6309894016213689825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/6309894016213689825'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2008/06/aspnet-control-access-key.html' title='ASP.NET Control Access Key, AssociatedControlID and Underline single character for access key'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-3114068062100166858</id><published>2008-06-05T10:56:00.000-07:00</published><updated>2008-06-05T11:00:35.132-07:00</updated><title type='text'>Reading from Resources.dll in ASP.NET</title><content type='html'>Assembly ass = Assembly.LoadFrom(@"C:\CERT\70-528\TestAssembly\MGohil.Services.Authentication.resources.dll");&lt;br /&gt;string strManRes =  ass.GetManifestResourceNames()[0]; // use this to get the manifest resource, in next line &lt;br /&gt;Stream str = ass.GetManifestResourceStream("MGohil.Services.Authentication.ApplicationTokens.en-US.resources");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ResourceReader r = new ResourceReader(str);&lt;br /&gt; IDictionaryEnumerator id = r.GetEnumerator();&lt;br /&gt;            while (id.MoveNext())&lt;br /&gt;            {&lt;br /&gt;                Console.WriteLine(id.Key + " - " + id.Value);&lt;br /&gt;            }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-3114068062100166858?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/3114068062100166858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=3114068062100166858' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/3114068062100166858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/3114068062100166858'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2008/06/reading-from-resourcesdll-in-aspnet.html' title='Reading from Resources.dll in ASP.NET'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-5054077177808316126</id><published>2007-12-10T11:53:00.000-08:00</published><updated>2007-12-10T11:54:34.321-08:00</updated><title type='text'>ServiceController class to interact with windows service</title><content type='html'>You can use the &lt;b&gt;ServiceController&lt;/b&gt; class to connect to and control the behavior of existing services. When you create an instance of the &lt;b&gt;ServiceController&lt;/b&gt; class, you set its properties so it interacts with a specific Windows service. You can then use the class to start, stop, and otherwise manipulate the service.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-5054077177808316126?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/5054077177808316126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=5054077177808316126' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/5054077177808316126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/5054077177808316126'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/12/servicecontroller-class-to-interact.html' title='ServiceController class to interact with windows service'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-7519814266848266401</id><published>2007-12-07T07:56:00.000-08:00</published><updated>2007-12-07T07:58:22.277-08:00</updated><title type='text'>Environment variable DEVPATH &amp; DevelopmentMode element in configuration section</title><content type='html'>&lt;a href="http://blogs.msdn.com/junfeng/archive/2005/12/13/503059.aspx#546000"&gt;DEVPATH: How and why to use it.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-7519814266848266401?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/7519814266848266401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=7519814266848266401' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/7519814266848266401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/7519814266848266401'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/12/environment-variable-devpath.html' title='Environment variable DEVPATH &amp; DevelopmentMode element in configuration section'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-2692144932190128327</id><published>2007-12-06T13:38:00.001-08:00</published><updated>2007-12-06T13:38:41.491-08:00</updated><title type='text'>Opening a File e.g. PDF, EXCEL, WORDD etc.</title><content type='html'>ProcessStartInfo ps = new ProcessStartInfo(@"c:\CERT\ActualTest_070-444_v03.27.07.pdf");&lt;br /&gt;            Process pr = new Process();&lt;br /&gt;            pr.StartInfo = ps;&lt;br /&gt;            pr.Start();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-2692144932190128327?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/2692144932190128327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=2692144932190128327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/2692144932190128327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/2692144932190128327'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/12/opening-file-eg-pdf-excel-wordd-etc.html' title='Opening a File e.g. PDF, EXCEL, WORDD etc.'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-1099039964104908443</id><published>2007-12-05T08:05:00.000-08:00</published><updated>2007-12-07T08:01:08.305-08:00</updated><title type='text'>TraceListeners</title><content type='html'>Create Listeners like Console, Textwriter and eventlog and add it to the List of listeners of Trace Class, whenever anything in written to Trace or Debug it will be written to all the registered listeners. In order to enable trace and debug, right click the project in visual studio solution explorer and click properties, go to the Build tab and check the boxes against TRACE and DEBUG&lt;br /&gt;&lt;br /&gt;using System.Diagnostics;&lt;br /&gt;&lt;br /&gt;Stream str  = File.Create(@"c:\test_env\log.txt");&lt;br /&gt;           TextWriterTraceListener twl = new TextWriterTraceListener(str);&lt;br /&gt;           ConsoleTraceListener cwl = new ConsoleTraceListener();&lt;br /&gt;&lt;br /&gt;           EventSourceCreationData esct = new EventSourceCreationData("", ""); ;&lt;br /&gt;           esct.MachineName = ".";&lt;br /&gt;           esct.LogName = "Application";&lt;br /&gt;           esct.Source = "MyLog";&lt;br /&gt;           if (!EventLog.SourceExists("MyLog"))&lt;br /&gt;           {&lt;br /&gt;               EventLog.CreateEventSource(esct);&lt;br /&gt;           }&lt;br /&gt;       &lt;br /&gt;           EventLogTraceListener elt = new EventLogTraceListener("MyLog");&lt;br /&gt;&lt;br /&gt;           Trace.Listeners.Add(twl);&lt;br /&gt;           Trace.Listeners.Add(cwl);&lt;br /&gt;           Trace.Listeners.Add(elt);&lt;br /&gt;           Debug.WriteLine("Hello Debug");&lt;br /&gt;           Trace.WriteLine("Hello Trace");&lt;br /&gt;           Trace.Flush();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-1099039964104908443?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/1099039964104908443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=1099039964104908443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1099039964104908443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1099039964104908443'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/12/tracelisteners.html' title='TraceListeners'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-1566416449851557908</id><published>2007-12-03T06:39:00.001-08:00</published><updated>2007-12-03T06:40:00.680-08:00</updated><title type='text'>Code Access Security (CAS) Policy - Tool Caspol.exe</title><content type='html'>Security policy is expressed using three policy levels: machine policy, user policy, and enterprise policy. The set of permissions that an assembly receives is determined by the intersection of the permission sets allowed by these three policy levels. Each policy level is represented by a hierarchical structure of code groups. Every code group has a membership condition that determines which code is a member of that group. A named permission set is also associated with each code group. This permission set specifies the permissions the runtime allows code that satisfies the membership condition to have. A code group hierarchy, along with its associated named permission sets, defines and maintains each level of security policy. You can use the&lt;b&gt;–user&lt;/b&gt;, &lt;b&gt;-customuser&lt;/b&gt;, &lt;b&gt;–machine&lt;/b&gt; and &lt;b&gt;-enterprise &lt;/b&gt;options to set the level of security policy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-1566416449851557908?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/1566416449851557908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=1566416449851557908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1566416449851557908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1566416449851557908'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/12/code-access-security-cas-policy-tool.html' title='Code Access Security (CAS) Policy - Tool Caspol.exe'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-2746083382208043430</id><published>2007-11-30T10:54:00.001-08:00</published><updated>2007-11-30T10:59:56.844-08:00</updated><title type='text'>SECUTIL to retrieve public key from assembly.</title><content type='html'>&lt;pre  style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"&gt;&lt;span style="font-size:130%;"&gt;secutil -hex -c -s xyz&lt;yourassembly&gt;.dll &gt; key.txt&lt;br /&gt;&lt;br /&gt;Public Key =&lt;br /&gt;0x00240000048000009400000006020000002400005253413100040000010001&lt;br /&gt;00E373389B3552EFC472D90F0CBE7F55D81FAA9CB7CF9C9332164A3B11B208DCA&lt;br /&gt;2D9D872E610663684D0B664BC222B5B426C6791B09FAC13A1BD52F11AF63421A9&lt;br /&gt;E1721C134904AC2253C6F84A6EB1293770A7AED247DC2D119DE09DF29E4BCAF76&lt;br /&gt;BC941CEAA8528280541A360C7B8D98238E24CFC101C2B90D5CBFE95A35DD7C2&lt;br /&gt;Name =&lt;br /&gt;STNameLib&lt;br /&gt;Version =&lt;br /&gt;1.0.0.0&lt;br /&gt;Success&lt;br /&gt;&lt;br /&gt;&lt;/yourassembly&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-2746083382208043430?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/2746083382208043430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=2746083382208043430' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/2746083382208043430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/2746083382208043430'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/11/secutil-to-retrieve-public-key-from.html' title='SECUTIL to retrieve public key from assembly.'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-4465950915981316677</id><published>2007-11-30T08:10:00.000-08:00</published><updated>2007-11-30T08:11:10.450-08:00</updated><title type='text'>User friendly name of the owner of the file.</title><content type='html'>using System.IO;&lt;br /&gt;using System.Security.Principal;&lt;br /&gt;using System.Security.AccessControl;&lt;br /&gt;&lt;br /&gt;            FileSecurity fs = File.GetAccessControl(@"C:\CERT\Thinking_in_C_\Thinking in C#.pdf");&lt;br /&gt;            NTAccount ntac = fs.GetOwner(typeof(NTAccount)) as NTAccount;&lt;br /&gt;            Console.WriteLine(ntac.Value);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-4465950915981316677?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/4465950915981316677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=4465950915981316677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/4465950915981316677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/4465950915981316677'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/11/user-friendly-name-of-owner-of-file.html' title='User friendly name of the owner of the file.'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-3158975136514771250</id><published>2007-11-30T07:36:00.000-08:00</published><updated>2007-11-30T07:38:04.855-08:00</updated><title type='text'>Tools for Interoperability between the.NET Framework and COM</title><content type='html'>&lt;ol&gt;&lt;li&gt;For calling COM APIs from managed code, use &lt;span class="linkTerms"&gt;&lt;a onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl05',this);" href="http://msdn2.microsoft.com/en-us/library/tt0cf3sx%28VS.80%29.aspx"&gt;Type Library Importer (Tlbimp.exe)&lt;/a&gt;&lt;/span&gt; which takes a type library as input and outputs a .NET Framework assembly and associated managed metadata.&lt;/li&gt;&lt;li&gt;For calling managed code from COM, use &lt;span class="linkTerms"&gt;&lt;a onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl08',this);" href="http://msdn2.microsoft.com/en-us/library/hfzzah2c%28VS.80%29.aspx"&gt;Type Library Exporter (Tlbexp.exe)&lt;/a&gt;&lt;/span&gt;, which takes a managed assembly as input, and generates a type library containing COM definitions of all the &lt;b&gt;public&lt;/b&gt; types defined in that assembly.&lt;/li&gt;&lt;li&gt;For calling managed components from &lt;b&gt;COM&lt;/b&gt; clients, use &lt;span class="linkTerms"&gt;&lt;a onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl09',this);" href="http://msdn2.microsoft.com/en-us/library/tzat5yw6%28VS.80%29.aspx"&gt;Assembly Registration Tool (Regasm.exe)&lt;/a&gt;&lt;/span&gt;, which reads the metadata within a .NET Framework assembly, and adds the registry entries so that COM clients can create managed classes.&lt;/li&gt;&lt;li&gt;For calling ActiveX controls, use &lt;span class="linkTerms"&gt;&lt;a onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl10',this);" href="http://msdn2.microsoft.com/en-us/library/8ccdh774%28VS.80%29.aspx"&gt;Windows Forms ActiveX Control Importer (Aximp.exe)&lt;/a&gt;&lt;/span&gt;, which takes an ActiveX control’s type library as input and generates a wrapper control that allows the control to be hosted in Windows Forms.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-3158975136514771250?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/3158975136514771250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=3158975136514771250' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/3158975136514771250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/3158975136514771250'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/11/tools-for-interoperability-between.html' title='Tools for Interoperability between the.NET Framework and COM'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-1813508280100733769</id><published>2007-11-30T07:15:00.000-08:00</published><updated>2007-11-30T07:16:10.839-08:00</updated><title type='text'>Windows Forms ActiveX Control Importer (Aximp.exe)</title><content type='html'>&lt;p&gt;The ActiveX Control Importer converts type definitions in a COM type library for an ActiveX control into a Windows Forms control.&lt;/p&gt; &lt;p&gt;Windows Forms can only host Windows Forms controls — that is, classes that are derived from &lt;span class="linkTerms"&gt;&lt;a onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl01',this);" href="http://msdn2.microsoft.com/en-us/library/36cd312w%28VS.80%29.aspx"&gt;Control&lt;/a&gt;&lt;/span&gt;. Aximp.exe generates a wrapper class for an ActiveX control that can be hosted on a Windows Form. This allows you to use the same design-time support and programming methodology applicable to other Windows Forms controls.&lt;/p&gt; &lt;p&gt;To host the ActiveX control, you must generate a wrapper control that derives from &lt;span class="linkTerms"&gt;&lt;a onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl02',this);" href="http://msdn2.microsoft.com/en-us/library/s17hc3sc%28VS.80%29.aspx"&gt;AxHost&lt;/a&gt;&lt;/span&gt;. This wrapper control contains an instance of the underlying ActiveX control. It knows how to communicate with the ActiveX control, but it appears as a Windows Forms control. This generated control hosts the ActiveX control and exposes its properties, methods, and events as those of the generated control.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-1813508280100733769?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/1813508280100733769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=1813508280100733769' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1813508280100733769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1813508280100733769'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/11/windows-forms-activex-control-importer.html' title='Windows Forms ActiveX Control Importer (Aximp.exe)'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-8377164300258834202</id><published>2007-11-30T07:00:00.000-08:00</published><updated>2007-11-30T07:01:59.529-08:00</updated><title type='text'>Assembly Registration Tool (Regasm.exe)</title><content type='html'>&lt;div class="title"&gt;Assembly Registration Tool (Regasm.exe)&lt;/div&gt;&lt;!--Content type: PSDK_8. Transform: everett2mtps.xslt.--&gt;&lt;a name="cpgrfassemblyregistrationtoolregasmexe"&gt;&lt;!----&gt;&lt;/a&gt;    &lt;p&gt;The Assembly Registration tool reads the metadata within an assembly and adds the necessary entries to the registry, which allows COM clients to create .NET Framework classes transparently. Once a class is registered, any COM client can use it as though the class were a COM class. The class is registered only once, when the assembly is installed. Instances of classes within the assembly cannot be created from COM until they are actually registered. --&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/tzat5yw6%28VS.71%29.aspx"&gt;http://msdn2.microsoft.com/en-us/library/tzat5yw6(VS.71).aspx&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-8377164300258834202?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/8377164300258834202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=8377164300258834202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/8377164300258834202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/8377164300258834202'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/11/assembly-registration-tool-regasmexe.html' title='Assembly Registration Tool (Regasm.exe)'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-1120906480860216540</id><published>2007-11-19T16:20:00.000-08:00</published><updated>2008-12-09T14:37:50.229-08:00</updated><title type='text'>Attachement as a Linked Resource</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6CU26TEdV88/R0IqEgjuDLI/AAAAAAAAABE/cEE7YmLdeGs/s1600-h/LinkedResourceInEmail.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_6CU26TEdV88/R0IqEgjuDLI/AAAAAAAAABE/cEE7YmLdeGs/s320/LinkedResourceInEmail.JPG" alt="" id="BLOGGER_PHOTO_ID_5134712782103383218" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-1120906480860216540?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/1120906480860216540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=1120906480860216540' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1120906480860216540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1120906480860216540'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/11/attachement-as-linked-resource.html' title='Attachement as a Linked Resource'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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://1.bp.blogspot.com/_6CU26TEdV88/R0IqEgjuDLI/AAAAAAAAABE/cEE7YmLdeGs/s72-c/LinkedResourceInEmail.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3726638899154950071.post-5317092118519439051</id><published>2007-11-16T14:34:00.000-08:00</published><updated>2008-12-09T14:37:50.353-08:00</updated><title type='text'>CultureInfo &amp; RegionInfo</title><content type='html'>Console.WriteLine("---------Properties of System.Globalization.CultureInfo Class-----------------");&lt;br /&gt;          CultureInfo cu = new CultureInfo("hi-IN");&lt;br /&gt;          Console.WriteLine("Display Name: {0}",cu.DisplayName);&lt;br /&gt;          Console.WriteLine("English Name: {0}",cu.EnglishName);&lt;br /&gt;          Console.WriteLine("LCID: {0}", cu.LCID);&lt;br /&gt;          Console.WriteLine("Calendar: {0}", cu.Calendar);&lt;br /&gt;&lt;br /&gt;          Console.WriteLine(Environment.NewLine);&lt;br /&gt;          Console.WriteLine("---------Properties of System.Globalization.RegionInfo Class-----------------");         &lt;br /&gt;          RegionInfo re = new RegionInfo("IN");&lt;br /&gt;          Console.WriteLine("Currency English Name: {0}",re.CurrencyEnglishName);&lt;br /&gt;          Console.WriteLine("Metric System: {0}",re.IsMetric);                &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6CU26TEdV88/Rz4bWQjuDKI/AAAAAAAAAA8/pvtMXQTB7UQ/s1600-h/CultureInfoOutput.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_6CU26TEdV88/Rz4bWQjuDKI/AAAAAAAAAA8/pvtMXQTB7UQ/s320/CultureInfoOutput.JPG" alt="" id="BLOGGER_PHOTO_ID_5133570694464801954" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To use Custom Culture or Region use CustomCultureAndRegionInfoBuilder class, for this Add reference to the Dll sysglobal.dll.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-5317092118519439051?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/5317092118519439051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=5317092118519439051' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/5317092118519439051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/5317092118519439051'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/11/cultureinfo-regioninfo.html' title='CultureInfo &amp; RegionInfo'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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/_6CU26TEdV88/Rz4bWQjuDKI/AAAAAAAAAA8/pvtMXQTB7UQ/s72-c/CultureInfoOutput.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3726638899154950071.post-623209404607603070</id><published>2007-11-16T13:24:00.000-08:00</published><updated>2007-11-16T13:26:43.679-08:00</updated><title type='text'>Send mail using dot net</title><content type='html'>using System.Net;&lt;br /&gt;using System.Net.Mail;&lt;br /&gt;&lt;br /&gt;SmtpClient sp = new SmtpClient("smtp.gmail.com", 587);&lt;br /&gt;            //sp.Credentials = CredentialCache.DefaultNetworkCredentials; &lt;br /&gt;            sp.EnableSsl = true;&lt;br /&gt;            sp.Credentials = new NetworkCredential("madhusudan.gohil", "*************");&lt;br /&gt;            MailMessage m = new MailMessage("madhusudan.gohil@gmail.com", "ms_gohil@yahoo.com");&lt;br /&gt;            m.Attachments.Add(new Attachment(@"c:\amita.jpg"));&lt;br /&gt;            m.Subject = "test attach";&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;&lt;br /&gt;                sp.Send(m);&lt;br /&gt;&lt;br /&gt;            }&lt;br /&gt;            catch (Exception ex)&lt;br /&gt;            {&lt;br /&gt;                Console.WriteLine(ex.StackTrace); &lt;br /&gt;            }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-623209404607603070?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/623209404607603070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=623209404607603070' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/623209404607603070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/623209404607603070'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/11/send-mail-using-dot-net.html' title='Send mail using dot net'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-4513816077956770307</id><published>2007-11-04T18:40:00.000-08:00</published><updated>2007-11-04T18:42:59.140-08:00</updated><title type='text'>Security Tip</title><content type='html'>Never pass any value received as a user input to the Control Channel i.e in Command Object in ADO.NET, always build a parameter list i.e. Data Channel. This way one can avoid sql injection.&lt;br /&gt;I.e. if some malicious user passes a drop table statement to the input it won't get executed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-4513816077956770307?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/4513816077956770307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=4513816077956770307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/4513816077956770307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/4513816077956770307'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/11/security-tip.html' title='Security Tip'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-3366320663178893244</id><published>2007-11-03T13:24:00.000-07:00</published><updated>2007-11-03T13:31:53.197-07:00</updated><title type='text'>ManagementObjectSearcher</title><content type='html'>ManagementObjectSearcher can be used to enumerate all disk drives, network adapters, processes and many more management objects on a system, or to query for all network connections that are up, services that are paused, and so on. When instantiated, an instance of this class takes as input a WMI query represented in an  ObjectQuery or its derivatives, and optionally a  ManagementScope representing the WMI namespace to execute the query in. Add reference to System.Management dll,  sample code&lt;br /&gt;&lt;br /&gt;using System.Management;&lt;br /&gt;&lt;br /&gt;ManagementObjectSearcher searchService =&lt;br /&gt;           new ManagementObjectSearcher("Select * from Win32_Service where state='stopped'");&lt;br /&gt;           foreach (ManagementObject svc in searchService.Get())&lt;br /&gt;           {&lt;br /&gt;                   Console.WriteLine(svc["Name"]);&lt;br /&gt;           }&lt;br /&gt;&lt;br /&gt;           ManagementObjectSearcher searchDisk =&lt;br /&gt;           new ManagementObjectSearcher("Select * from Win32_Share");&lt;br /&gt;           foreach (ManagementObject svc in searchDisk.Get())&lt;br /&gt;           {&lt;br /&gt;               Console.WriteLine(svc["Name"]);&lt;br /&gt;           }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-3366320663178893244?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/3366320663178893244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=3366320663178893244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/3366320663178893244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/3366320663178893244'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/11/managementobjectsearcher.html' title='ManagementObjectSearcher'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-8679408128340617185</id><published>2007-11-02T10:48:00.000-07:00</published><updated>2007-11-02T12:35:03.151-07:00</updated><title type='text'>Dot Net Questions</title><content type='html'>&lt;span style="color: rgb(255, 0, 0);"&gt;Q) What is an assembly?&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;A) Assembly is a primary building block of a .NET Framework application. It is a collection of resources, type definition and implementation of these types in a single unit. The assembly comprises of three entities i.e. IL, Manifest and Metadata. Assemblies are self describing by means of their manifest which is an integral part of assembly.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Q) What is assembly manifest?&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;A) An assembly manifest is a collection of data (also called metadata of assembly) that contains all the metadata needed to specify the assembly's version requirements and security identity, and all metadata needed to define the scope of the assembly and resolve references to resources and classes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Q) Information stored in assembly manifest?&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;A) Assembly name, Version number, Culture, Strong name information (if given), List of all files in assembly, Type reference information, Information of referenced assemblies,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Q) Main function of Assembly manifest?&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;A) Renders the assembly self describing, enumberates the other assembly on which this assembly depends.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Q) Where are shared Assemblies stored?&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;A) GAC&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Q) Where is global assembly cache located on system.&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;A) c:\winnt\assembly&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Q) What are the ways to deploy an assembly in the GAC?&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;A) Installer, drag drop to GAC location, use GacUtil.exe a command line tool.&lt;br /&gt;&lt;br /&gt;Links for questions and answers&lt;br /&gt;http://aspnet2008.blogspot.com/&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-8679408128340617185?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/8679408128340617185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=8679408128340617185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/8679408128340617185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/8679408128340617185'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/11/dot-net-questions.html' title='Dot Net Questions'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-3363612986385012565</id><published>2007-10-31T19:58:00.000-07:00</published><updated>2007-10-31T20:12:42.452-07:00</updated><title type='text'>Trust Level in Dot Net</title><content type='html'>Trust level refers to permission set in the web.config file&lt;br /&gt;"system.web"&lt;br /&gt;   "securitypolicy"&lt;br /&gt;       "trust level="medium""&lt;br /&gt;   "/trust"&lt;br /&gt;"/securitypolicy"&lt;br /&gt;Application operating under a Medium trust level have no registry access, no access to windows eventlog, and cannot use reflection, file system access is limited to the applications virtual directory hierarchy.&lt;br /&gt;&lt;br /&gt;Different trust levels&lt;br /&gt;"trust level="Full|High|Medium|Low|Minimal""&lt;br /&gt;&lt;br /&gt;ASP.Net 1.1 and 2.0, medium trust application can access SQL server database because SQL Server data provider does not demand full trust and SqlClientPermission is granted to medium trust applications.&lt;br /&gt;In 2.o Oracle .net provider, the OLE DB .NET data provider, ODBC .NET data provider no longer demand full trust.&lt;/trust&gt;&lt;/system.web&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-3363612986385012565?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/3363612986385012565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=3363612986385012565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/3363612986385012565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/3363612986385012565'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/10/trust-level-in-dot-net.html' title='Trust Level in Dot Net'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-6595137511602184105</id><published>2007-10-31T13:38:00.000-07:00</published><updated>2007-10-31T13:39:53.281-07:00</updated><title type='text'>DOT NET 2.0 Notes Part 3</title><content type='html'>Threading&lt;br /&gt;&lt;br /&gt;    Thread th = new Thread(new ThreadStart(Test));&lt;br /&gt;ThreadStart is a delegate which doesn't take parameter, we can give a reference to the method which do not take any parameter.&lt;br /&gt;&lt;br /&gt;Thread.Sleep(3000); //will cause the current thread to sleep for 3 secs, i.e. 3000 ms.&lt;br /&gt;th.Join(); //if any other thread has no finished its task it will block the main thread till the another thread finishes&lt;br /&gt;&lt;br /&gt;ThreadPriority Enumeration consists of values that can be use to set or get the thread priority.&lt;br /&gt;    ThreadPriority.Highest, ThreadPriority.Lowest, ThreadPriority.Normal etc.&lt;br /&gt;&lt;br /&gt;To pass information to the thread use delegate ParameterizedThreadStart&lt;br /&gt;E.g.&lt;br /&gt;    //function to be called by the ParameterizedThreadStart&lt;br /&gt;        public static void TestParametereized(int i)&lt;br /&gt;        {&lt;br /&gt;        }&lt;br /&gt;    ParameterizedThreadStart pt = new ParameterizedThreadStart(TestParametereized); &lt;br /&gt;    Thread thP = new Thread(pt);&lt;br /&gt;      thP.Start(10);   &lt;br /&gt;    // to stop the thread, system prepares ThreadAbortException, whether caught&lt;br /&gt;    // or not thread will be stopped.&lt;br /&gt;      thP.Abort();&lt;br /&gt;&lt;br /&gt;Code between Thread.BeginCriticalRegion(); and Thread.EndCriticalRegion(); is treated as a single line of code, while executing the code between this block if the thread receives a Abort Signal it will complete executing the code between this block and then die throwing ThreadAbortException, this way it will leave the object in a consistent state.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Q) What type of object is required when starting a thread that requires a single parameter?&lt;br /&gt;A) ThreadStart delegate.&lt;br /&gt;&lt;br /&gt;Q) What method stops a running thread?&lt;br /&gt;A) Thread.Abort&lt;br /&gt;&lt;br /&gt;Sharing Data Multi Threading&lt;br /&gt;&lt;br /&gt;Synchronization with windows kernel objects:&lt;br /&gt;&lt;br /&gt;Mutex : Allows synchronization (locking mechanism) across AppDomain and Process boundries, e.g. Single instance application.&lt;br /&gt;    Semaphore&lt;br /&gt;   &lt;br /&gt;Event : Provides a way to notify to multiple threads that event has occured.&lt;br /&gt;&lt;br /&gt;Mutex, Semaphore, AutoResetEvent, ManualResetEvent all derive from WaitHandle class.&lt;br /&gt;&lt;br /&gt;On mutex created with a well-known name, one can use OpenExisting method to get a Mutex that has already been created.&lt;br /&gt;&lt;br /&gt;Event class are type of kernel objects that has two states, on and off. These states allow threads across an application to wait until an event is signaled to do something specific.&lt;br /&gt;&lt;br /&gt;Asynchronous Programming Model&lt;br /&gt;&lt;br /&gt;Three styles to deal with handling of the end of the call in an asynchronous call.&lt;br /&gt;Wait until done&lt;br /&gt;Polling&lt;br /&gt;Callback&lt;br /&gt;       &lt;br /&gt;Wait until done: Use BeginInvoke methode and pass null for callback and stateobject. E.g. BeginRead of FileStream, call EndInvoke (e.g. EndRead) this will block the thread until the asynchronous call is done.&lt;br /&gt;    E.g.&lt;br /&gt;        IAsyncResult iResult = fw.BeginRead(buffer,0,buffer.Length,null,null);&lt;br /&gt;            int nByteRead = fw.EndRead(iResult); //thread will be blocked, until the asynch is done.&lt;br /&gt;&lt;br /&gt;Polling: Use BeginRead and get the reference to AsynchResult, Code will poll IAsyncResult to see whether it is completed.&lt;br /&gt;    E.g.&lt;br /&gt;        IAsyncResult iResult = fw.BeginRead(buffer,0,buffer.Length,null,null,);&lt;br /&gt;            while(!iResult.IsCompleted)&lt;br /&gt;            {&lt;br /&gt;                Thread.Sleep(1000);&lt;br /&gt;            }   &lt;br /&gt;Callback Model:    &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;System.Globalization to address the geogrophical scope of the application&lt;br /&gt;&lt;br /&gt;Invariant Culture: This culture category is culture-insenistive, useful when creating trial application, not based on English language but is associated with it and bears more similiarity with it.&lt;br /&gt;&lt;br /&gt;Neutral Culture: English, French, and Spanish are all neutral culture, a neutral culture is associated with Language but has no relationship to countries or region. A neutral culture is designated by the first two characters in CultureInfo class.&lt;br /&gt;&lt;br /&gt;Specific Culture: Most Precise of three, represented by a neutral culture, a hyphen and then a specific culture abbrevation. e.g. fr-FR, en-US.&lt;br /&gt;&lt;br /&gt;E.g. to set a culture of current thread.&lt;br /&gt;     Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB");&lt;br /&gt;      Console.WriteLine((1000).ToString("C"));&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-6595137511602184105?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/6595137511602184105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=6595137511602184105' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/6595137511602184105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/6595137511602184105'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/10/dot-net-20-notes-part-3.html' title='DOT NET 2.0 Notes Part 3'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-505980571326109398</id><published>2007-10-31T09:08:00.002-07:00</published><updated>2007-10-31T09:14:19.785-07:00</updated><title type='text'>Dot Net 2.0 Notes Part 2</title><content type='html'>Serialization&lt;br /&gt;&lt;br /&gt;Q) What is serialization?&lt;br /&gt;A) Serialization as implemented in the System.Runtime.Serialization is the process of Serializing and Deserializing objects so that they can stored or transferred and then later recreated.&lt;br /&gt;&lt;br /&gt;Q) What is Serializing?&lt;br /&gt;A) Seraializing is a process of converting object into a linear sequence of bytes that can be stored on disk or transferred over network.&lt;br /&gt;&lt;br /&gt;Q) What is Deserializing?&lt;br /&gt;A) Deserializing is a process of converting previously serialized sequence of bytes into an object.&lt;br /&gt;&lt;br /&gt;E.g. Serializing&lt;br /&gt;&lt;br /&gt;   FileStream fs = new FileStream(@"c:\test_env\serialized.dat", FileMode.Create, FileAccess.Write);&lt;br /&gt;       //binary formatter to perform serialization&lt;br /&gt;       BinaryFormatter bf = new BinaryFormatter();&lt;br /&gt;       bf.Serialize(fs, "This data string will be written to the file as binary data");&lt;br /&gt;   fs.Close();&lt;br /&gt;&lt;br /&gt;E.g. Deserializing  &lt;br /&gt;   FileStream fr = new FileStream(@"c:\test_env\serialized.dat", FileMode.Open);&lt;br /&gt;       string strIn = string.Empty;&lt;br /&gt;       strIn = bf.Deserialize(fr) as string;&lt;br /&gt;&lt;br /&gt;Q) How to create a class that can be serialized?&lt;br /&gt;A) If you are satisfied with the default handling of serialization then [Serializable] Attribute to the class is enough, when a class is serialized, runtime serializes all the members including private members.&lt;br /&gt;&lt;br /&gt;refer the below example for using various attributes with serialization.&lt;br /&gt;&lt;br /&gt;Runtime calls GetObjectData during serialization and serialization constructor during deserialization&lt;br /&gt;&lt;br /&gt;   [Serializable]    //Attribute for serializing and deserializing objects of custom class&lt;br /&gt;class Test:IDeserializationCallback //implement OnDeserialization which will be called once serialization is complete&lt;br /&gt;{&lt;br /&gt;   public int i;&lt;br /&gt;   public int j;&lt;br /&gt;   //total will not be serialized and deserialized, i.e. disable serialization of specific members only.&lt;br /&gt;   [NonSerialized] public int total;&lt;br /&gt;&lt;br /&gt;   //if changes are made to this class, but there are serialized object of&lt;br /&gt;   //the instance before this field was added, OptionalField attribute would&lt;br /&gt;   //not affect serialization, but during deserialization if the member was not serialized&lt;br /&gt;   //it will leave the members value as null rather than throwing exception&lt;br /&gt;   [OptionalField] public int offset;&lt;br /&gt;&lt;br /&gt;   void IDeserializationCallback.OnDeserialization(object sender)&lt;br /&gt;   {&lt;br /&gt;       total = i + j;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Two methods for formatting serialized data both of which implement IRemotingFormatter interface.&lt;br /&gt;For BinaryFormatter : Only for .Net Framework&lt;br /&gt;using System.Runtime.Serialization.Formatters.Binary;&lt;br /&gt;&lt;br /&gt;For SoapFormatter add reference to "System.Runtime.Serialization.Formatters.Soap" Serialize objects that will be transmitted across network.&lt;br /&gt;using System.Runtime.Serialization.Formatters.Soap;&lt;br /&gt;   Consumes 3 to 4 times more space.&lt;br /&gt;&lt;br /&gt;XML Serialization:&lt;br /&gt;Can serialize only public data, cannot serialize private data&lt;br /&gt;Cannot serialize graphs, only objects.&lt;br /&gt;&lt;br /&gt;E.g.&lt;br /&gt;     TestXMLS tm = new TestXMLS(10, 20);&lt;br /&gt;       XmlSerializer xm = new XmlSerializer(typeof(TestXMLS));&lt;br /&gt;       FileStream fs = File.Create(@"c:\test_env\test.xml");&lt;br /&gt;       xm.Serialize(fs, tm);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-505980571326109398?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/505980571326109398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=505980571326109398' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/505980571326109398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/505980571326109398'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/10/dot-net-20-notes-part-2.html' title='Dot Net 2.0 Notes Part 2'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-1882060052436057448</id><published>2007-10-25T11:20:00.001-07:00</published><updated>2007-10-25T11:20:47.236-07:00</updated><title type='text'>DOT NET 2.0 Notes Part 1</title><content type='html'>Q) What is a Reference Type?&lt;br /&gt;A) Reference type store the address of their data, also known as pointer on the stack, actual data is stored on the Heap.&lt;br /&gt;&lt;br /&gt;Q) What are partial Classes?&lt;br /&gt;A) Partial classes allows you to split a class definition accross multiple source files.&lt;br /&gt;&lt;br /&gt;Q) Why to use Generics?&lt;br /&gt;A) Casting causes boxing &amp;amp; unboxing which steals processor time and slows performance. Also compiler cannot detect type errors when you cast to and from Object class, instead will throw an runtime exception.&lt;br /&gt;&lt;br /&gt;Q)What is an Interface?&lt;br /&gt;A)Interface also known as contract, define common set of members that all classes that implement must provide.&lt;br /&gt;&lt;br /&gt;Q) What is an Event?&lt;br /&gt;A) An event is a message sent by an object to signal the occurance of an action.The one that raises the event is called Event Sender and the one that receives is called Event receiver.&lt;br /&gt;&lt;br /&gt;Q) What is a Delegate?&lt;br /&gt;A) A delegate is a class that holds reference to a method. A delegate class has a signature and it can hold reference to those method that matches with its signature. It is similar to typesafe pointer or callback.A delegate declaration is sufficient to declare a delegate class.&lt;br /&gt;E.g.&lt;br /&gt;public delegate void ButtonClicked(object sender, EventArgs args);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note: TryParse, TryParseExact and TryCast are new to NET 2.0 previously you had to attemp parsing or conversion and catch the exception.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Conversion in Custom Type:&lt;br /&gt;Implement System.IConvertible to enable conversion through System.Convert.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;FileSystemWatcher Class:&lt;br /&gt;            FileSystemWatcher fsw = new FileSystemWatcher(@"c:\test_env");&lt;br /&gt;            fsw.NotifyFilter = NotifyFilters.LastWrite;&lt;br /&gt;        //WaitForChanged is a Synchronous method for watching a directory&lt;br /&gt;            //for changes and for returning a structure that contains all changes.&lt;br /&gt;            WaitForChangedResult wcr = fsw.WaitForChanged(WatcherChangeTypes.All);&lt;br /&gt;            Console.WriteLine(wcr.Name);&lt;br /&gt;&lt;br /&gt;There are events like Created, Changed, Renamed, and Deleted.&lt;br /&gt;&lt;br /&gt;File can be opened for writing using following.&lt;br /&gt;    File.Open(@"c:\test.txt", FileMode.Create, FileAccess.Write);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Stream class is the abstract base class from which all other stream classes derive from.&lt;br /&gt;FileStream, MemoryStream, CryptoStream, NetworkStream, GZipStream&lt;br /&gt;&lt;br /&gt;Different ways to open file for reading or writing using stream classes.&lt;br /&gt;    StreamReader sr = File.OpenText(@"c:\test.txt");&lt;br /&gt;      StreamWriter sw = File.AppendText(@"c:\test.txt");&lt;br /&gt;    FileStream fw = File.OpenWrite(@"c:\test.txt");&lt;br /&gt;    FileStream fr = File.OpenRead(@"c:\test.txt");&lt;br /&gt;&lt;br /&gt;    //reads a stream as a string and not series of bytes.&lt;br /&gt;    StreamReader srFile = new StreamReader(@"c:\test.txt");   &lt;br /&gt;    StreamWriter swFile = new StreamWriter(@"c:\test.txt");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;StreamReader is derived from Abstract class TextReader and StreamWriter is derived from Abstract class TextWriter.&lt;br /&gt;&lt;br /&gt;StringReader and StringWriter class reads or writes to inmemory strings.&lt;br /&gt;&lt;br /&gt;BinaryReader and BinaryWriter:&lt;br /&gt;&lt;br /&gt;Creating a binary file:&lt;br /&gt;               byte[] bt = new byte[]{95,96,97,98,99};&lt;br /&gt;            FileStream fbinw = File.Create(@"c:\temp\test.bin");&lt;br /&gt;            fbinw.Write(bt, 0, bt.Length);&lt;br /&gt;            fbinw.Flush();&lt;br /&gt;            fbinw.Close();&lt;br /&gt;       &lt;br /&gt;        //using binarywriter&lt;br /&gt;            BinaryWriter brw = new BinaryWriter(fbinw);&lt;br /&gt;        brw.Write(bt);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MemoryStream:&lt;br /&gt;    Use StreamReader to read from MemoryStream and StreamWriter to write to MemoryStream.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ArrayList:&lt;br /&gt;Add, AddRange, Insert, InsertRange Methods. Indexers to set item at specific position by overwriting the object at that position.&lt;br /&gt;Remove, RemoveAt, RemoveRange&lt;br /&gt;Clear to empty the collection&lt;br /&gt;Supports IEnumerable interface, which allows to use foreach construct.&lt;br /&gt;Implements interface ICollection derived from IEnumberable and IList derivied from ICollection.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sequential Lists: Queue and Stack&lt;br /&gt;Queue : FIFO&lt;br /&gt;Stack : LIFO&lt;br /&gt;&lt;br /&gt;Dictionary:&lt;br /&gt;Map key to a Value, create a lookup tables.&lt;br /&gt;To iterate using foreach you should cast the object to DictionaryEntry i.e. foreach(DictionaryEntry de in hstLookup).&lt;br /&gt;All dictionary class Supports IDictionary Interface.&lt;br /&gt;IDictionary Interface doesn't allow the access to item by index like IList, but only allows the access by key.&lt;br /&gt;IDictionary Interface has Contains, ContainsKey and ContainsValue&lt;br /&gt;&lt;br /&gt;Hashtable&lt;br /&gt;SortedList: To create a list of items that can be sorted by key.&lt;br /&gt;&lt;br /&gt;Hashtable is very efficient but has an overhead which for fewer than 10 items can impede performance, very useful for large collection.&lt;br /&gt;ListDictionary: Implemented as simple array of items under the hood, useful for small collection.&lt;br /&gt;HybridDictionary: If you do not know the size, internally it changes the listdictionary to hashtable as the list grows.&lt;br /&gt;OrderdDictionary&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;BitArray:&lt;br /&gt;No add or remove method, constructor takes the size and initializes all the items with false.&lt;br /&gt;Xor Method of bitarray takes another bitarray object and result is another bitarray which is Xor of two bitarray.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;StringCollection is Like an ArrayList except that it accepts only string, passing anything else with cause compilation error.&lt;br /&gt;StringDictionary is like hashtable except that both key and value must be string.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;using System.Collections.Specialized;&lt;br /&gt;Hashtable ht = CollectionsUtil.CreateCaseInsensitiveHashtable();&lt;br /&gt;ht.Add("a", "Apple");&lt;br /&gt;ht["A"] = "APPLE";&lt;br /&gt;Console.WriteLine("Count:{0}", ht.Count); // returns one&lt;br /&gt;&lt;br /&gt;NameValueCollection appears like a StringDictionary class, but the Add method behaves differently.&lt;br /&gt;The behaviour of Add and indexer is different, indexer will overwrite the previous value if the key supplied is same.&lt;br /&gt;&lt;br /&gt;NameValueCollection nv = new NameValueCollection();&lt;br /&gt;nv.Add("A", "apple");&lt;br /&gt;nv.Add("A", "america");&lt;br /&gt;&lt;br /&gt;foreach (string st in nv.GetValues("A"))&lt;br /&gt;    {&lt;br /&gt;        Console.WriteLine("Value for A : {0}", st);&lt;br /&gt;      }&lt;br /&gt;Value for A : apple&lt;br /&gt;Value for A : america&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Questions:&lt;br /&gt;&lt;br /&gt;Q) What type of collections can be made from CollectionsUtil class?&lt;br /&gt;A) Case insensitive Hashtable and Case insensitive SortedList.&lt;br /&gt;&lt;br /&gt;Q) What type of values can be stored in StringDictionary?&lt;br /&gt;A) Strings.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-1882060052436057448?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/1882060052436057448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=1882060052436057448' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1882060052436057448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1882060052436057448'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/10/dot-net-20-notes-part-1.html' title='DOT NET 2.0 Notes Part 1'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-9183985250201502188</id><published>2007-10-24T09:07:00.000-07:00</published><updated>2007-10-24T09:08:18.430-07:00</updated><title type='text'>undocumented stored procedure for SQL Server</title><content type='html'>sp_tempdbspace  // without parameter&lt;br /&gt;sp_MStablespace 'xyztable' //with table name.&lt;br /&gt;&lt;br /&gt;size returned in MB&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-9183985250201502188?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/9183985250201502188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=9183985250201502188' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/9183985250201502188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/9183985250201502188'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/10/undocumented-stored-procedure-for-sql.html' title='undocumented stored procedure for SQL Server'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-3491871648925784642</id><published>2007-10-24T06:38:00.001-07:00</published><updated>2007-11-19T08:24:28.011-08:00</updated><title type='text'>.NET 3.5 Language Enhancements</title><content type='html'>&lt;a href="http://www.simple-talk.com/dotnet/.net-framework/.net-3.5-language-enhancements/"&gt;net-3.5-language-enhancements&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-3491871648925784642?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/3491871648925784642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=3491871648925784642' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/3491871648925784642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/3491871648925784642'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/10/net-35-language-enhancements.html' title='.NET 3.5 Language Enhancements'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-7631290907178150613</id><published>2007-10-23T12:42:00.000-07:00</published><updated>2007-10-23T12:43:32.338-07:00</updated><title type='text'>Screen scraping OR HTML scraping</title><content type='html'>&lt;b&gt;Screen scraping&lt;/b&gt; is a technique in which a &lt;a href="http://en.wikipedia.org/wiki/Computer_program" title="Computer program"&gt;computer program&lt;/a&gt; extracts &lt;a href="http://en.wikipedia.org/wiki/Data" title="Data"&gt;data&lt;/a&gt; from the display &lt;a href="http://en.wikipedia.org/wiki/Output" title="Output"&gt;output&lt;/a&gt; of another program. The program doing the scraping is called a &lt;b&gt;screen scraper&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;http://en.wikipedia.org/wiki/Screen_scraping&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-7631290907178150613?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/7631290907178150613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=7631290907178150613' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/7631290907178150613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/7631290907178150613'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/10/screen-scraping-or-html-scraping.html' title='Screen scraping OR HTML scraping'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-4161574121912153678</id><published>2007-10-22T10:28:00.000-07:00</published><updated>2007-10-22T10:31:15.577-07:00</updated><title type='text'>Microsoft Acropolis</title><content type='html'>&lt;em&gt;Microsoft Code Name "Acropolis" is a toolkit for creating modular, business-focused Windows client applications. "Acropolis" builds on the.NET Framework, and includes a run-time framework, design-time tools, and out-of-the-box functionality. "Acropolis" enables you to build reusable, connectable components and assemble them into working applications that are easy to change.&lt;br /&gt;&lt;br /&gt;http://windowsclient.net/&lt;br /&gt;&lt;br /&gt;http://windowsclient.net/Acropolis/&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-4161574121912153678?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/4161574121912153678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=4161574121912153678' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/4161574121912153678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/4161574121912153678'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/10/microsoft-acropolis.html' title='Microsoft Acropolis'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-1625926253610748573</id><published>2007-10-18T13:08:00.000-07:00</published><updated>2007-10-18T13:16:23.134-07:00</updated><title type='text'>IIS 7</title><content type='html'>In IIS 7.0, bindings can apply to any protocol.&lt;span style="font-size: 10pt;"&gt;  &lt;/span&gt;The Windows Process Activation Service (WAS) is the new service that makes it possible for IIS 7.0 to use additional protocols.&lt;br /&gt;&lt;br /&gt;The Windows Communication Foundation (WCF) programming model is one such technology that can enable communication over the standard protocols of Transmission Control Protocol (TCP), Microsoft Message Queuing (MSMQ), and Named Pipes. This lets applications that use communication protocols take advantage of IIS features, such as process recycling, rapid fail protection, and configuration that were previously only available to HTTP-based applications.&lt;br /&gt;&lt;br /&gt;IIS 7.0 supports HTTP and HTTPS by default, but you can use additional protocols.&lt;br /&gt;&lt;br /&gt;ApplicationHost.config file (located at &lt;em&gt;%windir%&lt;/em&gt;\system32\inetsrv\config \) after installing IIS on Windows Server codename "Longhorn."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-1625926253610748573?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/1625926253610748573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=1625926253610748573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1625926253610748573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1625926253610748573'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/10/iis-7.html' title='IIS 7'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-803355600141689511</id><published>2007-10-18T07:46:00.000-07:00</published><updated>2007-10-18T11:53:12.580-07:00</updated><title type='text'>New Things in VS2008</title><content type='html'>&lt;span style=";font-family:arial;font-size:85%;"  &gt;WYSIWYG designer provides:&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt; &lt;/span&gt;&lt;ul&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt; &lt;li&gt;Split View Support (the ability to have both HTML Source and design open simultaneously)  &lt;/li&gt;&lt;li&gt;Extremely rich CSS support (CSS property window, CSS inheritance viewer, CSS preview, and CSS manager)  &lt;/li&gt;&lt;li&gt;Dramatically improved view switching performance (moving from source-&gt;html design mode is now nearly instantaneous)  &lt;/li&gt;&lt;li&gt;Support for control designers within source view (property builders, event wire-up and wizards now work in source view)  &lt;/li&gt;&lt;li&gt;Richer ruler and layout support (better yet, values can be automatically stored in external CSS files)  &lt;/li&gt;&lt;li&gt;Designer support for nested master pages&lt;/li&gt;&lt;/span&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: arial;"&gt;Code analysis and code metrics&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-803355600141689511?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/803355600141689511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=803355600141689511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/803355600141689511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/803355600141689511'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/10/nested-master-pages-with-vs2008.html' title='New Things in VS2008'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-4337206930763482676</id><published>2007-10-12T11:25:00.000-07:00</published><updated>2007-10-12T11:27:50.178-07:00</updated><title type='text'>dot net 3.0 CLR</title><content type='html'>.NET 2.0 and 3.0 share the same CLR, everything written in .NET 2.0 works in .NET 3.0&lt;br /&gt;.NET 3.0 = .NET 2.0 + Windows Communication Foundation + Windows Presentation Foundation + Window CardSpace + Workflow Foundation&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-4337206930763482676?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/4337206930763482676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=4337206930763482676' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/4337206930763482676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/4337206930763482676'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/10/dot-net-30-clr.html' title='dot net 3.0 CLR'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-8974697175730386537</id><published>2007-10-11T11:50:00.000-07:00</published><updated>2007-10-11T11:51:09.004-07:00</updated><title type='text'>RSA Alogrithm!!!</title><content type='html'>The name RSA is an acronym for the surnames of three inventors of this algorithm: Ron Rivest, Adi Shamir, and Len Adleman. They formed a company, RSA Security, which published several standard documents called Public Key Cryptography Standards (PKCS). These documents describe several aspects of cryptography.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-8974697175730386537?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/8974697175730386537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=8974697175730386537' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/8974697175730386537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/8974697175730386537'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/10/rsa-alogrithm.html' title='RSA Alogrithm!!!'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-224793950795180442</id><published>2007-05-01T11:52:00.000-07:00</published><updated>2007-05-01T11:53:03.511-07:00</updated><title type='text'>sql server temp table types</title><content type='html'>Local temporary tables have a single number sign (#) as the first character of their names; they are visible only to the current connection for the user; and they are deleted when the user disconnects from instances of Microsoft® SQL Server™ 2000. Global temporary tables have two number signs (##) as the first characters of their names; they are visible to any user after they are created; and they are deleted when all users referencing the table disconnect from SQL Server&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-224793950795180442?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/224793950795180442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=224793950795180442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/224793950795180442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/224793950795180442'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/05/sql-server-temp-table-types.html' title='sql server temp table types'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-8219188429806384725</id><published>2007-04-17T16:30:00.000-07:00</published><updated>2007-04-17T16:32:47.817-07:00</updated><title type='text'>Sqlserver inbuilt stored procedure</title><content type='html'>type sp_help and give the object name, this could be anything table, stored procedure etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-8219188429806384725?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/8219188429806384725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=8219188429806384725' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/8219188429806384725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/8219188429806384725'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/04/sqlserver-inbuilt-stored-procedure.html' title='Sqlserver inbuilt stored procedure'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-8542304629780959222</id><published>2007-04-13T11:20:00.001-07:00</published><updated>2007-04-13T11:20:49.606-07:00</updated><title type='text'>Dynamic code invocation.</title><content type='html'>using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.CodeDom.Compiler;&lt;br /&gt;using Microsoft.CSharp;&lt;br /&gt;using System.Reflection;&lt;br /&gt;using System.Configuration;&lt;br /&gt;&lt;br /&gt;namespace ReuseCode&lt;br /&gt;{&lt;br /&gt;    public abstract class RunTimeMethodInvoker&lt;br /&gt;    {&lt;br /&gt;        public static object CompliedObject(string strClassCode)&lt;br /&gt;        {&lt;br /&gt;            ICodeCompiler loCompiler = CodeDomProvider.CreateProvider("csharp").CreateCompiler();            &lt;br /&gt;            CompilerParameters loParameters = new CompilerParameters();&lt;br /&gt;            //this is the path where the complier will look for the referenced libaray&lt;br /&gt;            //loParameters.CompilerOptions = "/debug /lib:" + ConfigurationManager.AppSettings["InstallationPath"];&lt;br /&gt;            loParameters.ReferencedAssemblies.Add("System.dll");&lt;br /&gt;&lt;br /&gt;            // *** Load the resulting assembly into memory&lt;br /&gt;            loParameters.GenerateInMemory = true;&lt;br /&gt;&lt;br /&gt;            // *** Now compile the whole thing&lt;br /&gt;            CompilerResults loCompiled = loCompiler.CompileAssemblyFromSource(loParameters, strClassCode);&lt;br /&gt;&lt;br /&gt;            if (loCompiled.Errors.HasErrors)&lt;br /&gt;            {&lt;br /&gt;                string lcErrorMsg = "";&lt;br /&gt;&lt;br /&gt;                // *** Create Error String&lt;br /&gt;                lcErrorMsg = loCompiled.Errors.Count.ToString() + " Errors:";&lt;br /&gt;                for (int x = 0; x &lt; loCompiled.Errors.Count; x++)&lt;br /&gt;                    lcErrorMsg = lcErrorMsg + "\r\nLine: " + loCompiled.Errors[x].Line.ToString() + " - " +&lt;br /&gt;                        loCompiled.Errors[x].ErrorText;&lt;br /&gt;                               &lt;br /&gt;                return null;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            Assembly loAssembly = loCompiled.CompiledAssembly;&lt;br /&gt;&lt;br /&gt;            &lt;br /&gt;            //object loObject = loAssembly.CreateInstance("Delphi.PassPods.SeatParser.CDynamicSeatDataFieldFormatter");&lt;br /&gt;            object loObject = loAssembly.CreateInstance("TestClass");&lt;br /&gt;&lt;br /&gt;            return loObject;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public static object RuntimeMethodCall(object loObject, string strFunctionName,&lt;br /&gt;                                             object[] loCodeParms)&lt;br /&gt;        {&lt;br /&gt;             object loResult = null;&lt;br /&gt;          &lt;br /&gt;             loResult = loObject.GetType().InvokeMember(strFunctionName,&lt;br /&gt;                    BindingFlags.InvokeMethod, null, loObject, loCodeParms);&lt;br /&gt;             return loResult;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    class Program&lt;br /&gt;    {&lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            TestDynamicCode();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        static void TestDynamicCode()&lt;br /&gt;        {&lt;br /&gt;            string strTest = "using System; using System.IO; public class TestClass { public string outputResult() { return \"hello from test\"; }}";&lt;br /&gt;&lt;br /&gt;            // *** Retrieve an object reference - since this object is 'dynamic' we can't explicitly&lt;br /&gt;            // *** type it so it's of type Object&lt;br /&gt;            object loObject = RunTimeMethodInvoker.CompliedObject(strTest);&lt;br /&gt;            object loResult = RunTimeMethodInvoker.RuntimeMethodCall(loObject, "outputResult", null);&lt;br /&gt;&lt;br /&gt;            Console.WriteLine(loResult.ToString()); &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/3726638899154950071-8542304629780959222?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/8542304629780959222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=8542304629780959222' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/8542304629780959222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/8542304629780959222'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/04/dynamic-code-invocation.html' title='Dynamic code invocation.'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-4134710565859511578</id><published>2007-04-12T18:44:00.000-07:00</published><updated>2007-04-12T18:49:59.830-07:00</updated><title type='text'>Windows PowerShell</title><content type='html'>Something similar to unix shell.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx"&gt;http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-4134710565859511578?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/4134710565859511578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=4134710565859511578' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/4134710565859511578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/4134710565859511578'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/04/windows-powershell.html' title='Windows PowerShell'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-4495517861997289751</id><published>2007-04-10T18:53:00.000-07:00</published><updated>2007-04-10T18:54:12.498-07:00</updated><title type='text'>CASE STATEMENT IN SQL SERVER</title><content type='html'>update bladder_data set plant_id =&lt;br /&gt;case&lt;br /&gt;when charindex('M',bladder_barcode,3) &gt; 3 and charindex('M',bladder_barcode,3) &lt; (len(bladder_barcode)-8) then 3 else 4 end&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-4495517861997289751?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/4495517861997289751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=4495517861997289751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/4495517861997289751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/4495517861997289751'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/04/case-statement-in-sql-server.html' title='CASE STATEMENT IN SQL SERVER'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-8099097465412385544</id><published>2007-04-09T17:09:00.000-07:00</published><updated>2008-12-09T14:37:50.599-08:00</updated><title type='text'>Postback Trace Events</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_6CU26TEdV88/RhrWAZ73erI/AAAAAAAAAAw/_SRzHRjPsNg/s1600-h/PostBackTrace.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5051585234499762866" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_6CU26TEdV88/RhrWAZ73erI/AAAAAAAAAAw/_SRzHRjPsNg/s320/PostBackTrace.bmp" border="0" /&gt;&lt;/a&gt;&lt;br /&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/3726638899154950071-8099097465412385544?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/8099097465412385544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=8099097465412385544' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/8099097465412385544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/8099097465412385544'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/04/postback-trace-events.html' title='Postback Trace Events'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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://1.bp.blogspot.com/_6CU26TEdV88/RhrWAZ73erI/AAAAAAAAAAw/_SRzHRjPsNg/s72-c/PostBackTrace.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3726638899154950071.post-6842848543207372790</id><published>2007-04-09T17:04:00.000-07:00</published><updated>2008-12-09T14:37:50.795-08:00</updated><title type='text'>Trace Page Life Cycle</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_6CU26TEdV88/RhrU9573eqI/AAAAAAAAAAo/zgK_W9bLgNg/s1600-h/PageLifeCycle.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5051584092038462114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_6CU26TEdV88/RhrU9573eqI/AAAAAAAAAAo/zgK_W9bLgNg/s320/PageLifeCycle.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&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/3726638899154950071-6842848543207372790?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/6842848543207372790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=6842848543207372790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/6842848543207372790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/6842848543207372790'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/04/trace-page-life-cycle.html' title='Trace Page Life Cycle'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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/_6CU26TEdV88/RhrU9573eqI/AAAAAAAAAAo/zgK_W9bLgNg/s72-c/PageLifeCycle.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3726638899154950071.post-6936650717914468843</id><published>2007-04-09T16:58:00.000-07:00</published><updated>2007-04-09T16:59:01.762-07:00</updated><title type='text'>Series of events in page life cycle</title><content type='html'>Series of events&lt;br /&gt;PreInit&lt;br /&gt;Init&lt;br /&gt;PreLoad&lt;br /&gt;Load&lt;br /&gt;PreRender&lt;br /&gt;Unload&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-6936650717914468843?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/6936650717914468843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=6936650717914468843' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/6936650717914468843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/6936650717914468843'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/04/series-of-events-in-page-life-cycle.html' title='Series of events in page life cycle'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-8305338686259559160</id><published>2007-03-31T12:17:00.000-07:00</published><updated>2007-03-31T12:21:16.632-07:00</updated><title type='text'>Saving large text to database field.</title><content type='html'>&lt;ol&gt;&lt;li&gt;System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();&lt;/li&gt;&lt;li&gt;MemoryStream mr = new MemoryStream();&lt;br /&gt;bf.Serialize(mr, strCode);&lt;/li&gt;&lt;li&gt;byte[] bt = mr.GetBuffer();&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;assign this bt to the param.Value to be passed to the sqlhelper.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-8305338686259559160?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/8305338686259559160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=8305338686259559160' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/8305338686259559160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/8305338686259559160'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/03/saving-large-text-to-database-field.html' title='Saving large text to database field.'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-3755299621308413874</id><published>2007-03-31T12:14:00.000-07:00</published><updated>2007-03-31T12:16:52.584-07:00</updated><title type='text'>Retrieving a large text stored as binary in the database.</title><content type='html'>- SQLHelper.ExecuteScalar would return an object.&lt;br /&gt;- System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf_1 = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();&lt;br /&gt;MemoryStream mr_1 = new MemoryStream(objClassCode as Byte[]);&lt;br /&gt;//retrieve the code from the database and assign to the variable.&lt;br /&gt;string strText = bf_1.Deserialize(mr_1).ToString();&lt;br /&gt;mr_1.Close();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-3755299621308413874?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/3755299621308413874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=3755299621308413874' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/3755299621308413874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/3755299621308413874'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/03/retrieving-large-text-stored-as-binary.html' title='Retrieving a large text stored as binary in the database.'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-2703738906110428143</id><published>2007-03-30T19:55:00.000-07:00</published><updated>2007-03-30T19:57:44.427-07:00</updated><title type='text'>string.Join</title><content type='html'>it will recreate a single string from an array of string, give a separator to create string with separator.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-2703738906110428143?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/2703738906110428143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=2703738906110428143' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/2703738906110428143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/2703738906110428143'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/03/stringjoin.html' title='string.Join'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-1797976373714072819</id><published>2007-03-28T15:11:00.001-07:00</published><updated>2007-03-28T15:11:51.776-07:00</updated><title type='text'>Windows CardSpace</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Windows_CardSpace"&gt;http://en.wikipedia.org/wiki/Windows_CardSpace&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-1797976373714072819?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/1797976373714072819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=1797976373714072819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1797976373714072819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/1797976373714072819'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/03/windows-cardspace.html' title='Windows CardSpace'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-6334729813383315374</id><published>2007-03-21T11:49:00.000-07:00</published><updated>2007-03-30T20:00:34.083-07:00</updated><title type='text'>Replace special characters in the file name</title><content type='html'>string strTest = "&lt;a href="mailto:abcd@efg"&gt;abcd@efg&lt;/a&gt;";&lt;br /&gt;string strPattern = @"#/\?*#";&lt;br /&gt;Regex rg = new Regex(strPattern);&lt;br /&gt;if (rg.IsMatch(strTest))&lt;br /&gt;{&lt;br /&gt;//replaces invalid chars with __&lt;br /&gt;_fileNameWithSpecialCharsReplaced = rg.Replace(value, "__");&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-6334729813383315374?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/6334729813383315374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=6334729813383315374' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/6334729813383315374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/6334729813383315374'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/03/replace-special-characters-in-file-name.html' title='Replace special characters in the file name'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-4731503438871375772</id><published>2007-03-21T11:45:00.000-07:00</published><updated>2007-03-21T11:46:59.452-07:00</updated><title type='text'>Replace spaces with underscore in a string</title><content type='html'>using System.Text.RegularExpressions;&lt;br /&gt;&lt;br /&gt;Regex reg = new Regex(@"\s");&lt;br /&gt;string strTest = "hello how are you";&lt;br /&gt;string strout = reg.Replace(strTest, "_");&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-4731503438871375772?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/4731503438871375772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=4731503438871375772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/4731503438871375772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/4731503438871375772'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/03/replace-spaces-with-underscore-in.html' title='Replace spaces with underscore in a string'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-4473380556561862896</id><published>2007-03-16T12:33:00.000-07:00</published><updated>2007-03-16T12:35:10.597-07:00</updated><title type='text'>DTS IMPORT / EXPORT GIVES ERROR</title><content type='html'>Resloved using the below solution.&lt;br /&gt;&lt;br /&gt;Run the svrnetcn.exe on which MSDE is installed, SQL Server Network Utility Dialogbox will be displayed,Make sure that TCP/IP is enabled and the port is 1433.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-4473380556561862896?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/4473380556561862896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=4473380556561862896' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/4473380556561862896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/4473380556561862896'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/03/dts-import-export-gives-error.html' title='DTS IMPORT / EXPORT GIVES ERROR'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-2350564229349178330</id><published>2007-03-13T09:55:00.000-07:00</published><updated>2007-03-13T09:57:45.202-07:00</updated><title type='text'>MSDE Limitations</title><content type='html'>An MSDE database can be no larger than 2 GB (this includes MDF and NDF files only â€” log sizes are not included in the size limit);&lt;br /&gt;&lt;br /&gt;MSDE does not support SQL Mail&lt;br /&gt;&lt;br /&gt;As of July 2004, these are the planned limitations of the next generation of MSDE, now known as SQL Server Express (which will still be a free product):&lt;br /&gt;1 GB memory (for buffer, not total); &lt;br /&gt;1 CPU; &lt;br /&gt;50 named instances per machine; &lt;br /&gt;4 GB per database (not including log files);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-2350564229349178330?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/2350564229349178330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=2350564229349178330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/2350564229349178330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/2350564229349178330'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/03/msde-limitations.html' title='MSDE Limitations'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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-3726638899154950071.post-6773885018004731041</id><published>2007-03-12T12:49:00.000-07:00</published><updated>2007-03-13T10:00:38.335-07:00</updated><title type='text'>sql server utility to do bulk copy / insert</title><content type='html'>&lt;span style="color:#ff0000;"&gt;bcp "table name" out "file path" -S ServerName -U username -P Password -k -c -E -q&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;(see the bcp command help by typing bcp on command promp)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;bcp seat_data_core out c:\core.txt -S DLG6BVV81 -U PodsUser -P pods -k -c -E -q&lt;br /&gt;bcp seat_data_stage_2 out c:\stage2.txt -S DLG6BVV81 -U PodsUser -P pods -k -c -E -q&lt;br /&gt;bcp seat_extra_data out c:\extra.txt -S DLG6BVV81 -U PodsUser -P pods -k -c -E -q&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;bcp seat_data_stage_2 in c:\stage2.txt -S usmitry-db09 -U PodsUser -P pods -k -c -E -q&lt;br /&gt;bcp seat_extra_data in c:\extra.txt -S usmitry-db09 -U PodsUser -P pods -k -c -E -q&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3726638899154950071-6773885018004731041?l=madhusudang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madhusudang.blogspot.com/feeds/6773885018004731041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3726638899154950071&amp;postID=6773885018004731041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/6773885018004731041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3726638899154950071/posts/default/6773885018004731041'/><link rel='alternate' type='text/html' href='http://madhusudang.blogspot.com/2007/03/sql-server-utility-to-do-bulk-copy.html' title='sql server utility to do bulk copy / insert'/><author><name>Madhusudan Gohil</name><uri>http://www.blogger.com/profile/07211921877221552397</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>
