<?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-12613863</id><updated>2012-01-27T01:06:32.043-08:00</updated><title type='text'>Breezback</title><subtitle type='html'>This blog is a knowledge base...where I clip cool tricks and urls</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default?start-index=101&amp;max-results=100'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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>108</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-12613863.post-3830531895551745201</id><published>2008-02-25T07:47:00.001-08:00</published><updated>2008-02-25T07:47:23.342-08:00</updated><title type='text'>UDP Client Server</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:8CED6C60-251F-41AD-8E5E-050E8B3A9A10:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/3b3bc363-9983-495d-b652-e2f82a27092a/8CED6C60-251F-41AD-8E5E-050E8B3A9A10/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.c-sharpcorner.com/UploadFile/patricklam/simpleTcpUdpServerClientPL211222005040054AM/simpleTcpUdpServerClientPL2.aspx" href="http://www.c-sharpcorner.com/UploadFile/patricklam/simpleTcpUdpServerClientPL211222005040054AM/simpleTcpUdpServerClientPL2.aspx" style="font-size: 11px;"&gt;www.c-sharpcorner.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.c-sharpcorner.com/UploadFile/patricklam/simpleTcpUdpServerClientPL211222005040054AM/simpleTcpUdpServerClientPL2.aspx"&gt;&lt;FONT size="2" color="#008000"&gt;//Create an instance of UdpClient. &lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;UdpClient udpClient = &lt;/FONT&gt;&lt;FONT size="2" color="#0000ff"&gt;new&lt;/FONT&gt;&lt;FONT size="2"&gt; UdpClient(serverName, SAMPLEUDPPORT); &lt;BR /&gt;Byte[] inputToBeSent = &lt;/FONT&gt;&lt;FONT size="2" color="#0000ff"&gt;new&lt;/FONT&gt;&lt;FONT size="2"&gt; Byte[256]; &lt;BR /&gt;inputToBeSent = System.Text.Encoding.ASCII.GetBytes(whatEver.ToCharArray()); &lt;BR /&gt;IPHostEntry remoteHostEntry = Dns.GetHostByName(serverName); &lt;BR /&gt;IPEndPoint remoteIpEndPoint = &lt;/FONT&gt;&lt;FONT size="2" color="#0000ff"&gt;new&lt;/FONT&gt;&lt;FONT size="2"&gt; IPEndPoint(remoteHostEntry.AddressList[0], SAMPLEUDPPORT); &lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2" color="#0000ff"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; nBytesSent = udpClient.Send(inputToBeSent, inputToBeSent.Length); &lt;BR /&gt;Byte[] received = &lt;/FONT&gt;&lt;FONT size="2" color="#0000ff"&gt;new&lt;/FONT&gt;&lt;FONT size="2"&gt; Byte[512]; &lt;BR /&gt;received = udpClient.Receive(&lt;/FONT&gt;&lt;FONT size="2" color="#0000ff"&gt;ref&lt;/FONT&gt;&lt;FONT size="2"&gt; remoteIpEndPoint); &lt;BR /&gt;String dataReceived = System.Text.Encoding.ASCII.GetString(received); &lt;BR /&gt;Console.WriteLine(dataReceived); &lt;BR /&gt;udpClient.Close(); &lt;/FONT&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/8CED6C60-251F-41AD-8E5E-050E8B3A9A10/blog/" title="blog or email this clip"&gt;&lt;img src="http://content6.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-3830531895551745201?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/3830531895551745201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=3830531895551745201' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3830531895551745201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3830531895551745201'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/udp-client-server.html' title='UDP Client Server'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12613863.post-5715322475556412787</id><published>2008-02-25T02:26:00.001-08:00</published><updated>2008-02-25T02:26:40.590-08:00</updated><title type='text'>UDP packet - Ask DNS</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:9587B791-2367-4311-A969-E01D21195C86:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/8d3864cf-3129-4933-8a5f-f2db314936ce/9587B791-2367-4311-A969-E01D21195C86/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeproject.com/script/Articles/Article.aspx?aid=12072" href="http://www.codeproject.com/script/Articles/Article.aspx?aid=12072" style="font-size: 11px;"&gt;www.codeproject.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/script/Articles/Article.aspx?aid=12072"&gt;&lt;div align="center"&gt;&lt;img src="http://content6.clipmarks.com/blog_cache/www.codeproject.com/img/64D15E36-BF51-43EC-A4E5-66FA1DA03409" alt="Test Application" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/9587B791-2367-4311-A969-E01D21195C86/blog/" title="blog or email this clip"&gt;&lt;img src="http://content7.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-5715322475556412787?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/5715322475556412787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=5715322475556412787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5715322475556412787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5715322475556412787'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/udp-packet-ask-dns.html' title='UDP packet - Ask DNS'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-4467499899468458070</id><published>2008-02-21T07:00:00.001-08:00</published><updated>2008-02-21T07:00:05.152-08:00</updated><title type='text'>MIB Overview</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:BDC28705-4E1E-4A7C-AAE1-3013A41FDEE1:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/9ae12eb9-dff0-4f8b-9f5c-95c25d822f5c/BDC28705-4E1E-4A7C-AAE1-3013A41FDEE1/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.unleashnetworks.com/articles/how-to-effectively-use-a-mib-browser.html" href="http://www.unleashnetworks.com/articles/how-to-effectively-use-a-mib-browser.html" style="font-size: 11px;"&gt;www.unleashnetworks.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.unleashnetworks.com/articles/how-to-effectively-use-a-mib-browser.html"&gt;&lt;div align="center"&gt;&lt;img src="http://content9.clipmarks.com/blog_cache/www.unleashnetworks.com/img/F7A803EC-4DED-4880-9A0B-C88475E91416" alt="What is SNMP MIB Browser" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/BDC28705-4E1E-4A7C-AAE1-3013A41FDEE1/blog/" title="blog or email this clip"&gt;&lt;img src="http://content6.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-4467499899468458070?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/4467499899468458070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=4467499899468458070' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/4467499899468458070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/4467499899468458070'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/mib-overview.html' title='MIB Overview'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-8452608166494292987</id><published>2008-02-21T02:45:00.001-08:00</published><updated>2008-02-21T02:45:49.416-08:00</updated><title type='text'>SNMP Library Free Project (Mono)</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:D2F69C90-B8FA-4490-92C5-B0AA743C88EC:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/b0a912a4-6856-4bf1-9839-e89390e0c0b1/D2F69C90-B8FA-4490-92C5-B0AA743C88EC/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://snmpdotnet.sourceforge.net/" href="http://snmpdotnet.sourceforge.net/" style="font-size: 11px;"&gt;snmpdotnet.sourceforge.net&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://snmpdotnet.sourceforge.net/"&gt;&lt;P&gt;I started this project because of the lack of resources for the older, but still highly &lt;br /&gt;		used SNMP protocol. The SNMP protocol still remains the de facto standard when it comes &lt;br /&gt;		to network monitoring and management.&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/D2F69C90-B8FA-4490-92C5-B0AA743C88EC/blog/" title="blog or email this clip"&gt;&lt;img src="http://content9.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-8452608166494292987?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/8452608166494292987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=8452608166494292987' title='329 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8452608166494292987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8452608166494292987'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/snmp-library-free-project-mono.html' title='SNMP Library Free Project (Mono)'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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>329</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12613863.post-6062492180822135971</id><published>2008-02-18T00:37:00.001-08:00</published><updated>2008-02-18T00:37:46.937-08:00</updated><title type='text'>IDataProvider - Implement Provider Model C#</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:94E5B4E1-CA69-4DB6-949A-B0BEB02712A9:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/13e97084-5ef3-45c8-a4dc-132cb218e77e/94E5B4E1-CA69-4DB6-949A-B0BEB02712A9/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.code-magazine.com/article.aspx?quickid=0711081&amp;page=3" href="http://www.code-magazine.com/article.aspx?quickid=0711081&amp;page=3" style="font-size: 11px;"&gt;www.code-magazine.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.code-magazine.com/article.aspx?quickid=0711081&amp;page=3"&gt;&lt;FONT size="2" face="Verdana, Arial, Helvetica, sans-serif"&gt;In the CreateDataAdapter method you will have to do a couple of things to create an instance of a specific data adapter. First you will need to initialize the appropriate provider based on the information in the configuration file. The InitProvider method is responsible for this and will be shown in the next section. After the appropriate DataProvider class is loaded the CreateDataAdapter method on that specific provider will be called. This is where the SqlDataAdapter or the OleDbDataAdapter or the OracleDataAdapter is created.&lt;/FONT&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.code-magazine.com/article.aspx?quickid=0711081&amp;page=3"&gt;&lt;FONT size="2" face="Courier New" color="#660000"&gt;public static IDbDataAdapter CreateDataAdapter(&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2" face="Courier New" color="#660000"&gt; string SQL, string ConnectString)&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2" face="Courier New" color="#660000"&gt;{&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2" face="Courier New" color="#660000"&gt;  IDbDataAdapter da;&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2" face="Courier New" color="#660000"&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2" face="Courier New" color="#660000"&gt;  // Make sure provider is created&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2" face="Courier New" color="#660000"&gt;  InitProvider();&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2" face="Courier New" color="#660000"&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2" face="Courier New" color="#660000"&gt;  da = DataProvider.CreateDataAdapter();&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2" face="Courier New" color="#660000"&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2" face="Courier New" color="#660000"&gt;  da.SelectCommand = CreateCommand(SQL, &lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2" face="Courier New" color="#660000"&gt;   ConnectString, false);&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2" face="Courier New" color="#660000"&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2" face="Courier New" color="#660000"&gt;  return da;&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2" face="Courier New" color="#660000"&gt;}&lt;BR /&gt;&lt;/FONT&gt;&lt;P align="justify"&gt;&lt;FONT size="2" face="Verdana, Arial, Helvetica, sans-serif"&gt;In Visual Basic&lt;/FONT&gt;&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/94E5B4E1-CA69-4DB6-949A-B0BEB02712A9/blog/" title="blog or email this clip"&gt;&lt;img src="http://content6.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-6062492180822135971?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/6062492180822135971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=6062492180822135971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6062492180822135971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6062492180822135971'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/idataprovider-implement-provider-model.html' title='IDataProvider - Implement Provider Model C#'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-2197339451964095850</id><published>2008-02-18T00:09:00.001-08:00</published><updated>2008-02-18T00:09:09.064-08:00</updated><title type='text'>tcp</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:69AB4354-5063-4250-AD96-624785EBB58D:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/2e6dee42-1ff9-4f6d-8b5b-26608280b141/69AB4354-5063-4250-AD96-624785EBB58D/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://en.wikipedia.org/w/index.php?title=Transmission_Control_Protocol&amp;oldid=191717777" href="http://en.wikipedia.org/w/index.php?title=Transmission_Control_Protocol&amp;oldid=191717777" style="font-size: 11px;"&gt;en.wikipedia.org&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://en.wikipedia.org/w/index.php?title=Transmission_Control_Protocol&amp;oldid=191717777"&gt;&lt;P&gt;A TCP segment consists of two sections:&lt;/p&gt; &lt;UL&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;header&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;data&lt;/LI&gt;&lt;br /&gt;&lt;/UL&gt;&lt;br /&gt;&lt;P&gt;The TCP header&lt;A rel="nofollow" title="http://freebie.fatpipe.org/~mjb/Drawings/TCP_Header.png" class="external autonumber" href="http://freebie.fatpipe.org/~mjb/Drawings/TCP_Header.png"&gt;[2]&lt;/A&gt; consists of 11 fields, of which only 10 are required. The eleventh field is optional (pink background in table) and aptly named "options".&lt;/p&gt; &lt;TABLE class="wikitable"&gt;&lt;CAPTION&gt;TCP Header&lt;/CAPTION&gt;&lt;br /&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH&gt;Bit offset&lt;/TH&gt;&lt;TH width="11%" colspan="4"&gt;Bits 0–3&lt;/TH&gt;&lt;TH width="11%" colspan="4"&gt;4–7&lt;/TH&gt;&lt;TH width="22%" colspan="8"&gt;8–15&lt;/TH&gt;&lt;TH width="44%" colspan="16"&gt;16–31&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;0&lt;/B&gt;&lt;/TD&gt;&lt;TD colspan="16"&gt;Source port&lt;/TD&gt;&lt;TD colspan="16"&gt;Destination port&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;32&lt;/B&gt;&lt;/TD&gt;&lt;TD colspan="32"&gt;Sequence number&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;64&lt;/B&gt;&lt;/TD&gt;&lt;TD colspan="32"&gt;Acknowledgment number&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;96&lt;/B&gt;&lt;/TD&gt;&lt;TD colspan="4"&gt;Data offset&lt;/TD&gt;&lt;TD colspan="4"&gt;Reserved&lt;/TD&gt;&lt;TD colspan="1"&gt;CWR&lt;/TD&gt;&lt;TD colspan="1"&gt;ECE&lt;/TD&gt;&lt;TD colspan="1"&gt;URG&lt;/TD&gt;&lt;TD colspan="1"&gt;ACK&lt;/TD&gt;&lt;TD colspan="1"&gt;PSH&lt;/TD&gt;&lt;TD colspan="1"&gt;RST&lt;/TD&gt;&lt;TD colspan="1"&gt;SYN&lt;/TD&gt;&lt;TD colspan="1"&gt;FIN&lt;/TD&gt;&lt;TD colspan="16"&gt;Window&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;128&lt;/B&gt;&lt;/TD&gt;&lt;TD colspan="16"&gt;Checksum&lt;/TD&gt;&lt;TD colspan="16"&gt;Urgent pointer&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;160&lt;/B&gt;&lt;/TD&gt;&lt;TD bgcolor="#ffdddd" colspan="32"&gt;Options (optional)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;160/192+&lt;/B&gt;&lt;/TD&gt;&lt;TD colspan="32"&gt; &lt;br /&gt;Data&lt;br /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;UL&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Source port (16 bits) – identifies the sending port&lt;/LI&gt;&lt;/UL&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/69AB4354-5063-4250-AD96-624785EBB58D/blog/" title="blog or email this clip"&gt;&lt;img src="http://content7.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-2197339451964095850?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/2197339451964095850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=2197339451964095850' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2197339451964095850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2197339451964095850'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/tcp.html' title='tcp'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-5384538910599289956</id><published>2008-02-18T00:06:00.001-08:00</published><updated>2008-02-18T00:06:02.867-08:00</updated><title type='text'>TCP diagram</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:E55B00AF-5A48-44EF-8437-1C4D145823C8:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/698305ec-7523-4b38-8272-734109cf5de8/E55B00AF-5A48-44EF-8437-1C4D145823C8/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://freebie.fatpipe.org/~mjb/Drawings/TCP_Header.png" href="http://freebie.fatpipe.org/~mjb/Drawings/TCP_Header.png" style="font-size: 11px;"&gt;freebie.fatpipe.org&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://freebie.fatpipe.org/~mjb/Drawings/TCP_Header.png"&gt;&lt;div align="center"&gt;&lt;img src="http://content7.clipmarks.com/blog_cache/freebie.fatpipe.org/img/3ED0E0E6-1211-42E6-A085-69BCD55174B8" alt="http://freebie.fatpipe.org/~mjb/Drawings/TCP_Header.png" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/E55B00AF-5A48-44EF-8437-1C4D145823C8/blog/" title="blog or email this clip"&gt;&lt;img src="http://content8.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-5384538910599289956?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/5384538910599289956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=5384538910599289956' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5384538910599289956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5384538910599289956'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/tcp-diagram.html' title='TCP diagram'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-8024273931554279779</id><published>2008-02-17T00:28:00.001-08:00</published><updated>2008-02-17T00:28:21.708-08:00</updated><title type='text'>MSI parameter driven</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:B4C0FE8A-ECB1-46CA-A529-D8BE680D1368:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/0930a1ce-98b0-48f8-8dac-11cfda778586/B4C0FE8A-ECB1-46CA-A529-D8BE680D1368/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://blogs.msdn.com/swamyn/archive/2006/03/25/560868.aspx" href="http://blogs.msdn.com/swamyn/archive/2006/03/25/560868.aspx" style="font-size: 11px;"&gt;blogs.msdn.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://blogs.msdn.com/swamyn/archive/2006/03/25/560868.aspx"&gt;&lt;H4 class="BlogPostHeader"&gt;Adding msi parameters in Visual Studio Setup Project &lt;/H4&gt;&lt;br /&gt;	&lt;DIV class="BlogPostContent"&gt;&lt;br /&gt;		&lt;P class="MsoNormal"&gt;I can’t find &lt;STRONG&gt;how and where to add the parameter list of the msi&lt;/STRONG&gt;.&lt;/p&gt; &lt;P class="MsoNormal"&gt;I had to modify a setup project of which creates an msi for an application.&lt;/p&gt; &lt;P class="MsoNormal"&gt;During modification I had to add an extra parameter that should be given to the msi during installation.&lt;/p&gt; &lt;P class="MsoNormal"&gt;While I searched I found only how to read the parameters supplied from command line using Context.Parameters. &lt;/p&gt; &lt;P class="MsoNormal"&gt;But I can’t find at any place where to specify the parameters those can be supplied with msi. Finally I found it and so I am writing here as it may be useful to others.&lt;/P&gt;&lt;/DIV&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://blogs.msdn.com/swamyn/archive/2006/03/25/560868.aspx"&gt;&lt;P class="MsoNormal"&gt;&lt;STRONG&gt;In property Pages of Install, in the option CustomEvents, we can specify the arguments.&lt;/STRONG&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;O:P _moz-userdefined=""&gt; &lt;/O:P&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;For example if for our msi, we have to add 2 parameters INSTLOG &amp; X&lt;/p&gt; &lt;P class="MsoNormal"&gt;Then in the CustomEvents, we have to specify it as:&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN&gt;            &lt;/SPAN&gt;&lt;STRONG&gt;/INSTLOG=”[INSTLOG]” /X=”[X]”&lt;/STRONG&gt;&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/B4C0FE8A-ECB1-46CA-A529-D8BE680D1368/blog/" title="blog or email this clip"&gt;&lt;img src="http://content7.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-8024273931554279779?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/8024273931554279779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=8024273931554279779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8024273931554279779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8024273931554279779'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/msi-parameter-driven.html' title='MSI parameter driven'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-4751549530067049728</id><published>2008-02-14T13:04:00.001-08:00</published><updated>2008-02-14T13:04:07.992-08:00</updated><title type='text'>Simple SNMP</title><content type='html'>&lt;div &gt; From Richard Blum &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:0ACCFC83-F8B9-4169-B1E5-BEA094CD8CB9:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/c73a80d8-612e-40ec-bde5-18c43ca6718f/0ACCFC83-F8B9-4169-B1E5-BEA094CD8CB9/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.java2s.com/Code/CSharp/Network/SimpleSNMP.htm" href="http://www.java2s.com/Code/CSharp/Network/SimpleSNMP.htm" style="font-size: 11px;"&gt;www.java2s.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.java2s.com/Code/CSharp/Network/SimpleSNMP.htm"&gt;&lt;FONT color="#3f7f5f"&gt;// Send sysName SNMP request&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#000000"&gt;response = conn.get&lt;/FONT&gt;&lt;FONT color="#000000"&gt;(&lt;/FONT&gt;&lt;FONT color="#2a00ff"&gt;"get"&lt;/FONT&gt;&lt;FONT color="#000000"&gt;, argv&lt;/FONT&gt;&lt;FONT color="#000000"&gt;[&lt;/FONT&gt;&lt;FONT color="#990000"&gt;0&lt;/FONT&gt;&lt;FONT color="#000000"&gt;]&lt;/FONT&gt;&lt;FONT color="#000000"&gt;, argv&lt;/FONT&gt;&lt;FONT color="#000000"&gt;[&lt;/FONT&gt;&lt;FONT color="#990000"&gt;1&lt;/FONT&gt;&lt;FONT color="#000000"&gt;]&lt;/FONT&gt;&lt;FONT color="#000000"&gt;, &lt;/FONT&gt;&lt;FONT color="#2a00ff"&gt;"1.3.6.1.2.1.1.5.0"&lt;/FONT&gt;&lt;FONT color="#000000"&gt;)&lt;/FONT&gt;&lt;FONT color="#000000"&gt;;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#7f0055"&gt;&lt;B&gt;if &lt;/B&gt;&lt;/FONT&gt;&lt;FONT color="#000000"&gt;(&lt;/FONT&gt;&lt;FONT color="#000000"&gt;response&lt;/FONT&gt;&lt;FONT color="#000000"&gt;[&lt;/FONT&gt;&lt;FONT color="#990000"&gt;0&lt;/FONT&gt;&lt;FONT color="#000000"&gt;] &lt;/FONT&gt;&lt;FONT color="#000000"&gt;== &lt;/FONT&gt;&lt;FONT color="#990000"&gt;0xff&lt;/FONT&gt;&lt;FONT color="#000000"&gt;)&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#000000"&gt;{&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;         &lt;/FONT&gt;&lt;FONT color="#000000"&gt;Console.WriteLine&lt;/FONT&gt;&lt;FONT color="#000000"&gt;(&lt;/FONT&gt;&lt;FONT color="#2a00ff"&gt;"No response from {0}"&lt;/FONT&gt;&lt;FONT color="#000000"&gt;, argv&lt;/FONT&gt;&lt;FONT color="#000000"&gt;[&lt;/FONT&gt;&lt;FONT color="#990000"&gt;0&lt;/FONT&gt;&lt;FONT color="#000000"&gt;])&lt;/FONT&gt;&lt;FONT color="#000000"&gt;;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;         &lt;/FONT&gt;&lt;FONT color="#7f0055"&gt;&lt;B&gt;return&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color="#000000"&gt;;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#000000"&gt;}&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#3f7f5f"&gt;// If response, get the community name and MIB lengths&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#000000"&gt;commlength = Convert.ToInt16&lt;/FONT&gt;&lt;FONT color="#000000"&gt;(&lt;/FONT&gt;&lt;FONT color="#000000"&gt;response&lt;/FONT&gt;&lt;FONT color="#000000"&gt;[&lt;/FONT&gt;&lt;FONT color="#990000"&gt;6&lt;/FONT&gt;&lt;FONT color="#000000"&gt;])&lt;/FONT&gt;&lt;FONT color="#000000"&gt;;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#000000"&gt;miblength = Convert.ToInt16&lt;/FONT&gt;&lt;FONT color="#000000"&gt;(&lt;/FONT&gt;&lt;FONT color="#000000"&gt;response&lt;/FONT&gt;&lt;FONT color="#000000"&gt;[&lt;/FONT&gt;&lt;FONT color="#990000"&gt;23 &lt;/FONT&gt;&lt;FONT color="#000000"&gt;+ commlength&lt;/FONT&gt;&lt;FONT color="#000000"&gt;])&lt;/FONT&gt;&lt;FONT color="#000000"&gt;;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#3f7f5f"&gt;// Extract the MIB data from the SNMP response&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#000000"&gt;datatype = Convert.ToInt16&lt;/FONT&gt;&lt;FONT color="#000000"&gt;(&lt;/FONT&gt;&lt;FONT color="#000000"&gt;response&lt;/FONT&gt;&lt;FONT color="#000000"&gt;[&lt;/FONT&gt;&lt;FONT color="#990000"&gt;24 &lt;/FONT&gt;&lt;FONT color="#000000"&gt;+ commlength + miblength&lt;/FONT&gt;&lt;FONT color="#000000"&gt;])&lt;/FONT&gt;&lt;FONT color="#000000"&gt;;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#000000"&gt;datalength = Convert.ToInt16&lt;/FONT&gt;&lt;FONT color="#000000"&gt;(&lt;/FONT&gt;&lt;FONT color="#000000"&gt;response&lt;/FONT&gt;&lt;FONT color="#000000"&gt;[&lt;/FONT&gt;&lt;FONT color="#990000"&gt;25 &lt;/FONT&gt;&lt;FONT color="#000000"&gt;+ commlength + miblength&lt;/FONT&gt;&lt;FONT color="#000000"&gt;])&lt;/FONT&gt;&lt;FONT color="#000000"&gt;;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#000000"&gt;datastart = &lt;/FONT&gt;&lt;FONT color="#990000"&gt;26 &lt;/FONT&gt;&lt;FONT color="#000000"&gt;+ commlength + miblength;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#000000"&gt;output = Encoding.ASCII.GetString&lt;/FONT&gt;&lt;FONT color="#000000"&gt;(&lt;/FONT&gt;&lt;FONT color="#000000"&gt;response, datastart, datalength&lt;/FONT&gt;&lt;FONT color="#000000"&gt;)&lt;/FONT&gt;&lt;FONT color="#000000"&gt;;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#000000"&gt;Console.WriteLine&lt;/FONT&gt;&lt;FONT color="#000000"&gt;(&lt;/FONT&gt;&lt;FONT color="#2a00ff"&gt;"  sysName - Datatype: {0}, Value: {1}"&lt;/FONT&gt;&lt;FONT color="#000000"&gt;,&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;              &lt;/FONT&gt;&lt;FONT color="#000000"&gt;datatype, output&lt;/FONT&gt;&lt;FONT color="#000000"&gt;)&lt;/FONT&gt;&lt;FONT color="#000000"&gt;;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#3f7f5f"&gt;// Send a sysLocation SNMP request&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#000000"&gt;response = conn.get&lt;/FONT&gt;&lt;FONT color="#000000"&gt;(&lt;/FONT&gt;&lt;FONT color="#2a00ff"&gt;"get"&lt;/FONT&gt;&lt;FONT color="#000000"&gt;, argv&lt;/FONT&gt;&lt;FONT color="#000000"&gt;[&lt;/FONT&gt;&lt;FONT color="#990000"&gt;0&lt;/FONT&gt;&lt;FONT color="#000000"&gt;]&lt;/FONT&gt;&lt;FONT color="#000000"&gt;, argv&lt;/FONT&gt;&lt;FONT color="#000000"&gt;[&lt;/FONT&gt;&lt;FONT color="#990000"&gt;1&lt;/FONT&gt;&lt;FONT color="#000000"&gt;]&lt;/FONT&gt;&lt;FONT color="#000000"&gt;, &lt;/FONT&gt;&lt;FONT color="#2a00ff"&gt;"1.3.6.1.2.1.1.6.0"&lt;/FONT&gt;&lt;FONT color="#000000"&gt;)&lt;/FONT&gt;&lt;FONT color="#000000"&gt;;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#7f0055"&gt;&lt;B&gt;if &lt;/B&gt;&lt;/FONT&gt;&lt;FONT color="#000000"&gt;(&lt;/FONT&gt;&lt;FONT color="#000000"&gt;response&lt;/FONT&gt;&lt;FONT color="#000000"&gt;[&lt;/FONT&gt;&lt;FONT color="#990000"&gt;0&lt;/FONT&gt;&lt;FONT color="#000000"&gt;] &lt;/FONT&gt;&lt;FONT color="#000000"&gt;== &lt;/FONT&gt;&lt;FONT color="#990000"&gt;0xff&lt;/FONT&gt;&lt;FONT color="#000000"&gt;)&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#000000"&gt;{&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;         &lt;/FONT&gt;&lt;FONT color="#000000"&gt;Console.WriteLine&lt;/FONT&gt;&lt;FONT color="#000000"&gt;(&lt;/FONT&gt;&lt;FONT color="#2a00ff"&gt;"No response from {0}"&lt;/FONT&gt;&lt;FONT color="#000000"&gt;, argv&lt;/FONT&gt;&lt;FONT color="#000000"&gt;[&lt;/FONT&gt;&lt;FONT color="#990000"&gt;0&lt;/FONT&gt;&lt;FONT color="#000000"&gt;])&lt;/FONT&gt;&lt;FONT color="#000000"&gt;;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;         &lt;/FONT&gt;&lt;FONT color="#7f0055"&gt;&lt;B&gt;return&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color="#000000"&gt;;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT color="#ffffff"&gt;      &lt;/FONT&gt;&lt;FONT color="#000000"&gt;}&lt;/FONT&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/0ACCFC83-F8B9-4169-B1E5-BEA094CD8CB9/blog/" title="blog or email this clip"&gt;&lt;img src="http://content8.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-4751549530067049728?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/4751549530067049728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=4751549530067049728' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/4751549530067049728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/4751549530067049728'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/simple-snmp.html' title='Simple SNMP'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-2569669057830628492</id><published>2008-02-14T13:02:00.001-08:00</published><updated>2008-02-14T13:02:59.333-08:00</updated><title type='text'>SNMP C#</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:C1C3311F-EB34-4D54-A310-A6E92135D09C:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/8d44bc8b-677a-4115-8d6c-87036029d599/C1C3311F-EB34-4D54-A310-A6E92135D09C/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.c-sharpcorner.com/UploadFile/malcolmcrowe/SnmpLib11232005011613AM/SnmpLib.aspx" href="http://www.c-sharpcorner.com/UploadFile/malcolmcrowe/SnmpLib11232005011613AM/SnmpLib.aspx" style="font-size: 11px;"&gt;www.c-sharpcorner.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.c-sharpcorner.com/UploadFile/malcolmcrowe/SnmpLib11232005011613AM/SnmpLib.aspx"&gt;&lt;FONT face="Verdana, Arial, Helvetica, sans-serif"&gt;snmputil &lt;FONT color="#0000ff"&gt;get&lt;/FONT&gt; ict-main-s.msroot.student.paisley.ac.uk &lt;FONT color="#0000ff"&gt;public&lt;/FONT&gt; system.sysContact.0 &lt;BR /&gt;To &lt;FONT color="#0000ff"&gt;do&lt;/FONT&gt; &lt;FONT color="#0000ff"&gt;this&lt;/FONT&gt; programmatically, proceed &lt;FONT color="#0000ff"&gt;as&lt;/FONT&gt; follows: &lt;BR /&gt;RFC1157.Mgmt mib = &lt;FONT color="#0000ff"&gt;new&lt;/FONT&gt; RFC1157.Mgmt(); &lt;BR /&gt;ManagerSession sess=&lt;FONT color="#0000ff"&gt;new&lt;/FONT&gt; ManagerSession(localhost,&lt;FONT color="#0000ff"&gt;public&lt;/FONT&gt;); &lt;BR /&gt;ManagerItem mi=&lt;FONT color="#0000ff"&gt;new&lt;/FONT&gt; ManagerItem(sess,mib.OID(mgmt.mib-2.system.sysContact.0)); &lt;BR /&gt;&lt;DIV&gt;Console.WriteLine(mi.Value.ToString()); &lt;/DIV&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.c-sharpcorner.com/UploadFile/malcolmcrowe/SnmpLib11232005011613AM/SnmpLib.aspx"&gt;&lt;SPAN id="ctl00_ContentPlaceHolder1_ArticleHeader1_LabelHeading"&gt;An SNMP Library for .NET Framework&lt;/SPAN&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.c-sharpcorner.com/UploadFile/malcolmcrowe/SnmpLib11232005011613AM/SnmpLib.aspx"&gt;&lt;DIV&gt;Mib.dll is a C# class library that handles the translation of MIB object identifiers (OID) sch as 1.3.6.1.2.1.1.4.0 to readable names such as system.sysContact.0. It also collects the help strings from the system mib files (on windows systems these are in the system folder, usually c:\windows\system32.) It contains one namespace, RFC1157. &lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/C1C3311F-EB34-4D54-A310-A6E92135D09C/blog/" title="blog or email this clip"&gt;&lt;img src="http://content7.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-2569669057830628492?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/2569669057830628492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=2569669057830628492' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2569669057830628492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2569669057830628492'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/snmp-c.html' title='SNMP C#'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-3532675857774292857</id><published>2008-02-14T05:57:00.001-08:00</published><updated>2008-02-14T05:57:43.621-08:00</updated><title type='text'>C# Wmi change start mode of service</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:7542FFDC-7F83-47AE-9DAF-157835FD90CC:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/264c1416-a344-4a65-9474-7732be015e69/7542FFDC-7F83-47AE-9DAF-157835FD90CC/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.thescripts.com/forum/thread269007.html" href="http://www.thescripts.com/forum/thread269007.html" style="font-size: 11px;"&gt;www.thescripts.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.thescripts.com/forum/thread269007.html"&gt;&lt;br /&gt;public void RestartService(string ServiceName)&lt;br /&gt;{&lt;br /&gt;ManagementPath myPath = new ManagementPath();&lt;br /&gt;ManagementBaseObject outParams = null;&lt;br /&gt;myPath.Server = System.Environment.MachineName;&lt;br /&gt;myPath.NamespacePath = @"root\CIMV2";&lt;br /&gt;myPath.RelativePath = "Win32_Service.Name='" + ServiceName + "'";&lt;br /&gt;using (ManagementObject service = new ManagementObject(myPath))&lt;br /&gt;{&lt;br /&gt;// Set startmode to Automatic (auto start at boot )&lt;br /&gt;ManagementBaseObject inputArgs =&lt;br /&gt;service.GetMethodParameters("ChangeStartMode");&lt;br /&gt;inputArgs["startmode"] = "Automatic";&lt;br /&gt;outParams = service.InvokeMethod("ChangeStartMode", inputArgs, null);&lt;br /&gt;// return check ignored for brevity&lt;br /&gt;uint ret = (uint)(outParams.Properties["ReturnValue"].Value);&lt;br /&gt;if(ret == 0)&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/7542FFDC-7F83-47AE-9DAF-157835FD90CC/blog/" title="blog or email this clip"&gt;&lt;img src="http://content9.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-3532675857774292857?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/3532675857774292857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=3532675857774292857' title='44 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3532675857774292857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3532675857774292857'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/c-wmi-change-start-mode-of-service.html' title='C# Wmi change start mode of service'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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>44</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12613863.post-5864182004422737959</id><published>2008-02-14T02:46:00.001-08:00</published><updated>2008-02-14T02:46:05.890-08:00</updated><title type='text'>WMI Security Rights</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:1EB5DA3A-5443-44BC-84E4-F59E7234D270:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/f5eadd5d-11e0-41a4-aebb-35552fd46073/1EB5DA3A-5443-44BC-84E4-F59E7234D270/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://msdn2.microsoft.com/en-us/library/aa394418(VS.85).aspx" href="http://msdn2.microsoft.com/en-us/library/aa394418(VS.85).aspx" style="font-size: 11px;"&gt;msdn2.microsoft.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://msdn2.microsoft.com/en-us/library/aa394418(VS.85).aspx"&gt;&lt;DIV xmlns:msxsl="urn:schemas-microsoft-com:xslt" class="title"&gt;Win32_Service Class&lt;/DIV&gt; &lt;DIV class="clsServerSDKContent"&gt;  &lt;P&gt;&lt;/P&gt;&lt;P&gt;The &lt;br /&gt;&lt;B&gt;Win32_Service&lt;/B&gt; &lt;A href="http://msdn2.microsoft.com/en-us/library/aa393244(VS.85).aspx" id="ctl00_rs1_mainContentContainer_ctl01"&gt;WMI class&lt;/A&gt; represents a service on a computer system running Windows. A service application conforms to the interface rules of the Service Control Manager (SCM), and can be started by a user automatically at system start through the Services control panel utility, or by an application that uses the service functions included in the Windows API. Services can start when there are no users logged on to the computer.&lt;/P&gt; &lt;P&gt;A user connecting from a remote computer must have the SC_MANAGER_CONNECT privilege enabled to be able to enumerate this class. For more information, see &lt;A href="http://msdn2.microsoft.com/en-us/library/ms685981(VS.85).aspx" id="ctl00_rs1_mainContentContainer_ctl02"&gt;Service Security and Access Rights&lt;/A&gt;.&lt;/P&gt;&lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/1EB5DA3A-5443-44BC-84E4-F59E7234D270/blog/" title="blog or email this clip"&gt;&lt;img src="http://content7.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-5864182004422737959?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/5864182004422737959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=5864182004422737959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5864182004422737959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5864182004422737959'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/wmi-security-rights.html' title='WMI Security Rights'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-3306641900522712766</id><published>2008-02-14T00:14:00.001-08:00</published><updated>2008-02-14T00:14:16.287-08:00</updated><title type='text'>WMI namespaces</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:F751F7BE-79FD-4C35-BAF1-BACD46ADFEB5:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/a828dbc7-3808-475c-9935-502055c7d386/F751F7BE-79FD-4C35-BAF1-BACD46ADFEB5/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://articles.techrepublic.com.com/5100-1035_11-5187734.html" href="http://articles.techrepublic.com.com/5100-1035_11-5187734.html" style="font-size: 11px;"&gt;articles.techrepublic.com.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://articles.techrepublic.com.com/5100-1035_11-5187734.html"&gt;&lt;div align="center"&gt;&lt;img src="http://content8.clipmarks.com/blog_cache/articles.techrepublic.com.com/img/BCEDDB27-FFDC-41EE-B696-143A4EE85487" alt="" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/F751F7BE-79FD-4C35-BAF1-BACD46ADFEB5/blog/" title="blog or email this clip"&gt;&lt;img src="http://content9.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-3306641900522712766?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/3306641900522712766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=3306641900522712766' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3306641900522712766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3306641900522712766'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/wmi-namespaces.html' title='WMI namespaces'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-3415958781254074811</id><published>2008-02-12T08:41:00.001-08:00</published><updated>2008-02-12T08:41:21.175-08:00</updated><title type='text'>Impersonate User in Windows Forms</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:EFFD72F8-741C-4DEB-B141-3E6EA62591E2:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/026471ab-5f70-441a-b449-5da799de8125/EFFD72F8-741C-4DEB-B141-3E6EA62591E2/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeproject.com/KB/cs/cpimpersonation1.aspx" href="http://www.codeproject.com/KB/cs/cpimpersonation1.aspx" style="font-size: 11px;"&gt;www.codeproject.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/KB/cs/cpimpersonation1.aspx"&gt;&lt;SPAN class="code-comment"&gt;//&lt;/SPAN&gt;&lt;SPAN class="code-comment"&gt; create new identity using new primary token&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;            WindowsIdentity newId = &lt;SPAN class="code-keyword"&gt;new&lt;/SPAN&gt; WindowsIdentity&lt;br /&gt;                                        (pDuplicateTokenHandle);&lt;br /&gt;            WindowsImpersonationContext impersonatedUser = &lt;br /&gt;                                        newId.Impersonate();&lt;br /&gt;&lt;SPAN class="code-comment"&gt;//&lt;/SPAN&gt;&lt;SPAN class="code-comment"&gt; check the identity after impersonation&lt;br /&gt;&lt;/SPAN&gt;&lt;br /&gt;            sResult += &lt;SPAN class="code-string"&gt;"&lt;/SPAN&gt;&lt;SPAN class="code-string"&gt;After impersonation: "&lt;/SPAN&gt; + &lt;br /&gt;                WindowsIdentity.GetCurrent().Name + &lt;SPAN class="code-string"&gt;"&lt;/SPAN&gt;&lt;SPAN class="code-string"&gt;\r\n"&lt;/SPAN&gt;;&lt;br /&gt;MessageBox.Show(&lt;SPAN class="code-keyword"&gt;this&lt;/SPAN&gt;, sResult, &lt;SPAN class="code-string"&gt;"&lt;/SPAN&gt;&lt;SPAN class="code-string"&gt;Success"&lt;/SPAN&gt;, &lt;br /&gt;                MessageBoxButtons.OK, MessageBoxIcon.Information);&lt;br /&gt;            &lt;SPAN class="code-keyword"&gt;return&lt;/SPAN&gt; impersonatedUser;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/EFFD72F8-741C-4DEB-B141-3E6EA62591E2/blog/" title="blog or email this clip"&gt;&lt;img src="http://content7.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-3415958781254074811?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/3415958781254074811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=3415958781254074811' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3415958781254074811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3415958781254074811'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/impersonate-user-in-windows-forms.html' title='Impersonate User in Windows Forms'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12613863.post-220525737662043409</id><published>2008-02-07T05:25:00.001-08:00</published><updated>2008-02-07T05:25:59.560-08:00</updated><title type='text'>Remoting Sample</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:270364B2-1476-484D-B4EF-3E8D24433D07:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/855777c6-963d-4275-a269-eaf9d1694b58/270364B2-1476-484D-B4EF-3E8D24433D07/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.eggheadcafe.com/articles/20021202.asp" href="http://www.eggheadcafe.com/articles/20021202.asp" style="font-size: 11px;"&gt;www.eggheadcafe.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.eggheadcafe.com/articles/20021202.asp"&gt;&lt;table background="undefined" bgcolor=""&gt;&lt;tr&gt;&lt;TD valign="top" class="clsBodyText" colspan="2"&gt;In simplistic terms, remoting in this scenario happens by proxy.  The developer must create an interface class containing all properties and methods minus the actual code that will reside in each.  The interface class must exist on both the &lt;B&gt;client&lt;/B&gt; and &lt;B&gt;server&lt;/B&gt;.  Remember, this is only the public interface definition.  The &lt;B&gt;client&lt;/B&gt; will utilize the interface class to instantiate a proxy to the object locally.  Via the proxy, anytime a property is referenced with a &lt;B&gt;Get&lt;/B&gt; or &lt;B&gt;Set&lt;/B&gt; statement or a method is called, .NET handles the communication to and from the &lt;B&gt;client&lt;/B&gt; to the &lt;B&gt;server&lt;/B&gt; over an http channel and the port designated by the developer.&lt;/TD&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/270364B2-1476-484D-B4EF-3E8D24433D07/blog/" title="blog or email this clip"&gt;&lt;img src="http://content6.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-220525737662043409?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/220525737662043409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=220525737662043409' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/220525737662043409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/220525737662043409'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/remoting-sample.html' title='Remoting Sample'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-2040478818825086117</id><published>2008-02-07T05:01:00.001-08:00</published><updated>2008-02-07T05:01:53.717-08:00</updated><title type='text'>Remoting Overview C#</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:ACD9D3AE-AA05-48FD-829E-1D84AD2DD08A:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/76a13a11-00d2-4066-95fe-2270a94d564a/ACD9D3AE-AA05-48FD-829E-1D84AD2DD08A/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.eggheadcafe.com/articles/20021202.asp" href="http://www.eggheadcafe.com/articles/20021202.asp" style="font-size: 11px;"&gt;www.eggheadcafe.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.eggheadcafe.com/articles/20021202.asp"&gt;&lt;TR&gt;&lt;TD valign="top" class="clsBodyText" colspan="2"&gt;&lt;B&gt;How does it work?&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top" class="clsBodyText" colspan="2"&gt;In simplistic terms, remoting in this scenario happens by proxy.  The developer must create an interface class containing all properties and methods minus the actual code that will reside in each.  The interface class must exist on both the &lt;B&gt;client&lt;/B&gt; and &lt;B&gt;server&lt;/B&gt;.  Remember, this is only the public interface definition.  The &lt;B&gt;client&lt;/B&gt; will utilize the interface class to instantiate a proxy to the object locally.  Via the proxy, anytime a property is referenced with a &lt;B&gt;Get&lt;/B&gt; or &lt;B&gt;Set&lt;/B&gt; statement or a method is called, .NET handles the communication to and from the &lt;B&gt;client&lt;/B&gt; to the &lt;B&gt;server&lt;/B&gt; over an http channel and the port designated by the developer.&lt;/TD&gt;&lt;/TR&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/ACD9D3AE-AA05-48FD-829E-1D84AD2DD08A/blog/" title="blog or email this clip"&gt;&lt;img src="http://content7.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-2040478818825086117?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/2040478818825086117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=2040478818825086117' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2040478818825086117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2040478818825086117'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/remoting-overview-c.html' title='Remoting Overview C#'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12613863.post-2793987120667284926</id><published>2008-02-07T04:54:00.001-08:00</published><updated>2008-02-07T04:54:20.525-08:00</updated><title type='text'>GAC Util - Best practices</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:4A81613C-F18D-40ED-BD79-641BEE3B6FE8:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/15d3e315-77e7-47d5-ba1b-5e512dcc7eab/4A81613C-F18D-40ED-BD79-641BEE3B6FE8/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://blogs.msdn.com/astebner/archive/2006/11/04/why-to-not-use-gacutil-exe-in-an-application-setup.aspx" href="http://blogs.msdn.com/astebner/archive/2006/11/04/why-to-not-use-gacutil-exe-in-an-application-setup.aspx" style="font-size: 11px;"&gt;blogs.msdn.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://blogs.msdn.com/astebner/archive/2006/11/04/why-to-not-use-gacutil-exe-in-an-application-setup.aspx"&gt;&lt;P&gt;You should use Windows Installer to install your application.  Starting with version 2.0, Windows Installer has built-in functionality to install assemblies to the GAC - the &lt;A href="http://search.msdn.microsoft.com/search/Redirect.aspx?title=MsiAssembly+Table+%5bWindows+Installer%5d&amp;url=http://msdn.microsoft.com/library/en-us/msi/setup/msiassembly_table.asp"&gt;MsiAssembly&lt;/A&gt; and &lt;A href="http://search.msdn.microsoft.com/search/Redirect.aspx?title=MsiAssemblyName+Table+%5bWindows+Installer%5d&amp;url=http://msdn.microsoft.com/library/en-us/msi/setup/msiassemblyname_table.asp"&gt;MsiAssemblyName&lt;/A&gt; tables in particular.  You can refer to &lt;A href="http://search.msdn.microsoft.com/search/Redirect.aspx?title=Adding+Assemblies+to+a+Package+%5bWindows+Installer%5d&amp;url=http://msdn.microsoft.com/library/en-us/msi/setup/adding_assemblies_to_a_package.asp"&gt;this MSDN document&lt;/A&gt; for an overview of how to add assemblies to an MSI package and &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/installation_of_win32_assemblies.asp"&gt;this MSDN document&lt;/A&gt; for a description of how to add Win32 assemblies to an MSI package.  Therefore you should use this built-in functionality to handle GAC installation and uninstallation for you.&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/4A81613C-F18D-40ED-BD79-641BEE3B6FE8/blog/" title="blog or email this clip"&gt;&lt;img src="http://content6.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-2793987120667284926?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/2793987120667284926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=2793987120667284926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2793987120667284926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2793987120667284926'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/gac-util-best-practices.html' title='GAC Util - Best practices'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-6802643594051007208</id><published>2008-02-07T04:52:00.001-08:00</published><updated>2008-02-07T04:52:37.421-08:00</updated><title type='text'>Register DLL to GAC - programmatically</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:CE36CAB0-C711-444F-8655-A665AF9D7E23:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/e2a2d851-0c92-447d-a3f5-97747f6402a2/CE36CAB0-C711-444F-8655-A665AF9D7E23/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeguru.com/columns/kate/article.php/c12793/" href="http://www.codeguru.com/columns/kate/article.php/c12793/" style="font-size: 11px;"&gt;www.codeguru.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeguru.com/columns/kate/article.php/c12793/"&gt;&lt;P&gt;The .NET Configuration Utility requires administrative privileges to add an assembly to the GAC, and the GACUTIL is available only when the Framework SDK is installed. A machine with the .NET Framework but without the SDK won't have GACUTIL. Based on the advice in the MSDN article, a developer would have to make every potential user of a VSTO application into a local administrator (at least temporarily) or get the Framework SDK installed so GACUTIL can be called from an MSI package, which runs under the privileges of an administrator. Thankfully, the C++ developer has a third option: programmatically modifying the GAC with the Fusion APIs.&lt;/P&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeguru.com/columns/kate/article.php/c12793/"&gt;&lt;PRE&gt;&lt;SPAN class="codeKeyword"&gt;typedef&lt;/SPAN&gt; HRESULT (&lt;SPAN class="codeKeyword"&gt;__stdcall&lt;/SPAN&gt; *CreateAsmCache)(IAssemblyCache&lt;br /&gt;   **ppAsmCache, DWORD dwReserved);&lt;br /&gt;HMODULE g_FusionDll;&lt;br /&gt;CreateAsmCache g_pfnCreateAssemblyCache;&lt;br /&gt;&lt;/PRE&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/CE36CAB0-C711-444F-8655-A665AF9D7E23/blog/" title="blog or email this clip"&gt;&lt;img src="http://content7.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-6802643594051007208?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/6802643594051007208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=6802643594051007208' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6802643594051007208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6802643594051007208'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/register-dll-to-gac-programmatically.html' title='Register DLL to GAC - programmatically'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-10305979927358281</id><published>2008-02-06T22:45:00.001-08:00</published><updated>2008-02-06T22:45:28.335-08:00</updated><title type='text'>Google Docs</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:EE0D348E-D841-4FD0-9309-8E6C58907D40:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/2de9fda2-9928-47dd-8999-13beb51d1526/EE0D348E-D841-4FD0-9309-8E6C58907D40/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.youtube.com/watch?v=eRqUE6IHTEA" href="http://www.youtube.com/watch?v=eRqUE6IHTEA" style="font-size: 11px;"&gt;www.youtube.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.youtube.com/watch?v=eRqUE6IHTEA"&gt;&lt;SPAN&gt;Google Docs in Plain English&lt;/SPAN&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.youtube.com/watch?v=eRqUE6IHTEA"&gt;&lt;H2 class="padT5 padB5"&gt;You can share this video in three ways:&lt;/H2&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.youtube.com/watch?v=eRqUE6IHTEA"&gt;&lt;FORM id="shareUrlForm" name="urlForm"&gt;&lt;br /&gt;			&lt;INPUT type="text" size="40" readonly="true" class="vidURLField" value="http://www.youtube.com/watch?v=eRqUE6IHTEA" name="video_link" /&gt;&lt;br /&gt;			&lt;/FORM&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.youtube.com/watch?v=eRqUE6IHTEA"&gt;&lt;div align="center"&gt;&lt;embed src="http://www.youtube.com/v/eRqUE6IHTEA&amp;rel=1" height="329" width="400" wmode="opaque" quality="high" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/EE0D348E-D841-4FD0-9309-8E6C58907D40/blog/" title="blog or email this clip"&gt;&lt;img src="http://content7.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-10305979927358281?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/10305979927358281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=10305979927358281' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/10305979927358281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/10305979927358281'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/google-docs.html' title='Google Docs'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-8071869036253295809</id><published>2008-02-06T02:20:00.001-08:00</published><updated>2008-02-06T02:20:28.891-08:00</updated><title type='text'>Db Mirroring</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:23C8F674-3BB3-4FCD-84E5-E645ECB58A2A:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/cbc4af0e-f1a4-447b-90ad-1c376171057d/23C8F674-3BB3-4FCD-84E5-E645ECB58A2A/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.microsoft.com/technet/prodtechnol/sql/2005/dbmirror.mspx" href="http://www.microsoft.com/technet/prodtechnol/sql/2005/dbmirror.mspx" style="font-size: 11px;"&gt;www.microsoft.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.microsoft.com/technet/prodtechnol/sql/2005/dbmirror.mspx"&gt;&lt;div align="center"&gt;&lt;img src="http://content9.clipmarks.com/blog_cache/www.microsoft.com/img/2D529FF2-0161-4591-A4C3-F580FC137F63" alt="Figure 2" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/23C8F674-3BB3-4FCD-84E5-E645ECB58A2A/blog/" title="blog or email this clip"&gt;&lt;img src="http://content6.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-8071869036253295809?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/8071869036253295809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=8071869036253295809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8071869036253295809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8071869036253295809'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/db-mirroring.html' title='Db Mirroring'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-5839921137179468637</id><published>2008-02-01T02:26:00.001-08:00</published><updated>2008-02-01T02:26:51.119-08:00</updated><title type='text'>How do users think?</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:C692C605-3456-4BC6-8BC4-A4A49E2FE996:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/4ea3c37e-753f-4263-ab12-3846c69046a6/C692C605-3456-4BC6-8BC4-A4A49E2FE996/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.smashingmagazine.com/2008/01/31/10-principles-of-effective-web-design/" href="http://www.smashingmagazine.com/2008/01/31/10-principles-of-effective-web-design/" style="font-size: 11px;"&gt;www.smashingmagazine.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.smashingmagazine.com/2008/01/31/10-principles-of-effective-web-design/"&gt;&lt;div align="center"&gt;&lt;img src="http://content9.clipmarks.com/blog_cache/www.smashingmagazine.com/img/687763AC-87D3-424A-90E3-B56C0AE75C68" alt="Screenshot" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.smashingmagazine.com/2008/01/31/10-principles-of-effective-web-design/"&gt;&lt;div align="center"&gt;&lt;img src="http://content6.clipmarks.com/blog_cache/www.smashingmagazine.com/img/52D269DD-EBA8-41DE-8403-7CD46AD53456" alt="Screenshot" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.smashingmagazine.com/2008/01/31/10-principles-of-effective-web-design/"&gt;&lt;div align="center"&gt;&lt;img src="http://content7.clipmarks.com/blog_cache/www.smashingmagazine.com/img/61CA9066-3E54-4E4E-95CA-F85490D1433E" alt="Screenshot" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.smashingmagazine.com/2008/01/31/10-principles-of-effective-web-design/"&gt;&lt;H3&gt;1. Don’t make users think&lt;/H3&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.smashingmagazine.com/2008/01/31/10-principles-of-effective-web-design/"&gt;&lt;H3&gt;How do users think?&lt;/H3&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/C692C605-3456-4BC6-8BC4-A4A49E2FE996/blog/" title="blog or email this clip"&gt;&lt;img src="http://content8.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-5839921137179468637?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/5839921137179468637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=5839921137179468637' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5839921137179468637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5839921137179468637'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/02/how-do-users-think.html' title='How do users think?'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-1467450991994113990</id><published>2008-01-27T10:27:00.001-08:00</published><updated>2008-01-27T10:27:54.615-08:00</updated><title type='text'>Create / Edit Site</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:F3C7C29F-87A4-4066-9CDB-26EFCDCC6389:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/dcf3c0fc-69ce-4502-aeed-958f4f41972b/F3C7C29F-87A4-4066-9CDB-26EFCDCC6389/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.dotnet247.com/247reference/msgs/41/205039.aspx" href="http://www.dotnet247.com/247reference/msgs/41/205039.aspx" style="font-size: 11px;"&gt;www.dotnet247.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.dotnet247.com/247reference/msgs/41/205039.aspx"&gt;namespace IIS6&lt;BR /&gt;{&lt;BR /&gt;public class SiteCreator {&lt;BR /&gt;static void Main() {&lt;BR /&gt;// path to root of virtual directory, is not created by creating the&lt;BR /&gt;site!!&lt;BR /&gt;string rootVirtualDir = "c:\\NewSite";&lt;BR /&gt;string site = "MySpecialSite";&lt;BR /&gt;&lt;A href="http://www.dotnet247.com/247reference/System/Management/ConnectionOptions.aspx"&gt;ConnectionOptions&lt;/A&gt; oConn = new &lt;A href="http://www.dotnet247.com/247reference/System/Management/ConnectionOptions.aspx"&gt;ConnectionOptions&lt;/A&gt;();&lt;BR /&gt;oConn.Username = "webAdministrator";&lt;BR /&gt;oConn.Password = "adminpwd";&lt;BR /&gt;&lt;A href="http://www.dotnet247.com/247reference/System/Management/ManagementPath.aspx"&gt;ManagementPath&lt;/A&gt; myPath = new &lt;A href="http://www.dotnet247.com/247reference/System/Management/ManagementPath.aspx"&gt;ManagementPath&lt;/A&gt;();&lt;BR /&gt;myPath.Server = "HostNameOfWebserver";&lt;BR /&gt;myPath.NamespacePath = @"root\MicrosoftIISv2";&lt;BR /&gt;myPath.RelativePath = "IIsWebService.Name='W3SVC'";&lt;BR /&gt;&lt;A href="http://www.dotnet247.com/247reference/System/Management/ManagementScope.aspx"&gt;ManagementScope&lt;/A&gt; scope = new &lt;A href="http://www.dotnet247.com/247reference/System/Management/ManagementScope.aspx"&gt;ManagementScope&lt;/A&gt;(myPath, oConn);&lt;BR /&gt;using (&lt;A href="http://www.dotnet247.com/247reference/System/Management/ManagementObject.aspx"&gt;ManagementObject&lt;/A&gt; nac = new &lt;A href="http://www.dotnet247.com/247reference/System/Management/ManagementObject.aspx"&gt;ManagementObject&lt;/A&gt;(scope, myPath, null))&lt;BR /&gt;{&lt;BR /&gt;// create a ServerBinding WMI object&lt;BR /&gt;&lt;A href="http://www.dotnet247.com/247reference/System/Management/ManagementObject.aspx"&gt;ManagementObject&lt;/A&gt; Bindings = CreateInstance(oConn);&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/F3C7C29F-87A4-4066-9CDB-26EFCDCC6389/blog/" title="blog or email this clip"&gt;&lt;img src="http://content9.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-1467450991994113990?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/1467450991994113990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=1467450991994113990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/1467450991994113990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/1467450991994113990'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/01/create-edit-site.html' title='Create / Edit Site'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-4527492130646705713</id><published>2008-01-27T05:39:00.001-08:00</published><updated>2008-01-27T05:39:02.348-08:00</updated><title type='text'>WMI Properties</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:9E0F706D-8334-4BCA-9A7B-340EA85B35A8:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/d695c662-e6d7-4672-8d51-f1949cef9ba3/9E0F706D-8334-4BCA-9A7B-340EA85B35A8/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.csharphelp.com/archives3/archive585.html" href="http://www.csharphelp.com/archives3/archive585.html" style="font-size: 11px;"&gt;www.csharphelp.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.csharphelp.com/archives3/archive585.html"&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;B&gt;IIsWebServiceSetting &lt;/B&gt; the IIS itself. This includes ASP settings, logging settings, authentication&lt;br /&gt;settings, etc.&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;B&gt;IIsApplicationPoolSetting &lt;/B&gt; application pools (IIS 6.x specific). For each you can see the user&lt;br /&gt;credentials&lt;br /&gt;used, application pool recycling policy information, etc.&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;B&gt;IIsWebServerSetting&lt;/B&gt; &lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;B&gt;IIsWebVirtualDirSetting&lt;/B&gt; &lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;B&gt;Win32_Battery&lt;/B&gt; &lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;B&gt;Win32_BIOS&lt;/B&gt; &lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;B&gt;Win32_ComputerSystem &lt;/B&gt; owner, the hardware model and manufacturer, etc.&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;B&gt;Win32_ComputerSystemProduct &lt;/B&gt; hardware system including the serial number, name, vendor, version,&lt;br /&gt;etc.&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;B&gt;Win32_DiskPartition &lt;/B&gt; &lt;br /&gt; Returns the created disk partitions (a&lt;br /&gt;disk partition may span multiple physical disks and contain multiple logical&lt;br /&gt;disks). For each you find the size, block size, number of blocks, etc.&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;B&gt;Win32_Environment &lt;/B&gt; each you can see the name, value, if it is a system or user defined&lt;br /&gt;variable, etc.&lt;/LI&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/9E0F706D-8334-4BCA-9A7B-340EA85B35A8/blog/" title="blog or email this clip"&gt;&lt;img src="http://content8.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-4527492130646705713?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/4527492130646705713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=4527492130646705713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/4527492130646705713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/4527492130646705713'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/01/wmi-properties.html' title='WMI Properties'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-2254224432745391268</id><published>2008-01-27T03:47:00.001-08:00</published><updated>2008-01-27T03:47:53.383-08:00</updated><title type='text'>WMI to config IIS</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:A63E9825-A514-4925-9EFE-0A9252EE9FEE:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/437c190b-1b97-487c-a3c0-0710226595ce/A63E9825-A514-4925-9EFE-0A9252EE9FEE/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://blogs.msdn.com/ramesh_r/archive/2004/03/24/95109.aspx" href="http://blogs.msdn.com/ramesh_r/archive/2004/03/24/95109.aspx" style="font-size: 11px;"&gt;blogs.msdn.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://blogs.msdn.com/ramesh_r/archive/2004/03/24/95109.aspx"&gt;&lt;FONT color="#0000ff"&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt; &lt;BR /&gt;&amp;lt;webSettings&amp;gt;&lt;BR /&gt;     &amp;lt;webSites&amp;gt;&lt;BR /&gt;             &amp;lt;webSite ServerId="1234" ServerComment="My Test WebSite" PathOfDefaultVroot="c:\inetpub\wwwroot\Test" &amp;gt;&lt;BR /&gt;                    &amp;lt;siteSettings&amp;gt;&lt;BR /&gt;                          &amp;lt;propertyList&amp;gt;&lt;BR /&gt;                                 &amp;lt;property name="AllowKeepAlive" value="True"/&amp;gt;&lt;BR /&gt;                                 &amp;lt;property name="ConnectionTimeout" value="90"/&amp;gt;&lt;BR /&gt;                          &amp;lt;/propertyList&amp;gt;&lt;BR /&gt;                         &amp;lt;serverBinding Hostname="" IP="" Port="80"/&amp;gt;&lt;BR /&gt;                   &amp;lt;/siteSettings&amp;gt;&lt;BR /&gt;            &amp;lt;/webSite&amp;gt;&lt;BR /&gt;     &amp;lt;/webSites&amp;gt;&lt;BR /&gt;&amp;lt;/webSettings&amp;gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://blogs.msdn.com/ramesh_r/archive/2004/03/24/95109.aspx"&gt;Many of us use scripts to setup our web servers, a lot of the work is boilerplate - create sites, vroots.... To ease  maintanence work over the last year i've moved to a data driven approach to setting up web sites. I use an XML configuration file to describe the web site and a driver program that uses WMI to configure IIS based on the XML. Some of the benefits of this are : you only need to make fixes to the single driver program&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/A63E9825-A514-4925-9EFE-0A9252EE9FEE/blog/" title="blog or email this clip"&gt;&lt;img src="http://content9.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-2254224432745391268?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/2254224432745391268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=2254224432745391268' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2254224432745391268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2254224432745391268'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/01/wmi-to-config-iis.html' title='WMI to config IIS'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-1071236218635935562</id><published>2008-01-27T02:23:00.001-08:00</published><updated>2008-01-27T02:23:15.652-08:00</updated><title type='text'>C# WMI to configure VirtualDirectory</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:630EE9AE-1D15-4085-9DBF-D8DFD0A3534B:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/130f5b35-2da6-4133-8632-adf37d06a6f2/630EE9AE-1D15-4085-9DBF-D8DFD0A3534B/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://channel9.msdn.com/ShowPost.aspx?PostID=47247#47247" href="http://channel9.msdn.com/ShowPost.aspx?PostID=47247#47247" style="font-size: 11px;"&gt;channel9.msdn.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://channel9.msdn.com/ShowPost.aspx?PostID=47247#47247"&gt;&lt;br /&gt;' Add a virtual directory to the site. This requires SpawnInstance(). &lt;br /&gt;Set vdirClassObj = providerObj.Get("IIsWebDirectorySetting") &lt;br /&gt;Set vdirObj = vdirClassObj.SpawnInstance_() &lt;br /&gt;vdirObj.Name = strNewVdir &lt;br /&gt;vdirObj.AuthFlags = 5 ' AuthNTLM + AuthAnonymous &lt;br /&gt;vdirObj.EnableDefaultDoc = True &lt;br /&gt;vdirObj.DirBrowseFlags = &amp;H4000003E ' date, time, size, extension, longdate &lt;BR /&gt;&lt;DIV&gt;&lt;br /&gt;vdirObj.AccessFlags = 513 ' read, script &lt;/DIV&gt;&lt;br /&gt;' Save the new settings to the metabase &lt;BR /&gt;&lt;DIV&gt;&lt;br /&gt;vdirObj.Put_()&lt;/DIV&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://channel9.msdn.com/ShowPost.aspx?PostID=47247#47247"&gt;ManagementClass clsIIsWebDirectorySetting = new ManagementClass(scope, new ManagementPath("IIsWebDirectorySetting"), null);&lt;br /&gt;ManagementObject dir = clsIIsWebDirectorySetting.CreateInstance();&lt;br /&gt;dir.Properties["Name"].Value = "W3SVC/" + account + "/ROOT" + path;&lt;BR /&gt;&lt;DIV&gt;&lt;br /&gt;dir.Put()&lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/630EE9AE-1D15-4085-9DBF-D8DFD0A3534B/blog/" title="blog or email this clip"&gt;&lt;img src="http://content9.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-1071236218635935562?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/1071236218635935562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=1071236218635935562' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/1071236218635935562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/1071236218635935562'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/01/c-wmi-to-configure-virtualdirectory.html' title='C# WMI to configure VirtualDirectory'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-827536077621093369</id><published>2008-01-25T01:49:00.001-08:00</published><updated>2008-01-25T01:49:54.879-08:00</updated><title type='text'>Unit Testing - extensions</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:B0B2AE55-68CB-4EB8-97BA-9876518C0737:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/47e180c1-6000-437c-bbed-6a78be340b05/B0B2AE55-68CB-4EB8-97BA-9876518C0737/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://jburtch.spaces.live.com/blog/cns!F1960C7173E954EA!285.entry" href="http://jburtch.spaces.live.com/blog/cns!F1960C7173E954EA!285.entry" style="font-size: 11px;"&gt;jburtch.spaces.live.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://jburtch.spaces.live.com/blog/cns!F1960C7173E954EA!285.entry"&gt;&lt;P&gt;I know a bunch of people have not been too enthusiastic about the unit testing features built into VSTS. &lt;A href="http://weblogs.asp.net/rosherove/archive/2006/09/24/MbUnit-vs.-NUnit-Vs.-Team-System-Unit-Testing-_2D00_-Choosing-a-unit-test-framework.aspx"&gt;Some&lt;/A&gt; &lt;A href="http://www.dotavery.com/blog/archive/2006/09/07/20030.aspx"&gt;people&lt;/A&gt; have become infatuated to many of the features of mbUnit. They are cool. But I like VSTS because of the built in code coverage capabilities and the integration with TFS. &lt;/P&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://jburtch.spaces.live.com/blog/cns!F1960C7173E954EA!285.entry"&gt;&lt;P&gt;1. &lt;STRONG&gt;Rollback&lt;/STRONG&gt;. Yes...inspired by &lt;A href="http://weblogs.asp.net/rosherove/"&gt;Roy,&lt;/A&gt; I created a Rollback attribute that wraps the annotated test in a System.Transaction that always gets rolled back. Usage &lt;/P&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://jburtch.spaces.live.com/blog/cns!F1960C7173E954EA!285.entry"&gt;&lt;FONT size="2" face="Consolas"&gt;[TestMethod]&lt;BR /&gt;[Rollback]&lt;BR /&gt;public void PerformSomeDatabaseTests()&lt;BR /&gt;{&lt;BR /&gt;    //Make some databasebase calls...&lt;BR /&gt;}&lt;/FONT&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/B0B2AE55-68CB-4EB8-97BA-9876518C0737/blog/" title="blog or email this clip"&gt;&lt;img src="http://content8.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-827536077621093369?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/827536077621093369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=827536077621093369' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/827536077621093369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/827536077621093369'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/01/unit-testing-extensions.html' title='Unit Testing - extensions'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-2775007953916171989</id><published>2008-01-23T10:32:00.001-08:00</published><updated>2008-01-23T10:32:00.259-08:00</updated><title type='text'>Bug with singleton and BindingList</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:1DB7B97D-6C24-4F48-8028-4CD4D76105A6:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/910c8cbd-900a-49f0-ad65-2b498c9596b2/1DB7B97D-6C24-4F48-8028-4CD4D76105A6/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeprof.com/dev-archive/90/9-31-901959.shtm" href="http://www.codeprof.com/dev-archive/90/9-31-901959.shtm" style="font-size: 11px;"&gt;www.codeprof.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeprof.com/dev-archive/90/9-31-901959.shtm"&gt;&lt;P&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;&lt;FONT size="2"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;Data.Instance.Projects.ListChanged+=&lt;/FONT&gt;&lt;FONT size="2" color="#0000ff"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeprof.com/dev-archive/90/9-31-901959.shtm"&gt;&lt;P&gt;I have a Class, Data. This class contains several BindingLists, implemented via encapsulation. This class is a singleton, which is implemented on the following manner:&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/1DB7B97D-6C24-4F48-8028-4CD4D76105A6/blog/" title="blog or email this clip"&gt;&lt;img src="http://content5.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-2775007953916171989?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/2775007953916171989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=2775007953916171989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2775007953916171989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2775007953916171989'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/01/bug-with-singleton-and-bindinglist.html' title='Bug with singleton and BindingList'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-9135778169699607177</id><published>2008-01-23T09:17:00.001-08:00</published><updated>2008-01-23T09:17:33.873-08:00</updated><title type='text'>Bind - Part2</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:52E114A5-5C31-4F35-AEB9-EC0D920F99E4:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/848ece49-358e-4102-9c78-accd9bfcba8f/52E114A5-5C31-4F35-AEB9-EC0D920F99E4/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://msdn2.microsoft.com/en-us/library/ms993236.aspx" href="http://msdn2.microsoft.com/en-us/library/ms993236.aspx" style="font-size: 11px;"&gt;msdn2.microsoft.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://msdn2.microsoft.com/en-us/library/ms993236.aspx"&gt;&lt;H2 class="dtH1"&gt;BindingList&amp;lt;T&amp;gt;&lt;/H2&gt; &lt;P&gt;&lt;B&gt;BindingList&amp;lt;T&amp;gt;&lt;/B&gt; is a generic implementation of the &lt;B&gt;IBindingList&lt;/B&gt; interface (from the &lt;B&gt;System.ComponentModel&lt;/B&gt; namespace), the minimum interface required by the data binding infrastructure for list data sources to support editing. While &lt;B&gt;IList&lt;/B&gt; is the minimum interface required to implement a binding-capable list data source, it doesn't provide editing capability, which is fine when bound to a non-editable control like &lt;B&gt;ListBox&lt;/B&gt;. When bound to a control with full editing support like &lt;B&gt;DataGridView&lt;/B&gt;, however, the ability to edit in a list data source is a must, as well as support for features like sorting, searching, indexing, and change notification. &lt;B&gt;IBindingList&lt;/B&gt; derives from &lt;B&gt;IList&lt;/B&gt; and extends to provide all of this support:&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/52E114A5-5C31-4F35-AEB9-EC0D920F99E4/blog/" title="blog or email this clip"&gt;&lt;img src="http://content5.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-9135778169699607177?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/9135778169699607177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=9135778169699607177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/9135778169699607177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/9135778169699607177'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/01/bind-part2.html' title='Bind - Part2'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-4372747612100513056</id><published>2008-01-23T09:13:00.001-08:00</published><updated>2008-01-23T09:13:40.817-08:00</updated><title type='text'>Bind Business Object to Datagridview</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:DAA5F730-513D-484B-BA9F-B36D7D9694A2:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/a6795e54-1db8-40cb-a540-84f0924d1e84/DAA5F730-513D-484B-BA9F-B36D7D9694A2/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://msdn2.microsoft.com/en-us/library/ms951295.aspx" href="http://msdn2.microsoft.com/en-us/library/ms951295.aspx" style="font-size: 11px;"&gt;msdn2.microsoft.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://msdn2.microsoft.com/en-us/library/ms951295.aspx"&gt;So, to build the UI, we need to turn a single &lt;B&gt;Word&lt;/B&gt; type into a list data source, which should then be displayed through a suitable list or data grid style control. In this situation, I think the &lt;B&gt;DataGridView&lt;/B&gt; control is a great candidate. Next, we need to ensure any edits are synchronized between the &lt;B&gt;DataGridView&lt;/B&gt; and list data source. Because I'm anticipating a lot of data, a VCR-style control is needed to simplify navigation. Any such control should ensure that currency (current list position) is synchronized between it and the &lt;B&gt;DataGridView&lt;/B&gt; as navigation occurs in either.&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/DAA5F730-513D-484B-BA9F-B36D7D9694A2/blog/" title="blog or email this clip"&gt;&lt;img src="http://content1.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-4372747612100513056?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/4372747612100513056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=4372747612100513056' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/4372747612100513056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/4372747612100513056'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/01/bind-business-object-to-datagridview.html' title='Bind Business Object to Datagridview'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-3672904378971825376</id><published>2008-01-23T09:04:00.001-08:00</published><updated>2008-01-23T09:04:21.925-08:00</updated><title type='text'>BindingList&lt;T&gt;</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:4C005482-2AE5-42A6-A097-A3AC66F33213:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/75929717-2f2c-411d-9e70-ba5a51648288/4C005482-2AE5-42A6-A097-A3AC66F33213/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.gavaghan.org/blog/2007/07/17/use-inotifypropertychanged-with-bindinglist/" href="http://www.gavaghan.org/blog/2007/07/17/use-inotifypropertychanged-with-bindinglist/" style="font-size: 11px;"&gt;www.gavaghan.org&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.gavaghan.org/blog/2007/07/17/use-inotifypropertychanged-with-bindinglist/"&gt;&lt;P&gt;After reading Bil Simser’s discussion on &lt;A title="DataTable vs. BindingList" target="_blank" href="http://weblogs.asp.net/bsimser/archive/2007/04/04/datatable-vs-bindinglist-t.aspx"&gt;DataTable vs. BindingList&amp;lt;T&amp;gt;&lt;/A&gt;, I’m convinced that &lt;CODE&gt;BindingList&amp;lt;T&amp;gt;&lt;/CODE&gt; is the way to go for representing domain objects in C#. However, effective use of &lt;CODE&gt;BindingList&lt;/CODE&gt; &lt;EM&gt;does&lt;/EM&gt; require a certain amount of planning and forethought on the part of the developer. There are a number of things you can do to increase your chances of success with &lt;CODE&gt;BindingList&lt;/CODE&gt;, but this post is about having your list items implement &lt;CODE&gt;INotifyPropertyChanged&lt;/CODE&gt; in order to propagate change events through the &lt;CODE&gt;BindingList&lt;/CODE&gt; itself.&lt;/P&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.gavaghan.org/blog/2007/07/17/use-inotifypropertychanged-with-bindinglist/"&gt;&lt;BLOCKQUOTE class="codeblock"&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline0"&gt;&lt;P&gt;using System.ComponentModel;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="blankcodeline"&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline0"&gt;&lt;P&gt;public class Account : INotifyPropertyChanged&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline0"&gt;&lt;P&gt;{&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline1"&gt;&lt;P&gt;private decimal balance;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="blankcodeline"&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline1"&gt;&lt;P&gt;public event PropertyChangedEventHandler PropertyChanged;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="blankcodeline"&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline1"&gt;&lt;P&gt;public decimal Balance&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline1"&gt;&lt;P&gt;{&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline2"&gt;&lt;P&gt;get&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline2"&gt;&lt;P&gt;{&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline3"&gt;&lt;P&gt;return balance;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline2"&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline2"&gt;&lt;P&gt;set&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline2"&gt;&lt;P&gt;{&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline3"&gt;&lt;P&gt;balance = value;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline3"&gt;&lt;P&gt;if (PropertyChanged != null)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline3"&gt;&lt;P&gt;{&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline4"&gt;&lt;P&gt;PropertyChanged( this, new PropertyChangedEventArgs(”Balance”) );&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline3"&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline2"&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline1"&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BLOCKQUOTE class="codeline0"&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;/BLOCKQUOTE&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/4C005482-2AE5-42A6-A097-A3AC66F33213/blog/" title="blog or email this clip"&gt;&lt;img src="http://content346789.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-3672904378971825376?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/3672904378971825376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=3672904378971825376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3672904378971825376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3672904378971825376'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/01/bindinglist.html' title='BindingList&amp;lt;T&amp;gt;'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-5787481073848738590</id><published>2008-01-15T00:14:00.001-08:00</published><updated>2008-01-15T00:14:41.407-08:00</updated><title type='text'>Class extensions, statci method</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:4C5D6931-AA82-4648-B909-A408972D0542:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/e49fb9f9-d1a4-4575-a2ea-28f5148126b1/4C5D6931-AA82-4648-B909-A408972D0542/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://blogs.msdn.com/abhinaba/archive/2005/09/15/467926.aspx" href="http://blogs.msdn.com/abhinaba/archive/2005/09/15/467926.aspx" style="font-size: 11px;"&gt;blogs.msdn.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://blogs.msdn.com/abhinaba/archive/2005/09/15/467926.aspx"&gt;&lt;P&gt;After the declaration of C# 3.0 I went ahead and installed the &lt;A href="http://msdn.microsoft.com/vcsharp/future/"&gt;PDC bits&lt;/A&gt;. After reading through the &lt;A href="http://download.microsoft.com/download/9/5/0/9503e33e-fde6-4aed-b5d0-ffe749822f1b/csharp%203.0%20specification.doc"&gt;language spec&lt;/A&gt;. I was very very very unhappy. I mean we were just getting excited over C#2.0 supporting generics, anonymous mehtods, Nullable types and then suddenly someone ruins all the fun by showing us C#3.0. C#2.0 already appears stale. Some great blogs on this are from &lt;A href="http://blogs.msdn.com/cyrusn/archive/2005/09/13/465390.aspx"&gt;Cyrus&lt;/A&gt; and &lt;A href="http://blogs.msdn.com/mattwar/archive/2005/09/13/465095.aspx"&gt;Matt Warren&lt;/A&gt;&lt;/P&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://blogs.msdn.com/abhinaba/archive/2005/09/15/467926.aspx"&gt;&lt;PRE&gt;&lt;FONT size="2" color="#008080"&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT size="2" color="#008080"&gt;List&lt;/FONT&gt;&lt;FONT size="2"&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT size="2" color="#0000ff"&gt;string&lt;/FONT&gt;&lt;FONT size="2"&gt;&amp;gt; first = &lt;/FONT&gt;&lt;FONT size="2" color="#0000ff"&gt;new&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT size="2" color="#008080"&gt;List&lt;/FONT&gt;&lt;FONT size="2"&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT size="2" color="#0000ff"&gt;string&lt;/FONT&gt;&lt;FONT size="2"&gt;&amp;gt;();&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;first.AddRange (&lt;/FONT&gt;&lt;FONT size="2" color="#0000ff"&gt;new&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT size="2" color="#0000ff"&gt;string&lt;/FONT&gt;&lt;FONT size="2"&gt;[] {&lt;/FONT&gt;&lt;FONT size="2" color="#800000"&gt;"Hello"&lt;/FONT&gt;&lt;FONT size="2"&gt;, &lt;/FONT&gt;&lt;FONT size="2" color="#800000"&gt;"how"&lt;/FONT&gt;&lt;FONT size="2"&gt;});&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;STRONG&gt;first.Print();&lt;/STRONG&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/4C5D6931-AA82-4648-B909-A408972D0542/blog/" title="blog or email this clip"&gt;&lt;img src="http://content128225.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-5787481073848738590?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/5787481073848738590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=5787481073848738590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5787481073848738590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5787481073848738590'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/01/class-extensions-statci-method.html' title='Class extensions, statci method'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-2196196264694891603</id><published>2008-01-13T06:33:00.001-08:00</published><updated>2008-01-13T06:33:23.016-08:00</updated><title type='text'>Paste Special Catch Events</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:ACA53236-E91C-4C5A-89DD-576E57330EEE:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/d1dd95ec-dea0-4ba3-9bf4-b09a394cc5e5/ACA53236-E91C-4C5A-89DD-576E57330EEE/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.dailydoseofexcel.com/archives/2007/12/17/catching-paste-operations/" href="http://www.dailydoseofexcel.com/archives/2007/12/17/catching-paste-operations/" style="font-size: 11px;"&gt;www.dailydoseofexcel.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.dailydoseofexcel.com/archives/2007/12/17/catching-paste-operations/"&gt;&lt;P&gt;You know the situation: You have carefully setup a workbook with intricate Validation schemes. But then along comes your user and he copies and pastes at will. Result: Validation zapped, workbook structure violated.&lt;/P&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.dailydoseofexcel.com/archives/2007/12/17/catching-paste-operations/"&gt;&lt;P&gt;What to do? The only way I find to be reliable is to catch all possible paste operations. But this isn’t very easy, since there are a zilion ways to paste.&lt;/P&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.dailydoseofexcel.com/archives/2007/12/17/catching-paste-operations/"&gt;&lt;P&gt;I have put together a sample workbook and an &lt;A href="http://www.jkp-ads.com/articles/catchpaste.asp"&gt;explanatory article&lt;/A&gt; on how one could go about protecting a workbook by intercepting paste operations.&lt;/P&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.dailydoseofexcel.com/archives/2007/12/17/catching-paste-operations/"&gt;&lt;P&gt;Let me know what you think!!&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/ACA53236-E91C-4C5A-89DD-576E57330EEE/blog/" title="blog or email this clip"&gt;&lt;img src="http://content289318.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-2196196264694891603?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/2196196264694891603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=2196196264694891603' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2196196264694891603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2196196264694891603'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/01/paste-special-catch-events.html' title='Paste Special Catch Events'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-5327542091047264266</id><published>2008-01-11T23:37:00.001-08:00</published><updated>2008-01-11T23:37:57.276-08:00</updated><title type='text'>excel &gt; hook on pressed keys </title><content type='html'>&lt;div &gt; Ctrl+C , Ctrl+V , Ctrl+ X&lt;br/&gt;Copy, Paste, Paste special &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:29505B80-2F82-4CE7-8994-A257D9E4CBA6:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/7b5eb7d0-1696-4631-ba4e-474c1977b1eb/29505B80-2F82-4CE7-8994-A257D9E4CBA6/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_21521572.html?sfQueryTermInfo=1+copi+event+excel+hook" href="http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_21521572.html?sfQueryTermInfo=1+copi+event+excel+hook" style="font-size: 11px;"&gt;www.experts-exchange.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_21521572.html?sfQueryTermInfo=1+copi+event+excel+hook"&gt;&lt;DIV&gt;Have you considered using the Application.OnKey method? You can intercept just about any key press possible by using this method. Here is some of the description from &lt;SPAN class="searchTerm"&gt;Excel&lt;/SPAN&gt; help:&lt;/DIV&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_21521572.html?sfQueryTermInfo=1+copi+event+excel+hook"&gt;&lt;DIV&gt;Procedure   Optional Variant. A string indicating the name of the procedure to be run. If Procedure is "" (empty text), nothing happens when Key is pressed. This form of OnKey changes the normal result of keystrokes in Microsoft &lt;SPAN class="searchTerm"&gt;Excel&lt;/SPAN&gt;. If Procedure is omitted, Key reverts to its normal result in Microsoft &lt;SPAN class="searchTerm"&gt;Excel&lt;/SPAN&gt;, and any special key assignments made with previous OnKey methods are cleared.&lt;/DIV&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_21521572.html?sfQueryTermInfo=1+copi+event+excel+hook"&gt;Remarks&lt;BR /&gt;&lt;DIV&gt;The Key argument can specify any single key combined with ALT, CTRL, or SHIFT, or any combination of these keys. Each key is represented by one or more characters, such as "a" for the character a, or "{ENTER}" for the ENTER key.&lt;/DIV&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_21521572.html?sfQueryTermInfo=1+copi+event+excel+hook"&gt;&lt;DIV&gt;Runs a specified procedure when a particular key or key combination is pressed.&lt;/DIV&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_21521572.html?sfQueryTermInfo=1+copi+event+excel+hook"&gt;&lt;DIV&gt;expression.OnKey(Key, Procedure)&lt;/DIV&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_21521572.html?sfQueryTermInfo=1+copi+event+excel+hook"&gt;&lt;DIV&gt;expression   Required. An expression that returns an Application object.&lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/29505B80-2F82-4CE7-8994-A257D9E4CBA6/blog/" title="blog or email this clip"&gt;&lt;img src="http://content1.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-5327542091047264266?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/5327542091047264266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=5327542091047264266' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5327542091047264266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5327542091047264266'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/01/excel-hook-on-pressed-keys.html' title='excel &amp;gt; hook on pressed keys '/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-2171743950347102765</id><published>2008-01-11T23:27:00.001-08:00</published><updated>2008-01-11T23:27:07.079-08:00</updated><title type='text'>Events and windows messages in Excel </title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:F05E433E-F973-4613-8E9F-AC97818D9464:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/fc635710-df33-48d7-a102-c52ce9e189a3/F05E433E-F973-4613-8E9F-AC97818D9464/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_21521572.html?sfQueryTermInfo=1+copi+event+excel+hook" href="http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_21521572.html?sfQueryTermInfo=1+copi+event+excel+hook" style="font-size: 11px;"&gt;www.experts-exchange.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_21521572.html?sfQueryTermInfo=1+copi+event+excel+hook"&gt;&lt;DIV&gt;roos01, after reading about my abundance of memory do you think that is really worth doing? My declarations are as follows:&lt;/DIV&gt;&lt;BR /&gt;Module 2:&lt;BR /&gt;' KEYBOARD INPUT API DECLARES&lt;BR /&gt;Private Declare Sub keybd_&lt;SPAN class="searchTerm"&gt;event&lt;/SPAN&gt; Lib "User32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)&lt;BR /&gt;''^Presses any given key&lt;BR /&gt;Private Const KEYEVENTF_KEYUP As Integer = &amp;H2&lt;BR /&gt;Private Const VK_BACKSPACE As Integer = 8&lt;BR /&gt;Private Const VK_TAB As Integer = 9&lt;BR /&gt;Private Const VK_SHIFT As Integer = 16&lt;BR /&gt;Private Const VK_CONTROL As Integer = 17&lt;BR /&gt;Private Const VK_ALT As Integer = 18&lt;BR /&gt;Private Const VK_SUBTRACT As Integer = 109&lt;BR /&gt;Private Const VK_DEMICAL As Integer = 110&lt;BR /&gt;Private Const VK_F5 As Integer = 116&lt;BR /&gt;&lt;DIV&gt;Private Const VK_ACCENT As Integer = 192&lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/F05E433E-F973-4613-8E9F-AC97818D9464/blog/" title="blog or email this clip"&gt;&lt;img src="http://content4.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-2171743950347102765?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/2171743950347102765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=2171743950347102765' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2171743950347102765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2171743950347102765'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/01/events-and-windows-messages-in-excel.html' title='Events and windows messages in Excel '/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-3896702287717540207</id><published>2008-01-11T08:08:00.001-08:00</published><updated>2008-01-11T08:08:05.960-08:00</updated><title type='text'>Speed up VBA code tips</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:9C2B1E3C-2EC3-4497-999D-25E37FFBDFE8:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/216c5f77-9888-42d2-a5ed-5ebdb30082fc/9C2B1E3C-2EC3-4497-999D-25E37FFBDFE8/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.ozgrid.com/VBA/SpeedingUpVBACode.htm" href="http://www.ozgrid.com/VBA/SpeedingUpVBACode.htm" style="font-size: 11px;"&gt;www.ozgrid.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.ozgrid.com/VBA/SpeedingUpVBACode.htm"&gt;&lt;PRE&gt;&lt;B&gt;Sub StopAllEvents()&lt;/B&gt;&lt;br /&gt;	Application.EnableEvents = False&lt;br /&gt;	'Your code here.&lt;br /&gt;	Application.EnableEvents = True&lt;br /&gt;&lt;B&gt;End Sub&lt;/B&gt;&lt;/PRE&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/9C2B1E3C-2EC3-4497-999D-25E37FFBDFE8/blog/" title="blog or email this clip"&gt;&lt;img src="http://content93763.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-3896702287717540207?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/3896702287717540207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=3896702287717540207' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3896702287717540207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3896702287717540207'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/01/speed-up-vba-code-tips.html' title='Speed up VBA code tips'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-2547982198278616613</id><published>2008-01-06T06:01:00.001-08:00</published><updated>2008-01-06T06:01:07.838-08:00</updated><title type='text'>Future gmail improvements</title><content type='html'>&lt;div &gt; New chat&lt;br/&gt;All cached ... wow &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:972F514B-8BFE-4252-B377-2EEAEC23B0D2:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/516f3233-c1fe-4214-8cd2-f654404dc43c/972F514B-8BFE-4252-B377-2EEAEC23B0D2/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.builderau.com.au/video/soa/Gmail-Past-present-and-future/0,2000066230,22436913p,00.htm" href="http://www.builderau.com.au/video/soa/Gmail-Past-present-and-future/0,2000066230,22436913p,00.htm" style="font-size: 11px;"&gt;www.builderau.com.au&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.builderau.com.au/video/soa/Gmail-Past-present-and-future/0,2000066230,22436913p,00.htm"&gt;&lt;H1 id="video-title"&gt;Gmail: Past, present, and future&lt;/H1&gt;&lt;br /&gt;				&lt;P id="video-description"&gt;ZDNet Executive Editor David Berlind interviews Keith Coleman, Google's Gmail product manager, about the current status of Gmail and the future of this popular Google app. Coleman also covers other Gmail issues, including the rebuild of the Javascript engine and how strongly Google feels about users' data.&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/972F514B-8BFE-4252-B377-2EEAEC23B0D2/blog/" title="blog or email this clip"&gt;&lt;img src="http://content2.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-2547982198278616613?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/2547982198278616613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=2547982198278616613' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2547982198278616613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2547982198278616613'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/01/future-gmail-improvements.html' title='Future gmail improvements'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-5421504994615243330</id><published>2008-01-05T03:36:00.001-08:00</published><updated>2008-01-05T03:36:30.536-08:00</updated><title type='text'>Data Context - blog</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:92416DEF-AD3B-4DE1-94F9-9A4B0C3EB6C7:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/75fbb5d1-13f8-45e9-8ca2-5b6410ec2654/92416DEF-AD3B-4DE1-94F9-9A4B0C3EB6C7/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://blogs.msdn.com/charlie/archive/2007/12/10/understanding-the-datacontext.aspx" href="http://blogs.msdn.com/charlie/archive/2007/12/10/understanding-the-datacontext.aspx" style="font-size: 11px;"&gt;blogs.msdn.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://blogs.msdn.com/charlie/archive/2007/12/10/understanding-the-datacontext.aspx"&gt;&lt;H2&gt;The Customer and Order Entity Classes&lt;/H2&gt; &lt;P&gt;In the previous post we dragged the Customers class from the &lt;STRONG&gt;Northwnd&lt;/STRONG&gt; database onto the LINQ Object Relational Designer. A number of things happened when we did this:&lt;/P&gt; &lt;UL&gt; &lt;li style="margin-left:16px;padding-left: 0px;"&gt;A class called &lt;STRONG&gt;Customer&lt;/STRONG&gt; was created. This class maps directly to the &lt;STRONG&gt;Customers&lt;/STRONG&gt; table in the &lt;STRONG&gt;Northwnd&lt;/STRONG&gt; database.  &lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;The DataContext was modified. I will describe how it was modified later in this post.&lt;/LI&gt;&lt;/UL&gt; &lt;P&gt;When a developer accesses an instance of the &lt;B&gt;Customer&lt;/B&gt; class, it is almost as if they have direct access to the &lt;B&gt;Customer&lt;/B&gt; table in the database. Figure 1 shows the fields of the Customer table as they appear in the Object Relational Designer.  &lt;/P&gt;&lt;P&gt;&lt;A mce_href="http://blogs.msdn.com/blogfiles/charlie/WindowsLiveWriter/UnderstandingtheDataContext_584/image_2.png" href="http://blogs.msdn.com/blogfiles/charlie/WindowsLiveWriter/UnderstandingtheDataContext_584/image_2.png"&gt;&lt;IMG width="232" height="326" border="0" mce_src="http://blogs.msdn.com/blogfiles/charlie/WindowsLiveWriter/UnderstandingtheDataContext_584/image_thumb.png" src="http://blogs.msdn.com/blogfiles/charlie/WindowsLiveWriter/UnderstandingtheDataContext_584/image_thumb.png" alt="image" /&gt;&lt;/A&gt;&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/92416DEF-AD3B-4DE1-94F9-9A4B0C3EB6C7/blog/" title="blog or email this clip"&gt;&lt;img src="http://content2.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-5421504994615243330?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/5421504994615243330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=5421504994615243330' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5421504994615243330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5421504994615243330'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2008/01/data-context-blog.html' title='Data Context - blog'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12613863.post-7507502212632923052</id><published>2007-12-27T00:59:00.001-08:00</published><updated>2007-12-27T00:59:00.421-08:00</updated><title type='text'>List and delegates</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:42AF13EB-F787-4CFE-B182-40C5E7275135:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/88f40ab5-717b-417e-ae64-30e052f4653a/42AF13EB-F787-4CFE-B182-40C5E7275135/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://weblogs.asp.net/rternier/archive/2007/10/16/a-quick-refresher-on-list-lt-t-gt.aspx" href="http://weblogs.asp.net/rternier/archive/2007/10/16/a-quick-refresher-on-list-lt-t-gt.aspx" style="font-size: 11px;"&gt;weblogs.asp.net&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/rternier/archive/2007/10/16/a-quick-refresher-on-list-lt-t-gt.aspx"&gt;&lt;P&gt;System.Text.&lt;SPAN&gt;StringBuilder&lt;/SPAN&gt; sb = &lt;SPAN&gt;new&lt;/SPAN&gt; System.Text.&lt;SPAN&gt;StringBuilder&lt;/SPAN&gt;();&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   31&lt;/SPAN&gt;             sb.Append(&lt;SPAN&gt;"&amp;lt;h1&amp;gt;List As Is&amp;lt;/h1&amp;gt; using ForEach&amp;lt;br/&amp;gt; "&lt;/SPAN&gt;);&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   32&lt;/SPAN&gt;             sb.Append(&lt;SPAN&gt;"&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;"&lt;/SPAN&gt;);&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   33&lt;/SPAN&gt;             ninjas.ForEach(&lt;SPAN&gt;delegate&lt;/SPAN&gt;(&lt;SPAN&gt;Ninja&lt;/SPAN&gt; n) &lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   34&lt;/SPAN&gt;             {&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   35&lt;/SPAN&gt;                 sb.Append(&lt;SPAN&gt;String&lt;/SPAN&gt;.Format(&lt;SPAN&gt;"&amp;lt;li&amp;gt;{0}, ({1})&amp;lt;/li&amp;gt;"&lt;/SPAN&gt;, n._name, n._age));&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   36&lt;/SPAN&gt;             });&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   37&lt;/SPAN&gt;             sb.Append(&lt;SPAN&gt;"&amp;lt;/ul&amp;gt;&amp;lt;br/&amp;gt;"&lt;/SPAN&gt;);&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   38&lt;/SPAN&gt; &lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   39&lt;/SPAN&gt;             &lt;SPAN&gt;///////////////////////////////////////&lt;/SPAN&gt;&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   40&lt;/SPAN&gt;             sb.Append(&lt;SPAN&gt;"&amp;lt;h1&amp;gt;Age is greater or equal to 0&amp;lt;/h1&amp;gt;using FindAll,and foreach&amp;lt;br/&amp;gt; "&lt;/SPAN&gt;);&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   41&lt;/SPAN&gt;             sb.Append(&lt;SPAN&gt;"&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;"&lt;/SPAN&gt;);&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   42&lt;/SPAN&gt;             &lt;SPAN&gt;List&lt;/SPAN&gt;&amp;lt;&lt;SPAN&gt;Ninja&lt;/SPAN&gt;&amp;gt; thoseAlive = ninjas.FindAll(&lt;SPAN&gt;delegate&lt;/SPAN&gt;(&lt;SPAN&gt;Ninja&lt;/SPAN&gt; n)&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   43&lt;/SPAN&gt;             {&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   44&lt;/SPAN&gt;                 &lt;SPAN&gt;return&lt;/SPAN&gt; n._age &amp;gt;= &lt;SPAN&gt;0&lt;/SPAN&gt;;&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   45&lt;/SPAN&gt;             });&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   46&lt;/SPAN&gt;             thoseAlive.ForEach(&lt;SPAN&gt;delegate&lt;/SPAN&gt;(&lt;SPAN&gt;Ninja&lt;/SPAN&gt; n)&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   47&lt;/SPAN&gt;             {&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   48&lt;/SPAN&gt;                 sb.Append(&lt;SPAN&gt;String&lt;/SPAN&gt;.Format(&lt;SPAN&gt;"&amp;lt;li&amp;gt;{0}, ({1})&amp;lt;/li&amp;gt;"&lt;/SPAN&gt;, n._name, n._age));&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   49&lt;/SPAN&gt;             });&lt;/p&gt; &lt;P&gt;&lt;SPAN&gt;   50&lt;/SPAN&gt;             sb.Append(&lt;SPAN&gt;"&amp;lt;/ul&amp;gt;&amp;lt;br/&amp;gt;"&lt;/SPAN&gt;);&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/42AF13EB-F787-4CFE-B182-40C5E7275135/blog/" title="blog or email this clip"&gt;&lt;img src="http://content65046.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-7507502212632923052?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/7507502212632923052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=7507502212632923052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/7507502212632923052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/7507502212632923052'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/12/list-and-delegates.html' title='List and delegates'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-4657327879164650780</id><published>2007-12-16T09:54:00.001-08:00</published><updated>2007-12-16T09:54:33.999-08:00</updated><title type='text'>Async upload file</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:4B59D8E3-95D5-484B-8103-8B9F602F515E:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/182b1e67-c51f-4d3e-8df1-a8e64d9107ff/4B59D8E3-95D5-484B-8103-8B9F602F515E/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://jeffzon.net/Blog/post.aspx?id=b832971f-691f-48cc-abc4-c5a68a042163" href="http://jeffzon.net/Blog/post.aspx?id=b832971f-691f-48cc-abc4-c5a68a042163" style="font-size: 11px;"&gt;jeffzon.net&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://jeffzon.net/Blog/post.aspx?id=b832971f-691f-48cc-abc4-c5a68a042163"&gt;&lt;H1&gt;&lt;A class="taggedlink" href="/Blog/post/Let-UpdatePanel-support-file-uploading-(1)-Let's-Get-Started.aspx"&gt;Let UpdatePanel support file uploading (1): Let's Get Started&lt;/A&gt;&lt;/H1&gt;&lt;br /&gt;  &lt;SPAN class="author"&gt;by &lt;A href="http://www.jeffzon.net/Blog/author/Jeffrey Zhao.aspx"&gt;Jeffrey Zhao&lt;/A&gt;&lt;/SPAN&gt;&lt;br /&gt;  &lt;SPAN class="pubDate"&gt;30. March 2007 11:15&lt;/SPAN&gt;&lt;br /&gt;&lt;DIV class="text"&gt;&lt;br /&gt;		&lt;P&gt;UpdatePanel cannot be used to upload files in ajax style from the very beginning. &lt;A href="http://weblogs.asp.net/leftslipper/"&gt;Eilon Lipton&lt;/A&gt; has written &lt;A href="http://weblogs.asp.net/leftslipper/archive/2007/03/30/why-don-t-file-uploads-work-during-async-postbacks.aspx"&gt;a blog post&lt;/A&gt; to explain the reason of that. As the post said, the two workarounds to resolve the problem are:&lt;/p&gt; &lt;OL&gt;&lt;br /&gt;				&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Have a dedicated "Upload" button that does a regular postback instead of an async postback. You can achieve this using several techniques: Have the button be outside all UpdatePanels; have the button be the target of an UpdatePanel's PostBackTrigger; or call ScriptManager.RegisterPostBackControl() on it. &lt;br /&gt;&lt;/LI&gt;&lt;br /&gt;				&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Have a dedicated file upload page that doesn't have any UpdatePanels. Many web sites already do this anyway.&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/4B59D8E3-95D5-484B-8103-8B9F602F515E/blog/" title="blog or email this clip"&gt;&lt;img src="http://content3.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-4657327879164650780?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/4657327879164650780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=4657327879164650780' title='41 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/4657327879164650780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/4657327879164650780'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/12/async-upload-file.html' title='Async upload file'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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>41</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12613863.post-3315315178697052072</id><published>2007-12-15T02:51:00.001-08:00</published><updated>2007-12-15T02:51:47.296-08:00</updated><title type='text'>C# Microsoft have added features that makes the language just a little bit dynamic </title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:77971A57-F191-4DCD-8414-9603F2DB9BB4:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/bbe8d3ab-9474-4d6b-b64c-a7782dd25ccb/77971A57-F191-4DCD-8414-9603F2DB9BB4/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://forum.cornerstone.se/blogs/cornerstones_utvecklarblogg/archive/2007/11/11/having-fun-with-anonymous-types-and-extension-methods-in-c-3-0.aspx" href="http://forum.cornerstone.se/blogs/cornerstones_utvecklarblogg/archive/2007/11/11/having-fun-with-anonymous-types-and-extension-methods-in-c-3-0.aspx" style="font-size: 11px;"&gt;forum.cornerstone.se&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://forum.cornerstone.se/blogs/cornerstones_utvecklarblogg/archive/2007/11/11/having-fun-with-anonymous-types-and-extension-methods-in-c-3-0.aspx"&gt;&lt;DIV&gt;&lt;SPAN&gt;Dictionary&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;string&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;string&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt; dic &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN&gt;new&lt;/SPAN&gt;&lt;SPAN&gt; Dictionary&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;string&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;string&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;br /&gt;                                .Init(&lt;/SPAN&gt;&lt;SPAN&gt;new&lt;/SPAN&gt;&lt;SPAN&gt; {&lt;br /&gt;                                       Key1 &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;val1&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;br /&gt;                                       Key2 &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;val3&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;&lt;br /&gt;                                 });&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://forum.cornerstone.se/blogs/cornerstones_utvecklarblogg/archive/2007/11/11/having-fun-with-anonymous-types-and-extension-methods-in-c-3-0.aspx"&gt;&lt;P&gt;For version 3.0 of C# Microsoft have added features that makes the language just a little bit dynamic but still strongly typed. One of this feature is collection initializers for lists and dictionaries like we initialized arrays on earlier versions: &lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/77971A57-F191-4DCD-8414-9603F2DB9BB4/blog/" title="blog or email this clip"&gt;&lt;img src="http://content2.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-3315315178697052072?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/3315315178697052072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=3315315178697052072' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3315315178697052072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3315315178697052072'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/12/c-microsoft-have-added-features-that.html' title='C# Microsoft have added features that makes the language just a little bit dynamic '/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-681727509852591055</id><published>2007-12-10T04:09:00.001-08:00</published><updated>2007-12-10T04:09:00.092-08:00</updated><title type='text'>ASP.NET MVC has arrived</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:F2A99AD6-4880-4B5E-9C9A-401E88BFEF4F:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/0b1d4802-f5b6-4063-8d48-4933793a239c/F2A99AD6-4880-4B5E-9C9A-401E88BFEF4F/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://blogs.msdn.com/brada/archive/2007/12/09/the-wait-is-over-asp-net-3-5-extensions-preview-posted.aspx" href="http://blogs.msdn.com/brada/archive/2007/12/09/the-wait-is-over-asp-net-3-5-extensions-preview-posted.aspx" style="font-size: 11px;"&gt;blogs.msdn.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://blogs.msdn.com/brada/archive/2007/12/09/the-wait-is-over-asp-net-3-5-extensions-preview-posted.aspx"&gt;&lt;P&gt;Ok, ok, it took us a little longer than we expected, but we finally got the &lt;A href="http://www.asp.net/downloads/3.5-extensions/"&gt;ASP.NET 3.5 Extension Preview posted&lt;/A&gt;! This is the release with all the MVC goodness you have been hearing about as well as some very cool stuff  such as Dynamic Data controls which makes building data driven web applications a breeze, AJAX history support, ADO.NET Data Services (aka Astoria), the ADO.NET Entity Framework and updated ASP.NET support for Silverlight.&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/F2A99AD6-4880-4B5E-9C9A-401E88BFEF4F/blog/" title="blog or email this clip"&gt;&lt;img src="http://content159789.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-681727509852591055?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/681727509852591055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=681727509852591055' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/681727509852591055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/681727509852591055'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/12/aspnet-mvc-has-arrived.html' title='ASP.NET MVC has arrived'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-2986905052136990583</id><published>2007-12-07T03:04:00.001-08:00</published><updated>2007-12-07T03:04:52.865-08:00</updated><title type='text'>Dynamic Query Reflection within Linq</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:FD1A2ED0-2CA2-4B9E-9DF4-52B04474719E:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/b4d25c62-0e15-4324-890f-275467fd47f6/FD1A2ED0-2CA2-4B9E-9DF4-52B04474719E/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.west-wind.com/WebLog/posts/134706.aspx" href="http://www.west-wind.com/WebLog/posts/134706.aspx" style="font-size: 11px;"&gt;www.west-wind.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.west-wind.com/WebLog/posts/134706.aspx"&gt;&lt;DIV&gt;As I suggested in my comment on the last blog post - read the docs and samples...and failing that ask a question on the LINQ forums: &lt;A href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=123&amp;SiteID=1"&gt;http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=123&amp;SiteID=1&lt;/A&gt;  &lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;Even Anders hangs out on that forum - so you will get help if you ask a question on it. ;-)&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;Daniel Moth has a good pointer to some LINQ samples you can use: &lt;A href="http://www.danielmoth.com/Blog/2007/08/linq-samples.html"&gt;http://www.danielmoth.com/Blog/2007/08/linq-samples.html&lt;/A&gt;  One of these LINQ samples is called "DynamicQuery", and it provides a useful library that enables you to write dynamic LINQ expressions that enable you to accomplish what you are after above.&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;For example, you could write: &lt;/DIV&gt;&lt;BR /&gt;var query =&lt;BR /&gt;    db.Customers.&lt;BR /&gt;    Where("City = @0 and Orders.Count &amp;gt;= @1", "London", 10).&lt;BR /&gt;    OrderBy("CompanyName").&lt;BR /&gt;&lt;DIV&gt;    Select("new(CompanyName as Name, Phone)");&lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/FD1A2ED0-2CA2-4B9E-9DF4-52B04474719E/blog/" title="blog or email this clip"&gt;&lt;img src="http://content1.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-2986905052136990583?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/2986905052136990583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=2986905052136990583' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2986905052136990583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2986905052136990583'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/12/dynamic-query-reflection-within-linq_07.html' title='Dynamic Query Reflection within Linq'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-6712502824898660643</id><published>2007-12-07T02:57:00.001-08:00</published><updated>2007-12-07T02:57:59.517-08:00</updated><title type='text'>Dynamic Query Reflection within Linq</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:FD1A2ED0-2CA2-4B9E-9DF4-52B04474719E:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/8bfcc94e-a187-4687-bd9d-e3b9eb144859/FD1A2ED0-2CA2-4B9E-9DF4-52B04474719E/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.west-wind.com/WebLog/posts/134706.aspx" href="http://www.west-wind.com/WebLog/posts/134706.aspx" style="font-size: 11px;"&gt;www.west-wind.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.west-wind.com/WebLog/posts/134706.aspx"&gt;&lt;DIV&gt;As I suggested in my comment on the last blog post - read the docs and samples...and failing that ask a question on the LINQ forums: &lt;A href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=123&amp;SiteID=1"&gt;http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=123&amp;SiteID=1&lt;/A&gt;  &lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;Even Anders hangs out on that forum - so you will get help if you ask a question on it. ;-)&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;Daniel Moth has a good pointer to some LINQ samples you can use: &lt;A href="http://www.danielmoth.com/Blog/2007/08/linq-samples.html"&gt;http://www.danielmoth.com/Blog/2007/08/linq-samples.html&lt;/A&gt;  One of these LINQ samples is called "DynamicQuery", and it provides a useful library that enables you to write dynamic LINQ expressions that enable you to accomplish what you are after above.&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;For example, you could write: &lt;/DIV&gt;&lt;BR /&gt;var query =&lt;BR /&gt;    db.Customers.&lt;BR /&gt;    Where("City = @0 and Orders.Count &amp;gt;= @1", "London", 10).&lt;BR /&gt;    OrderBy("CompanyName").&lt;BR /&gt;&lt;DIV&gt;    Select("new(CompanyName as Name, Phone)");&lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/FD1A2ED0-2CA2-4B9E-9DF4-52B04474719E/blog/" title="blog or email this clip"&gt;&lt;img src="http://content3.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-6712502824898660643?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/6712502824898660643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=6712502824898660643' title='26 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6712502824898660643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6712502824898660643'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/12/dynamic-query-reflection-within-linq.html' title='Dynamic Query Reflection within Linq'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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>26</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12613863.post-1349612535999916192</id><published>2007-12-07T02:51:00.001-08:00</published><updated>2007-12-07T02:51:15.645-08:00</updated><title type='text'>Lambda Expression for C# 3.0</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:4BE669EE-0D07-4E2A-9464-937AA75A9977:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/b87163e2-26a0-4ccb-a3f1-14c6541f94dc/4BE669EE-0D07-4E2A-9464-937AA75A9977/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://blogs.clearscreen.com/jfbonnin/archive/2007/04/12/6287.aspx#10051" href="http://blogs.clearscreen.com/jfbonnin/archive/2007/04/12/6287.aspx#10051" style="font-size: 11px;"&gt;blogs.clearscreen.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://blogs.clearscreen.com/jfbonnin/archive/2007/04/12/6287.aspx#10051"&gt;&lt;P&gt;&lt;EM&gt;"A lambda is an inline expression or statement block with a concise syntax that can be used in C# 3.0 and later wherever a delegate type is expected" . &lt;/EM&gt;In a certain way we can consider Lambda Expressions as an evolution of the anonymous methods.&lt;/p&gt; &lt;P&gt;Look the examples below, at first sight the syntax looks very weird but when you know how they are built and you get used, you will see that it's extremely easy. &lt;/p&gt; &lt;P&gt;x =&amp;gt; x + 1 &lt;/p&gt; &lt;P&gt;x =&amp;gt; { return x + 1; } &lt;/p&gt; &lt;P&gt;(x, y) =&amp;gt; x == y &lt;/p&gt; &lt;P&gt;(int x, int y) =&amp;gt; x * y &lt;/p&gt; &lt;P&gt;() =&amp;gt; ExecuteAnyMethod(); &lt;/p&gt; &lt;P&gt;Maybe you already noticed that a lambda consist of a list of input parameters, the operator "=&amp;gt;" (goes to) and a expression or statement. In the form of: &lt;/p&gt; &lt;BLOCKQUOTE&gt;&lt;br /&gt;&lt;P&gt;(input parameters) =&amp;gt; Expression or Statement.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;P&gt;The list of parameters is optional, and you don't need to specify the types of the parameters in the cases where the type can be inferred. Parenthesis are also optional when we only specify one parameter.&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/4BE669EE-0D07-4E2A-9464-937AA75A9977/blog/" title="blog or email this clip"&gt;&lt;img src="http://content4.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-1349612535999916192?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/1349612535999916192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=1349612535999916192' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/1349612535999916192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/1349612535999916192'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/12/lambda-expression-for-c-30.html' title='Lambda Expression for C# 3.0'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-8811897903394156243</id><published>2007-12-04T07:51:00.001-08:00</published><updated>2007-12-04T07:51:27.946-08:00</updated><title type='text'>nice tutorial - keep in mind</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:CDAB2440-E921-4E05-9D4D-58A57662A0F0:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/71d72da6-0f66-4f28-a11a-372ab800415e/CDAB2440-E921-4E05-9D4D-58A57662A0F0/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.java2s.com/Tutorial/CSharp/0100__String/UseStringFormattoformatavalue.htm" href="http://www.java2s.com/Tutorial/CSharp/0100__String/UseStringFormattoformatavalue.htm" style="font-size: 11px;"&gt;www.java2s.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.java2s.com/Tutorial/CSharp/0100__String/UseStringFormattoformatavalue.htm"&gt;&lt;TABLE class="leftBarFolderTable"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD valign="top"&gt;1. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0020__Language-Basics/Catalog0020__Language-Basics.htm"&gt;Language Basics&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;2. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0040__Data-Type/Catalog0040__Data-Type.htm"&gt;Data Type&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;3. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0060__Operator/Catalog0060__Operator.htm"&gt;Operator&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;4. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0080__Statement/Catalog0080__Statement.htm"&gt;Statement&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;5. &lt;/TD&gt;&lt;TD&gt;&lt;B&gt;String&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;6. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0120__struct/Catalog0120__struct.htm"&gt;struct&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;7. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0140__Class/Catalog0140__Class.htm"&gt;Class&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;8. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0160__Operator-Overload/Catalog0160__Operator-Overload.htm"&gt;Operator Overload&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;9. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0180__delegate/Catalog0180__delegate.htm"&gt;delegate&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;10. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0200__Attribute/Catalog0200__Attribute.htm"&gt;Attribute&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;11. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0220__Data-Structure/Catalog0220__Data-Structure.htm"&gt;Data Structure&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;12. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0240__Assembly/Catalog0240__Assembly.htm"&gt;Assembly&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;13. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0260__Date-Time/Catalog0260__Date-Time.htm"&gt;Date Time&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;14. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0280__Development/Catalog0280__Development.htm"&gt;Development&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;15. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0300__File-Directory-Stream/Catalog0300__File-Directory-Stream.htm"&gt;File Directory Stream&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;16. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0340__Preprocessing-Directives/Catalog0340__Preprocessing-Directives.htm"&gt;Preprocessing Directives&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;17. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0360__Regular-Expression/Catalog0360__Regular-Expression.htm"&gt;Regular Expression&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;18. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0380__Generic/Catalog0380__Generic.htm"&gt;Generic&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;19. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0400__Reflection/Catalog0400__Reflection.htm"&gt;Reflection&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;20. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0420__Thread/Catalog0420__Thread.htm"&gt;Thread&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;21. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0440__I18N-Internationalization/Catalog0440__I18N-Internationalization.htm"&gt;I18N Internationalization&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;22. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0460__GUI-Windows-Forms/Catalog0460__GUI-Windows-Forms.htm"&gt;GUI Windows Forms&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;23. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0480__2D/Catalog0480__2D.htm"&gt;2D&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;24. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0500__Design-Patterns/Catalog0500__Design-Patterns.htm"&gt;Design Patterns&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;25. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0520__Windows/Catalog0520__Windows.htm"&gt;Windows&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;26. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0540__XML/Catalog0540__XML.htm"&gt;XML&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;27. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0560__ADO.Net/Catalog0560__ADO.Net.htm"&gt;ADO.Net&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;28. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0580__Network/Catalog0580__Network.htm"&gt;Network&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;29. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0581__Directory-Services/Catalog0581__Directory-Services.htm"&gt;Directory Services&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;30. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0600__Security/Catalog0600__Security.htm"&gt;Security&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top"&gt;31. &lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.java2s.com/Tutorial/CSharp/0620__unsafe/Catalog0620__unsafe.htm"&gt;unsafe&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/CDAB2440-E921-4E05-9D4D-58A57662A0F0/blog/" title="blog or email this clip"&gt;&lt;img src="http://content3.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-8811897903394156243?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/8811897903394156243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=8811897903394156243' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8811897903394156243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8811897903394156243'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/12/nice-tutorial-keep-in-mind.html' title='nice tutorial - keep in mind'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-610290986741803809</id><published>2007-12-01T12:51:00.001-08:00</published><updated>2007-12-01T12:51:06.614-08:00</updated><title type='text'>.NET quiz for geeks</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:C9C79AAE-8774-4CAF-AF58-DBD607C39280:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/b7df2dde-02c5-4677-883a-5afeffee034f/C9C79AAE-8774-4CAF-AF58-DBD607C39280/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.ayende.com/Blog/archive/2005/02/22/8756.aspx" href="http://www.ayende.com/Blog/archive/2005/02/22/8756.aspx" style="font-size: 11px;"&gt;www.ayende.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.ayende.com/Blog/archive/2005/02/22/8756.aspx"&gt;&lt;P&gt;&lt;A href="http://www.geekswithblogs.net/meshel/archive/2005/02/22/24071.aspx" id="viewpost.ascx_TitleUrl"&gt;Scot Hanselman&lt;/A&gt; has a list of question that you would interview a .Net candidate with. Here are my answers (without using MSDN/Google/Help/etc, just my head): &lt;/P&gt;&lt;P&gt;    There are 102 questions, I couldn't answer 20 of them (19.6%), (you judge if I was correct or not). &lt;/P&gt;&lt;P&gt;    I'm weak in ASP.Net &amp; Xml, but that is no surprise to me.&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/C9C79AAE-8774-4CAF-AF58-DBD607C39280/blog/" title="blog or email this clip"&gt;&lt;img src="http://content21678.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-610290986741803809?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/610290986741803809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=610290986741803809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/610290986741803809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/610290986741803809'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/12/net-quiz-for-geeks.html' title='.NET quiz for geeks'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-3385068355301558138</id><published>2007-11-30T06:33:00.001-08:00</published><updated>2007-11-30T06:33:02.380-08:00</updated><title type='text'>diving into LINQ </title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:AF8F40F5-14CB-4B44-8859-93EEE28BBADD:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/9dcb34ab-a57f-465d-bcc2-d4c0218a7571/AF8F40F5-14CB-4B44-8859-93EEE28BBADD/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.code-magazine.com/articleprint.aspx?quickid=070153&amp;printmode=true" href="http://www.code-magazine.com/articleprint.aspx?quickid=070153&amp;printmode=true" style="font-size: 11px;"&gt;www.code-magazine.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.code-magazine.com/articleprint.aspx?quickid=070153&amp;printmode=true"&gt;&lt;div align="center"&gt;&lt;img src="http://content13595.clipmarks.com/blog_cache/www.code-magazine.com/img/6BEF39B1-7643-492C-9EAA-43E366353A49" alt="" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.code-magazine.com/articleprint.aspx?quickid=070153&amp;printmode=true"&gt;&lt;FONT size="2" face="Verdana, Arial, Helvetica, sans-serif" xxx=""&gt;In my last column I talked about LINQ as the key feature in .NET 3.5. ASP.NET 3.5 is not going to see a whole bunch of new features only just a few new controls and the roll up of some of the slip stream features like Microsoft ASP.NET AJAX and IIS 7 support directly rolled into the .NET framework. The big news in ASP.NET 3.5, and .NET 3.5 in general, is LINQ and its related new features. In the last column I introduced some key features of LINQ and why I think it’s easily the most important feature in .NET 3.5. This time I’ll take a closer look at the data specific LINQ features in LINQ to SQL.&lt;/FONT&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.code-magazine.com/articleprint.aspx?quickid=070153&amp;printmode=true"&gt;&lt;B&gt;Unwrapping LINQ to SQL&lt;/B&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/AF8F40F5-14CB-4B44-8859-93EEE28BBADD/blog/" title="blog or email this clip"&gt;&lt;img src="http://content13596.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-3385068355301558138?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/3385068355301558138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=3385068355301558138' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3385068355301558138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3385068355301558138'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/diving-into-linq.html' title='diving into LINQ '/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12613863.post-5280415433240835247</id><published>2007-11-30T01:25:00.001-08:00</published><updated>2007-11-30T01:25:31.204-08:00</updated><title type='text'>clean CSS separation</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:AC8894ED-9DE2-4FA4-B7D4-26DD633557E3:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/7444335e-4f60-4e38-ba93-0dc77cddcc6e/AC8894ED-9DE2-4FA4-B7D4-26DD633557E3/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://weblogs.asp.net/scottgu/archive/2007/07/25/vs-2008-web-designer-and-css-support.aspx" href="http://weblogs.asp.net/scottgu/archive/2007/07/25/vs-2008-web-designer-and-css-support.aspx" style="font-size: 11px;"&gt;weblogs.asp.net&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/07/25/vs-2008-web-designer-and-css-support.aspx"&gt;&lt;H2 class="pageTitle"&gt;&lt;br /&gt;       VS 2008 Web Designer and CSS Support               &lt;br /&gt;    &lt;/H2&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/07/25/vs-2008-web-designer-and-css-support.aspx"&gt;&lt;FONT size="2" face="arial"&gt;One of the big features that web developers will quickly discover with VS 2008 is its dramatically improved HTML designer, and the rich CSS support it brings.   &lt;/FONT&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/07/25/vs-2008-web-designer-and-css-support.aspx"&gt;&lt;FONT size="2" face="arial"&gt;VS 2008 now uses the same web designer that ships with Microsoft's new &lt;A target="_blank" href="http://www.microsoft.com/expression/products/overview.aspx?key=web"&gt;Expression Web&lt;/A&gt; product.  In addition to providing lots of new functionality, you'll also find that this web designer is much faster than the VS 2005 version (which was based on a much older code base).  &lt;/FONT&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/07/25/vs-2008-web-designer-and-css-support.aspx"&gt;&lt;div align="center"&gt;&lt;img src="http://content5.clipmarks.com/blog_cache/weblogs.asp.net/img/B1057D6E-945B-4140-A455-A01085B235D7" alt="" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/07/25/vs-2008-web-designer-and-css-support.aspx"&gt;&lt;FONT size="2" face="arial"&gt;VS 2008 supports a new tool window inside the IDE called "Manage Styles".  This shows all of the CSS stylesheets, and their corresponding rules, for the page you are currently editing.  It can be used both when you are in design-view, as well as when you are in source view on a page:  &lt;/FONT&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/07/25/vs-2008-web-designer-and-css-support.aspx"&gt;&lt;div align="center"&gt;&lt;img src="http://content1.clipmarks.com/blog_cache/weblogs.asp.net/img/D0683A64-F6E8-4E15-A8BD-FC08E12FCC56" alt="" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/AC8894ED-9DE2-4FA4-B7D4-26DD633557E3/blog/" title="blog or email this clip"&gt;&lt;img src="http://content2.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-5280415433240835247?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/5280415433240835247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=5280415433240835247' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5280415433240835247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5280415433240835247'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/clean-css-separation.html' title='clean CSS separation'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-5931550800542445367</id><published>2007-11-28T13:11:00.001-08:00</published><updated>2007-11-28T13:11:05.251-08:00</updated><title type='text'>MVC in ASP.NET part 2</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:23350AD7-F11A-4F4F-98EC-EC86DEB52E73:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/1890af0b-e381-402a-8ed1-3c1c1c022672/23350AD7-F11A-4F4F-98EC-EC86DEB52E73/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx" href="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx" style="font-size: 11px;"&gt;weblogs.asp.net&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx"&gt;&lt;FONT size="2" face="arial"&gt;The ASP.NET MVC Framework enables you to use any data access pattern or framework you want in order to retrieve and manage your models.  If you want to use ADO.NET DataSets/DataReaders (or abstractions built on top of them) you can.  If you prefer to use an object relational mapper (ORM) like NHibernate, LLBLGen, WilsonORMapper, LINQ to SQL/LINQ to Entities you can absolutely use those as well.&lt;/FONT&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx"&gt;&lt;FONT size="2" face="arial"&gt;For our e-commerce sample application I'm going to use the built-in LINQ to SQL ORM shipped in .NET 3.5 and VS 2008.  You can learn more about LINQ to SQL from &lt;A target="_blank" href="http://weblogs.asp.net/scottgu/archive/2007/09/07/linq-to-sql-part-9-using-a-custom-linq-expression-with-the-lt-asp-linqdatasource-gt-control.aspx"&gt;my ongoing blog tutorial series&lt;/A&gt; that covers it (in particular make sure to check out my &lt;A target="_blank" href="http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx"&gt;Part1&lt;/A&gt;, &lt;A target="_blank" href="http://weblogs.asp.net/scottgu/archive/2007/05/29/linq-to-sql-part-2-defining-our-data-model-classes.aspx"&gt;Part2&lt;/A&gt;, &lt;A target="_blank" href="http://weblogs.asp.net/scottgu/archive/2007/06/29/linq-to-sql-part-3-querying-our-database.aspx"&gt;Part3&lt;/A&gt; and &lt;A target="_blank" href="http://weblogs.asp.net/scottgu/archive/2007/07/11/linq-to-sql-part-4-updating-our-database.aspx"&gt;Part4&lt;/A&gt; posts).  &lt;/FONT&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx"&gt;&lt;div align="center"&gt;&lt;img src="http://content4.clipmarks.com/blog_cache/weblogs.asp.net/img/FF2F12F7-30A1-43B8-9280-8D916DFFB888" alt="" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx"&gt;&lt;U&gt;Mapping URL Parameters to Controller Action Methods&lt;/U&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/23350AD7-F11A-4F4F-98EC-EC86DEB52E73/blog/" title="blog or email this clip"&gt;&lt;img src="http://content5.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-5931550800542445367?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/5931550800542445367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=5931550800542445367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5931550800542445367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5931550800542445367'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/mvc-in-aspnet-part-2.html' title='MVC in ASP.NET part 2'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-5681400631519727857</id><published>2007-11-28T13:02:00.001-08:00</published><updated>2007-11-28T13:02:22.232-08:00</updated><title type='text'>MVC in ASP.NET</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:C6B7D7CB-D8CE-4138-84E1-7F87908179EA:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/d511265c-7bb0-4011-88f8-ebc71974bb0f/C6B7D7CB-D8CE-4138-84E1-7F87908179EA/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx" href="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx" style="font-size: 11px;"&gt;weblogs.asp.net&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx"&gt;&lt;FONT size="2" face="arial"&gt;In most web frameworks (ASP, PHP, JSP, ASP.NET WebForms, etc), incoming URLs typically map to template files stored on disk.  For example, a "/Products.aspx" or "/Products.php" URL typically has an underlying Products.aspx or Products.php template file on disk that handles processing it.  When a http request for a web application comes into the web server, the web framework runs code specified by the template file on disk, and this code then owns handling the processing of the request.  Often this code uses the HTML markup within the Products.aspx or Products.php file to help with generating the response sent back to the client.&lt;/FONT&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx"&gt;&lt;div align="center"&gt;&lt;img src="http://content1.clipmarks.com/blog_cache/weblogs.asp.net/img/9D556B3F-5A12-44AA-BFC6-AC8386F33F72" alt="" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx"&gt;&lt;div align="center"&gt;&lt;img src="http://content2.clipmarks.com/blog_cache/weblogs.asp.net/img/71095DD3-EB33-4C2E-B1D1-A7B5104839E0" alt="" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/C6B7D7CB-D8CE-4138-84E1-7F87908179EA/blog/" title="blog or email this clip"&gt;&lt;img src="http://content3.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-5681400631519727857?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/5681400631519727857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=5681400631519727857' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5681400631519727857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5681400631519727857'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/mvc-in-aspnet.html' title='MVC in ASP.NET'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-8931065489455979873</id><published>2007-11-28T07:03:00.001-08:00</published><updated>2007-11-28T07:03:46.782-08:00</updated><title type='text'>Avoid Loops  in Excel</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:CB88B573-A653-4366-B936-BE7DB2B130EF:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/894e1316-1ae4-4fee-920a-051b99149f55/CB88B573-A653-4366-B936-BE7DB2B130EF/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.ozgrid.com/VBA/VBALoops.htm" href="http://www.ozgrid.com/VBA/VBALoops.htm" style="font-size: 11px;"&gt;www.ozgrid.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.ozgrid.com/VBA/VBALoops.htm"&gt;To put it bluntly &lt;B&gt;I very often avoid Loops&lt;/B&gt;, they are far too &lt;br /&gt;	slow in many cases. A common mistake we all make when first learning VBA is to use Loops when we really shouldn't. Take the simple example below for instance. It Loops through a range and places the word "Blank" in each blank cell within a&lt;br /&gt;	&lt;B&gt;used range&lt;/B&gt;, i.e it assumes the last occupied cell is D500&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.ozgrid.com/VBA/VBALoops.htm"&gt;&lt;PRE&gt;&lt;B&gt;Sub WrongWay()&lt;/B&gt;&lt;br /&gt;Dim Bcell As Range&lt;br /&gt;   For Each Bcell In Range("A1:D500")&lt;br /&gt;	If IsEmpty(Bcell) Then Bcell = "Blank"&lt;br /&gt;   Next Bcell&lt;br /&gt;&lt;B&gt;End Sub&lt;/B&gt;&lt;/PRE&gt;Now compare the above code to this one:&lt;br /&gt;&lt;PRE&gt;&lt;B&gt;Sub RightWay()&lt;/B&gt;&lt;br /&gt;    If WorksheetFunction.CountA(Range("A1:D500")) = 0 Then&lt;br /&gt;       MsgBox "All cells are empty", vbOKOnly, "OzGrid.com"&lt;br /&gt;       Exit Sub&lt;br /&gt;    End If&lt;br /&gt;    On Error Resume Next&lt;br /&gt;    Range("A1:D500").SpecialCells(xlCellTypeBlanks) = "Blank"&lt;br /&gt;    On Error GoTo 0&lt;br /&gt;&lt;B&gt;End Sub&lt;/B&gt;&lt;/PRE&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/CB88B573-A653-4366-B936-BE7DB2B130EF/blog/" title="blog or email this clip"&gt;&lt;img src="http://content2.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-8931065489455979873?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/8931065489455979873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=8931065489455979873' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8931065489455979873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8931065489455979873'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/avoid-loops-in-excel.html' title='Avoid Loops  in Excel'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-5165556192523074211</id><published>2007-11-26T12:55:00.001-08:00</published><updated>2007-11-26T12:55:35.662-08:00</updated><title type='text'>LINQ need primary key</title><content type='html'>&lt;div &gt; what the fuck?? &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:22D63181-4701-45C6-AAF5-60BBA8C7F738:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/2fe4e05a-0a2c-4c64-b7cc-73004bd59037/22D63181-4701-45C6-AAF5-60BBA8C7F738/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://blog.benhall.me.uk/2007/05/linq-error-perform-create-update-or.html" href="http://blog.benhall.me.uk/2007/05/linq-error-perform-create-update-or.html" style="font-size: 11px;"&gt;blog.benhall.me.uk&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://blog.benhall.me.uk/2007/05/linq-error-perform-create-update-or.html"&gt;&lt;EM&gt;Type: System.InvalidOperationException&lt;BR /&gt;Source: System.Data.Linq&lt;BR /&gt;TargetSite: Void Attach(T)&lt;BR /&gt;HelpLink: null&lt;BR /&gt;Stack: at System.Data.Linq.Table`1.Attach(T item)&lt;BR /&gt;at SqlServer.SqlContentProvider.SaveDocument(Document document) in E:\My Documents\Visual Studio Codename Orcas\Projects\SqlServer\SqlContentProvider.cs:line 53&lt;BR /&gt;at SimpleWiki.DAL.Tests.DocumentTests.TestInsertingDocument() in E:\My Documents\Visual Studio Codename Orcas\Projects\Tests\DocumentTests.cs:line 28&lt;/EM&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://blog.benhall.me.uk/2007/05/linq-error-perform-create-update-or.html"&gt;&lt;P&gt;I thought I had everything correctly, however I forgot to set a primary key in the table, hence Linq was unable to do anything with the object.  So, lesson for the day Linq must have a Primary key for the table :).&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/22D63181-4701-45C6-AAF5-60BBA8C7F738/blog/" title="blog or email this clip"&gt;&lt;img src="http://content106712.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-5165556192523074211?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/5165556192523074211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=5165556192523074211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5165556192523074211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5165556192523074211'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/linq-need-primary-key.html' title='LINQ need primary key'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-371266620475733164</id><published>2007-11-25T09:03:00.001-08:00</published><updated>2007-11-25T09:03:00.878-08:00</updated><title type='text'>convert with generics</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:7C97B858-08FD-4E65-9592-973BCA86E74C:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/e58f3778-44e9-416c-8807-eb2774589f7f/7C97B858-08FD-4E65-9592-973BCA86E74C/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://nayyeri.net/archive/2006/10/04/List_3C00_T_3E002E00_ConvertAll_3C003E0028002900_.aspx" href="http://nayyeri.net/archive/2006/10/04/List_3C00_T_3E002E00_ConvertAll_3C003E0028002900_.aspx" style="font-size: 11px;"&gt;nayyeri.net&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://nayyeri.net/archive/2006/10/04/List_3C00_T_3E002E00_ConvertAll_3C003E0028002900_.aspx"&gt;&lt;P&gt;Who has said we should write a simple code?!!  I used List&amp;lt;T&amp;gt;.ConvertAll() function to get a List&amp;lt;String&amp;gt; from a List&amp;lt;Double&amp;gt; then converted my List&amp;lt;String&amp;gt; to an Array of Strings.&lt;/P&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://nayyeri.net/archive/2006/10/04/List_3C00_T_3E002E00_ConvertAll_3C003E0028002900_.aspx"&gt;&lt;P&gt;List&amp;lt;T&amp;gt;.ConvertAll() method is a new .NET 2.0 Generic method which gets a System.Converter object and converts each element in a List&amp;lt;T&amp;gt; from type T to the outgoing type.  It seems this method is using a predicate but actually it doesn't do this.&lt;/P&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://nayyeri.net/archive/2006/10/04/List_3C00_T_3E002E00_ConvertAll_3C003E0028002900_.aspx"&gt;&lt;P&gt;&lt;SPAN&gt;public&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; Points&lt;/P&gt; &lt;P&gt;{&lt;/P&gt; &lt;P&gt;    &lt;SPAN&gt;get&lt;/SPAN&gt;&lt;/P&gt; &lt;P&gt;    {&lt;/P&gt; &lt;P&gt;        &lt;SPAN&gt;return&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;.Join(&lt;SPAN&gt;" | "&lt;/SPAN&gt;,&lt;/P&gt; &lt;P&gt;            (&lt;SPAN&gt;String&lt;/SPAN&gt;[])&lt;SPAN&gt;this&lt;/SPAN&gt;.myStudent.Points.ConvertAll&lt;/P&gt; &lt;P&gt;            (&lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;Converter&lt;/SPAN&gt;&amp;lt;&lt;SPAN&gt;Double&lt;/SPAN&gt;, &lt;SPAN&gt;String&lt;/SPAN&gt;&amp;gt;(&lt;SPAN&gt;delegate&lt;/SPAN&gt;(&lt;SPAN&gt;Double&lt;/SPAN&gt; value)&lt;/P&gt; &lt;P&gt;            {&lt;/P&gt; &lt;P&gt;                &lt;SPAN&gt;return&lt;/SPAN&gt; &lt;SPAN&gt;Convert&lt;/SPAN&gt;.ToString(value);&lt;/P&gt; &lt;P&gt;            }&lt;/P&gt; &lt;P&gt;            )).ToArray());&lt;/P&gt; &lt;P&gt;    }&lt;/P&gt; &lt;P&gt;}&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/7C97B858-08FD-4E65-9592-973BCA86E74C/blog/" title="blog or email this clip"&gt;&lt;img src="http://content24868.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-371266620475733164?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/371266620475733164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=371266620475733164' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/371266620475733164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/371266620475733164'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/convert-with-generics.html' title='convert with generics'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-8546989289439879575</id><published>2007-11-24T04:22:00.001-08:00</published><updated>2007-11-24T04:22:02.720-08:00</updated><title type='text'>BBuilder - Open source batch builder</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:60687D42-BA0C-481C-BD9E-4429776279F5:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/11af0f48-61a8-454a-aab4-688f9b5ec053/60687D42-BA0C-481C-BD9E-4429776279F5/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeproject.com/csharp/bbuilder.asp" href="http://www.codeproject.com/csharp/bbuilder.asp" style="font-size: 11px;"&gt;www.codeproject.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/csharp/bbuilder.asp"&gt;&lt;div align="center"&gt;&lt;img src="http://content118361.clipmarks.com/blog_cache/www.codeproject.com/img/823FE084-F030-49BF-AA8C-9F7C8830AF6C" alt="Screenshot - BBuilder1.png" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/csharp/bbuilder.asp"&gt;&lt;H2&gt;Introduction&lt;/H2&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/csharp/bbuilder.asp"&gt;&lt;P&gt;One day my friend told me he needed to change his way of releasing builds. It meant he had to fix a batch to compile and publish several products. Such a process can be tedious since it has to be very reliable and you have to remember all the required DOS commands. Each step of a batch is in fact a command that can be accomplished in pure DOS or executing external executable files. So I thought it would be cool to make a batch editor in the following way: &lt;/P&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/csharp/bbuilder.asp"&gt;&lt;OL&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Choose a command from a toolbox&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Support re-ordering&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Save it to disk for further use&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Visualize all commands in a simple way&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Enable adding custom tools as plug-ins&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Test the batch before it goes somewhere (Scheduled Tasks) with optimizations&lt;/LI&gt;&lt;br /&gt;&lt;/OL&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/csharp/bbuilder.asp"&gt;&lt;H2&gt;Background&lt;/H2&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/csharp/bbuilder.asp"&gt;&lt;div align="center"&gt;&lt;img src="http://content118362.clipmarks.com/blog_cache/www.codeproject.com/img/5960C6BA-4DAB-4889-A950-0F8B3CFF807F" alt="Screenshot - BBuilder2.png" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/60687D42-BA0C-481C-BD9E-4429776279F5/blog/" title="blog or email this clip"&gt;&lt;img src="http://content118363.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-8546989289439879575?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/8546989289439879575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=8546989289439879575' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8546989289439879575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8546989289439879575'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/bbuilder-open-source-batch-builder.html' title='BBuilder - Open source batch builder'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-2904199023955476573</id><published>2007-11-24T02:06:00.001-08:00</published><updated>2007-11-24T02:06:30.987-08:00</updated><title type='text'>GridView DataBind LINQ to ASP.NET controls</title><content type='html'>&lt;div &gt; Cool! &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:CAEE6C1F-C4A5-4372-AC5B-CD20287ECDE1:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/835ba9cd-e102-4bfb-8ab4-1aa0cf724ec9/CAEE6C1F-C4A5-4372-AC5B-CD20287ECDE1/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://weblogs.asp.net/scottgu/archive/2007/07/16/linq-to-sql-part-5-binding-ui-using-the-asp-linqdatasource-control.aspx" href="http://weblogs.asp.net/scottgu/archive/2007/07/16/linq-to-sql-part-5-binding-ui-using-the-asp-linqdatasource-control.aspx" style="font-size: 11px;"&gt;weblogs.asp.net&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/07/16/linq-to-sql-part-5-binding-ui-using-the-asp-linqdatasource-control.aspx"&gt;&lt;FONT size="2" face="arial"&gt;Over the last few weeks I've been writing a series of blog posts that cover LINQ to SQL.  LINQ to SQL is a built-in O/RM (object relational mapper) that ships in the .NET Framework 3.5 release, and which enables you to easily model relational databases using .NET classes.  You can use LINQ expressions to query the database with them, as well as update/insert/delete data.  &lt;/FONT&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/07/16/linq-to-sql-part-5-binding-ui-using-the-asp-linqdatasource-control.aspx"&gt;&lt;FONT size="2" face="arial"&gt;Below are the first four parts of my LINQ to SQL series:  &lt;/FONT&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/07/16/linq-to-sql-part-5-binding-ui-using-the-asp-linqdatasource-control.aspx"&gt;&lt;UL&gt;&lt;FONT size="2" face="arial"&gt; &lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;A target="_blank" href="http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx"&gt;Part 1: Introduction to LINQ to SQL&lt;/A&gt;  &lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;A target="_blank" href="http://weblogs.asp.net/scottgu/archive/2007/05/29/linq-to-sql-part-2-defining-our-data-model-classes.aspx"&gt;Part 2: Defining our Data Model Classes&lt;/A&gt;  &lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;A target="_blank" href="http://weblogs.asp.net/scottgu/archive/2007/06/29/linq-to-sql-part-3-querying-our-database.aspx"&gt;Part 3: Querying our Database&lt;/A&gt;  &lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;A target="_blank" href="http://weblogs.asp.net/scottgu/archive/2007/07/11/linq-to-sql-part-4-updating-our-database.aspx"&gt;Part 4: Updating our Database&lt;/A&gt;&lt;/LI&gt;&lt;/FONT&gt;&lt;/UL&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/07/16/linq-to-sql-part-5-binding-ui-using-the-asp-linqdatasource-control.aspx"&gt;&lt;FONT size="2" face="arial"&gt;In today's blog post I'll cover the new &amp;lt;asp:LinqDataSource&amp;gt; control that is shipping as part of ASP.NET in the upcoming .NET 3.5 release.  This control is a new datasource control for ASP.NET (like the ObjectDataSource and SQLDataSource controls that shipped with ASP.NET 2.0) which makes declaratively binding ASP.NET UI controls to LINQ to SQL data models super easy.&lt;/FONT&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/07/16/linq-to-sql-part-5-binding-ui-using-the-asp-linqdatasource-control.aspx"&gt;&lt;U&gt;Sample Application We'll be Building&lt;/U&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/07/16/linq-to-sql-part-5-binding-ui-using-the-asp-linqdatasource-control.aspx"&gt;&lt;div align="center"&gt;&lt;img src="http://content3.clipmarks.com/blog_cache/weblogs.asp.net/img/938A709D-D77D-4BD2-92D3-BFA84DA7EFEB" alt="" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/CAEE6C1F-C4A5-4372-AC5B-CD20287ECDE1/blog/" title="blog or email this clip"&gt;&lt;img src="http://content4.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-2904199023955476573?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/2904199023955476573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=2904199023955476573' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2904199023955476573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2904199023955476573'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/gridview-databind-linq-to-aspnet.html' title='GridView DataBind LINQ to ASP.NET controls'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12613863.post-6720727358196871880</id><published>2007-11-23T01:14:00.001-08:00</published><updated>2007-11-23T01:14:05.921-08:00</updated><title type='text'>ASP.NET MVC</title><content type='html'>&lt;div &gt; Was it inspired by Django??? &lt;img src="http://clipmarks.com/images/icons/smilies/happy.gif" alt="" /&gt; &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:0147708C-E703-468E-A706-2C0FABBAED1C:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/ef1f52a4-9f0d-42c4-9db2-bafcf2b179f6/0147708C-E703-468E-A706-2C0FABBAED1C/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx" href="http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx" style="font-size: 11px;"&gt;weblogs.asp.net&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx"&gt;&lt;DIV class="comment"&gt;&lt;br /&gt;	                    &lt;H4&gt;&lt;br /&gt;	                        &lt;A href="http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx#4581250"&gt;#&lt;/A&gt;&lt;br /&gt;	                        &lt;SPAN&gt;&lt;br /&gt;	                            re: ASP.NET MVC Framework&lt;br /&gt;	                        &lt;/SPAN&gt;&lt;br /&gt;	                    &lt;/H4&gt;&lt;br /&gt;	                    &lt;DIV class="commentssubhead"&gt;&lt;br /&gt;Monday, October 15, 2007 3:22 AM&lt;br /&gt;                            by&lt;br /&gt;                            &lt;A href="http://brandonbloom.name" rel="nofollow" title="Brandon Bloom"&gt;Brandon Bloom&lt;/A&gt;&lt;br /&gt;&lt;/DIV&gt;&lt;br /&gt;	                    &lt;P&gt;I am a C# junkie, but I use Django for web development because ASP.net places far too much focus on the designer. With Django, I find an artist to do the CSS file and I just make a bunch of divs in the template. &lt;/p&gt; &lt;P&gt;Looks like you guys nailed it with this. Maybe I'll starting using ASP.net when this is available. Awesome stuff :-)&lt;/p&gt; &lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/0147708C-E703-468E-A706-2C0FABBAED1C/blog/" title="blog or email this clip"&gt;&lt;img src="http://content5.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-6720727358196871880?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/6720727358196871880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=6720727358196871880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6720727358196871880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6720727358196871880'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/aspnet-mvc.html' title='ASP.NET MVC'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-5363209295103756503</id><published>2007-11-17T10:38:00.001-08:00</published><updated>2007-11-17T10:38:10.777-08:00</updated><title type='text'>Tuning Performance - LINQ to SQL</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:82A7E2A9-9464-4565-9AFB-7422329039C4:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/f7349b6e-756f-411e-aa37-9e99134d356c/82A7E2A9-9464-4565-9AFB-7422329039C4/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://davidhayden.com/blog/dave/archive/2007/08/05/LINQToSQLLazyLoadingPropertiesSpecifyingPreFetchWhenNeededPerformance.aspx" href="http://davidhayden.com/blog/dave/archive/2007/08/05/LINQToSQLLazyLoadingPropertiesSpecifyingPreFetchWhenNeededPerformance.aspx" style="font-size: 11px;"&gt;davidhayden.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://davidhayden.com/blog/dave/archive/2007/08/05/LINQToSQLLazyLoadingPropertiesSpecifyingPreFetchWhenNeededPerformance.aspx"&gt;&lt;FONT face="Verdana"&gt;LINQ To SQL - Lazy Loading Properties and Specifying PreFetch When Needed - Sweet Query and Performance Control&lt;/FONT&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://davidhayden.com/blog/dave/archive/2007/08/05/LINQToSQLLazyLoadingPropertiesSpecifyingPreFetchWhenNeededPerformance.aspx"&gt;&lt;FONT size="2" face="Verdana"&gt;This is another post in a series of posts on LINQ To SQL in how I think I have discovered a potential performance problem of LINQ To SQL only to find an elegant solution to the problem using LINQ To SQL. If you haven't been reading along with the discovery, here are a few previous posts on LINQ To SQL in this discussion of performance and query tuning:&lt;/FONT&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://davidhayden.com/blog/dave/archive/2007/08/05/LINQToSQLLazyLoadingPropertiesSpecifyingPreFetchWhenNeededPerformance.aspx"&gt;&lt;UL&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2007/08/03/LinqDataSourceHighPerformanceQueriesDataLoadOptionsAvoidingDatabaseRoundtrips.aspx"&gt;&lt;FONT size="2" face="Verdana" color="#0000ff"&gt;LinqDataSource - High Performance Queries Using DataLoadOptions - Avoiding Database Roundtrips&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;A href="http://davidhayden.com/blog/dave/archive/2007/08/05/LINQToSQLPerformanceTradeoffsLessDatabaseRoundtripsButDuplicatedData.aspx"&gt;&lt;FONT size="2" face="Verdana" color="#0000ff"&gt;LINQ to SQL - Performance Tradeoffs: Less Database Roundtrips but Duplicated Data in Each Row??&lt;/FONT&gt;&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/82A7E2A9-9464-4565-9AFB-7422329039C4/blog/" title="blog or email this clip"&gt;&lt;img src="http://content4.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-5363209295103756503?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/5363209295103756503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=5363209295103756503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5363209295103756503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5363209295103756503'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/tuning-performance-linq-to-sql.html' title='Tuning Performance - LINQ to SQL'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-8112610427182319354</id><published>2007-11-17T01:32:00.001-08:00</published><updated>2007-11-17T01:32:19.000-08:00</updated><title type='text'>LINQ Overview</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:790C3430-38D6-41C9-A7AA-8212E590BD32:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/ba30e45b-ae49-4dd5-8e15-9c6614cf5ab1/790C3430-38D6-41C9-A7AA-8212E590BD32/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.hookedonlinq.com/Default.aspx?Page=LINQtoSQL5MinuteOverview&amp;AspxAutoDetectCookieSupport=1" href="http://www.hookedonlinq.com/Default.aspx?Page=LINQtoSQL5MinuteOverview&amp;AspxAutoDetectCookieSupport=1" style="font-size: 11px;"&gt;www.hookedonlinq.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.hookedonlinq.com/Default.aspx?Page=LINQtoSQL5MinuteOverview&amp;AspxAutoDetectCookieSupport=1"&gt;&lt;DIV&gt;LINQ to SQL allows .NET developers to write “queries” in their .NET language of choice to retrieve and manipulate data from a SQL Server database. In a general sense, LINQ to SQL allows us to create SQL queries in our preferred .NET language syntax and work with a strongly types collection of objects as a return result. We can make changes to these objects then save changes back to the database. &lt;/DIV&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.hookedonlinq.com/Default.aspx?Page=LINQtoSQL5MinuteOverview&amp;AspxAutoDetectCookieSupport=1"&gt;&lt;div align="center"&gt;&lt;img src="http://content76128.clipmarks.com/blog_cache/www.hookedonlinq.com/img/F16C7D57-7330-4F74-95EC-91DAA452C6A6" alt="Image" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.hookedonlinq.com/Default.aspx?Page=LINQtoSQL5MinuteOverview&amp;AspxAutoDetectCookieSupport=1"&gt;&lt;PRE class="csharp"&gt;HookedOnLINQ db = &lt;br /&gt;     &lt;A href="http://www.google.com/search?q=new+msdn.microsoft.com"&gt;&lt;SPAN&gt;new&lt;/SPAN&gt;&lt;/A&gt; HookedOnLINQ&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"Data Source=(local);Initial Catalog=HookedOnLINQ"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;; &lt;br /&gt;var q = from c &lt;SPAN&gt;in&lt;/SPAN&gt; db.&lt;SPAN&gt;Contact&lt;/SPAN&gt;&lt;br /&gt;           where c.&lt;SPAN&gt;DateOfBirth&lt;/SPAN&gt;.&lt;SPAN&gt;AddYears&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;35&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt; &amp;gt; DateTime.&lt;SPAN&gt;Now&lt;/SPAN&gt;&lt;br /&gt;           orderby c.&lt;SPAN&gt;DateOfBirth&lt;/SPAN&gt; descending&lt;br /&gt;           select c;&lt;br /&gt;&lt;SPAN&gt;foreach&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;var c &lt;SPAN&gt;in&lt;/SPAN&gt; q&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;br /&gt;       Console.&lt;SPAN&gt;WriteLine&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"{0} {1} b.{2}"&lt;/SPAN&gt;,&lt;br /&gt;                   c.&lt;SPAN&gt;FirstName&lt;/SPAN&gt;.&lt;SPAN&gt;Trim&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;,&lt;br /&gt;                   c.&lt;SPAN&gt;LastName&lt;/SPAN&gt;.&lt;SPAN&gt;Trim&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;,c.&lt;SPAN&gt;DateOfBirth&lt;/SPAN&gt;.&lt;SPAN&gt;ToString&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"dd-MMM-yyyy"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;;&lt;br /&gt;Output:&lt;br /&gt;Mack Kamph b&lt;SPAN&gt;.17&lt;/SPAN&gt;-Sep&lt;SPAN&gt;-1977&lt;/SPAN&gt;&lt;br /&gt;Armando Valdes b&lt;SPAN&gt;.09&lt;/SPAN&gt;-Dec&lt;SPAN&gt;-1973&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/790C3430-38D6-41C9-A7AA-8212E590BD32/blog/" title="blog or email this clip"&gt;&lt;img src="http://content76129.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-8112610427182319354?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/8112610427182319354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=8112610427182319354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8112610427182319354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8112610427182319354'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/linq-overview.html' title='LINQ Overview'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-7161351244700578557</id><published>2007-11-16T08:34:00.001-08:00</published><updated>2007-11-16T08:34:45.832-08:00</updated><title type='text'>Local database sdf in VS2008</title><content type='html'>&lt;div &gt; Is this the new way to cache and synchronized data? &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:9613A54F-6F93-4116-A1E7-43301BBB2F76:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/2299b815-d117-4f70-a930-8957ece216bf/9613A54F-6F93-4116-A1E7-43301BBB2F76/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://channel9.msdn.com/ShowPost.aspx?PostID=354177#354177" href="http://channel9.msdn.com/ShowPost.aspx?PostID=354177#354177" style="font-size: 11px;"&gt;channel9.msdn.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://channel9.msdn.com/ShowPost.aspx?PostID=354177#354177"&gt;&lt;div align="center"&gt;&lt;img src="http://content16939.clipmarks.com/blog_cache/channel9.msdn.com/img/D942B21E-F71C-4871-80BF-E45F4940FE45" alt="preview" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://channel9.msdn.com/ShowPost.aspx?PostID=354177#354177"&gt;&lt;DIV&gt;In this interview &lt;A href="http://msdn2.microsoft.com/en-us/vbasic/bb735849#milindlele"&gt;Milind Lele&lt;/A&gt;, Program Manager on the &lt;A href="http://msdn.com/vbasic"&gt;Visual Basic Team&lt;/A&gt;, shows us his favorite features - the new Data Synchronization designer in Visual Studio 2008 and how the sync services for ADO.NET work to support occasionally connected scenarios. He shows us how to set up a local database cache using SQL Compact Edition and how to use it to store read-only data caches as well as how to add the code to support two-way synchronization. &lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/9613A54F-6F93-4116-A1E7-43301BBB2F76/blog/" title="blog or email this clip"&gt;&lt;img src="http://content16940.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-7161351244700578557?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/7161351244700578557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=7161351244700578557' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/7161351244700578557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/7161351244700578557'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/local-database-sdf-in-vs2008.html' title='Local database sdf in VS2008'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-2286965289646381464</id><published>2007-11-16T07:29:00.001-08:00</published><updated>2007-11-16T07:29:00.403-08:00</updated><title type='text'>Introduction to LINQ</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:21210244-652C-4D16-90AB-ECBB9CAF38A3:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/693c045b-c427-44a5-bf19-9d2efe2f14a5/21210244-652C-4D16-90AB-ECBB9CAF38A3/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx" href="http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx" style="font-size: 11px;"&gt;weblogs.asp.net&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx"&gt;&lt;H3&gt;&lt;FONT size="2" face="arial" _moz-rs-heading=""&gt;&lt;U&gt;What Is LINQ to SQL?&lt;/U&gt;&lt;/FONT&gt;&lt;/H3&gt;&lt;FONT size="2" face="arial"&gt; &lt;/FONT&gt;&lt;P&gt;&lt;FONT size="2" face="arial"&gt;LINQ to SQL is an &lt;A target="_blank" href="http://en.wikipedia.org/wiki/Object-relational_mapping"&gt;O/RM&lt;/A&gt; (object relational mapping) implementation that ships in the .NET Framework "Orcas" release, and which allows you to model a relational database using .NET classes.  You can then query the database using LINQ, as well as update/insert/delete data from it.&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size="2" face="arial"&gt; &lt;/FONT&gt;&lt;P&gt;&lt;FONT size="2" face="arial"&gt;LINQ to SQL fully supports transactions, views, and stored procedures.  It also provides an easy way to integrate data validation and business logic rules into your data model.&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size="2" face="arial"&gt; &lt;/FONT&gt;&lt;H3&gt;&lt;FONT size="2" face="arial" _moz-rs-heading=""&gt;&lt;U&gt;Modeling Databases Using LINQ to SQL:&lt;/U&gt;&lt;/FONT&gt;&lt;/H3&gt;&lt;FONT size="2" face="arial"&gt; &lt;/FONT&gt;&lt;P&gt;&lt;FONT size="2" face="arial"&gt;Visual Studio "Orcas" ships with a LINQ to SQL designer that provides an easy way to model and visualize a database as a LINQ to SQL object model.  My next blog post will cover in more depth how to use this designer (you can also &lt;A target="_blank" href="http://weblogs.asp.net/scottgu/archive/2007/01/28/video-using-linq-with-asp-net-in-vs-orcas-part-1.aspx"&gt;watch this video&lt;/A&gt; I made in January to see me build a LINQ to SQL model from scratch using it).  &lt;/FONT&gt;&lt;/P&gt;&lt;FONT size="2" face="arial"&gt; &lt;/FONT&gt;&lt;P&gt;&lt;FONT size="2" face="arial"&gt;Using the LINQ to SQL designer I can easily create a representation of the sample "Northwind" database like below:&lt;/FONT&gt;&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/21210244-652C-4D16-90AB-ECBB9CAF38A3/blog/" title="blog or email this clip"&gt;&lt;img src="http://content29923.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-2286965289646381464?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/2286965289646381464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=2286965289646381464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2286965289646381464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2286965289646381464'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/introduction-to-linq.html' title='Introduction to LINQ'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-5716866595918544588</id><published>2007-11-16T06:39:00.001-08:00</published><updated>2007-11-16T06:39:04.444-08:00</updated><title type='text'>WPF. Draggable objects and simple shape connectors.</title><content type='html'>&lt;div &gt; WPF. Draggable objects and simple shape connectors. &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:6800B171-A298-42D9-ACB1-A75B7D36175B:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/ea330a6f-4e2a-4b2d-a619-5511f8bf0b1b/6800B171-A298-42D9-ACB1-A75B7D36175B/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://dvuyka.spaces.live.com/Blog/cns!305B02907E9BE19A!155.entry" href="http://dvuyka.spaces.live.com/Blog/cns!305B02907E9BE19A!155.entry" style="font-size: 11px;"&gt;dvuyka.spaces.live.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://dvuyka.spaces.live.com/Blog/cns!305B02907E9BE19A!155.entry"&gt;&lt;P&gt;Each shape can possibly be connected to any number of another shapes. For hanling the position of each connector while dragging the object we need to somehow control the start and end points of the line element connected to two shapes. So it becomes obvious that each shape should contain the list of line's start and end points separately so that line positioning and length can be easily updated by the shape itself or outter code.&lt;br /&gt;&lt;/P&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://dvuyka.spaces.live.com/Blog/cns!305B02907E9BE19A!155.entry"&gt;&lt;div align="center"&gt;&lt;img src="http://content3.clipmarks.com/blog_cache/dvuyka.spaces.live.com/img/1250CF07-8509-4BD8-864A-AEC9677255DB" alt="shapeconnectors_1" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/6800B171-A298-42D9-ACB1-A75B7D36175B/blog/" title="blog or email this clip"&gt;&lt;img src="http://content4.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-5716866595918544588?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/5716866595918544588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=5716866595918544588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5716866595918544588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5716866595918544588'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/wpf-draggable-objects-and-simple-shape.html' title='WPF. Draggable objects and simple shape connectors.'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-2931673933358148458</id><published>2007-11-15T04:53:00.001-08:00</published><updated>2007-11-15T04:53:48.253-08:00</updated><title type='text'>Json.net</title><content type='html'>&lt;div &gt; use JSON instead XML &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:EEE0CC67-71A8-4367-AA60-A2A934773D5E:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/fb6984fc-a806-4abd-b061-fc87ddfbca42/EEE0CC67-71A8-4367-AA60-A2A934773D5E/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://james.newtonking.com/projects/json-net.aspx" href="http://james.newtonking.com/projects/json-net.aspx" style="font-size: 11px;"&gt;james.newtonking.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://james.newtonking.com/projects/json-net.aspx"&gt;&lt;H2 class="entryviewheading"&gt;Json.NET&lt;/H2&gt;&lt;br /&gt;&lt;P&gt;&lt;br /&gt;                        09 September 2007&lt;br /&gt;&lt;SPAN&gt;&lt;SPAN id="ctl00_Main_InlineTagEditorPanel_ctl01"&gt;Filed under: &lt;A rel="tag" href="http://james.newtonking.com/archive/tags/Json.NET/default.aspx"&gt;Json.NET&lt;/A&gt;, &lt;A rel="tag" href="http://james.newtonking.com/archive/tags/Project/default.aspx"&gt;Project&lt;/A&gt;&lt;/SPAN&gt;&lt;INPUT type="hidden" value="value:Filed%20under:%20%3Ca%20href=%22%2Farchive%2Ftags%2FJson.NET%2Fdefault.aspx%22%20rel=%22tag%22%3EJson.NET%3C%2Fa%3E%2C%20%3Ca%20href=%22%2Farchive%2Ftags%2FProject%2Fdefault.aspx%22%20rel=%22tag%22%3EProject%3C%2Fa%3E" id="ctl00_Main_InlineTagEditorPanel_ctl01_State" name="ctl00$Main$InlineTagEditorPanel$ctl01" /&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;/p&gt; &lt;DIV class="BlogPostContent bodytext"&gt;&lt;br /&gt;			 &lt;P&gt;The Json.NET library makes working with JavaScript and JSON formatted data in .NET simple. Quickly read and write JSON using the JsonReader and JsonWriter or serialize your .NET objects with a single method call using the JsonSerializer. &lt;/P&gt;&lt;P&gt;&lt;B&gt;&lt;A mce_href="http://www.codeplex.com/json" target="_blank" href="http://www.codeplex.com/json"&gt;Json.NET CodePlex Project&lt;/A&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&lt;B&gt;&lt;A mce_href="http://www.codeplex.com/json/Release/ProjectReleases.aspx" target="_blank" href="http://www.codeplex.com/json/Release/ProjectReleases.aspx"&gt;Json.NET Download&lt;/A&gt;&lt;/B&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://james.newtonking.com/projects/json-net.aspx"&gt;&lt;DIV class="code"&gt;&lt;br /&gt;&lt;DIV&gt;&lt;br /&gt;&lt;PRE&gt;&lt;SPAN&gt;Product&lt;/SPAN&gt; product = &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;Product&lt;/SPAN&gt;();&lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt;product.Name = &lt;SPAN&gt;"Apple"&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt;product.Expiry = &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;DateTime&lt;/SPAN&gt;(2008, 12, 28);&lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt;product.Price = 3.99M;&lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt;product.Sizes = &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;string&lt;/SPAN&gt;[] { &lt;SPAN&gt;"Small"&lt;/SPAN&gt;, &lt;SPAN&gt;"Medium"&lt;/SPAN&gt;, &lt;SPAN&gt;"Large"&lt;/SPAN&gt; };&lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt; &lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt;&lt;SPAN&gt;string&lt;/SPAN&gt; json = &lt;SPAN&gt;JavaScriptConvert&lt;/SPAN&gt;.SerializeObject(product);&lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt;&lt;SPAN&gt;//{&lt;/SPAN&gt;&lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt;&lt;SPAN&gt;//  "Name": "Apple",&lt;/SPAN&gt;&lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt;&lt;SPAN&gt;//  "Expiry": new Date(1230422400000),&lt;/SPAN&gt;&lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt;&lt;SPAN&gt;//  "Price": 3.99,&lt;/SPAN&gt;&lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt;&lt;SPAN&gt;//  "Sizes": [&lt;/SPAN&gt;&lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt;&lt;SPAN&gt;//    "Small",&lt;/SPAN&gt;&lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt;&lt;SPAN&gt;//    "Medium",&lt;/SPAN&gt;&lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt;&lt;SPAN&gt;//    "Large"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt;&lt;SPAN&gt;//  ]&lt;/SPAN&gt;&lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt;&lt;SPAN&gt;//}&lt;/SPAN&gt;&lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt; &lt;/PRE&gt;&lt;br /&gt;&lt;PRE&gt;&lt;SPAN&gt;Product&lt;/SPAN&gt; deserializedProduct = &lt;SPAN&gt;JavaScriptConvert&lt;/SPAN&gt;.DeserializeObject&amp;lt;&lt;SPAN&gt;Product&lt;/SPAN&gt;&amp;gt;(json);&lt;/PRE&gt;&lt;br /&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/EEE0CC67-71A8-4367-AA60-A2A934773D5E/blog/" title="blog or email this clip"&gt;&lt;img src="http://content1.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-2931673933358148458?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/2931673933358148458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=2931673933358148458' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2931673933358148458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2931673933358148458'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/jsonnet.html' title='Json.net'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-7282745225834368478</id><published>2007-11-12T12:40:00.001-08:00</published><updated>2007-11-12T12:40:40.512-08:00</updated><title type='text'>linq book</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:E7A97468-B8E3-4B15-A675-1AB1AC722F3B:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/9ddbd002-dd58-4914-bd16-ecfa5b8a59ac/E7A97468-B8E3-4B15-A675-1AB1AC722F3B/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.manning.com/marguerie/" href="http://www.manning.com/marguerie/" style="font-size: 11px;"&gt;www.manning.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.manning.com/marguerie/"&gt;&lt;table background="undefined" bgcolor=""&gt;&lt;tr&gt;&lt;TD valign="top"&gt;&lt;B&gt;Part I - Getting started&lt;/B&gt;&lt;br /&gt;			&lt;BR /&gt;&lt;B&gt; 1.&lt;/B&gt; &lt;A target="_new" href="http://www.manning.com/marguerie/marguerie_meapch1.pdf"&gt;Introducing LINQ&lt;/A&gt; - &lt;FONT color="blue"&gt;FREE&lt;/FONT&gt;&lt;br /&gt;			&lt;BR /&gt;&lt;B&gt; 2.&lt;/B&gt; C# and VB.NET language enhancements - &lt;FONT color="blue"&gt;AVAILABLE&lt;/FONT&gt;&lt;br /&gt;			&lt;BR /&gt;&lt;DIV&gt;&lt;B&gt; 3.&lt;/B&gt; LINQ building blocks - &lt;FONT color="blue"&gt;AVAILABLE&lt;/FONT&gt;&lt;br /&gt;			&lt;/DIV&gt;&lt;BR /&gt;&lt;B&gt;Part II - Querying objects in memory&lt;/B&gt;&lt;br /&gt;			&lt;BR /&gt;&lt;B&gt; 4.&lt;/B&gt; Getting familiar with LINQ to Objects - &lt;FONT color="blue"&gt;AVAILABLE&lt;/FONT&gt;&lt;br /&gt;			&lt;BR /&gt;&lt;B&gt; 5.&lt;/B&gt; Working with LINQ and DataSets - &lt;FONT color="blue"&gt;AVAILABLE&lt;/FONT&gt;&lt;br /&gt;			&lt;BR /&gt;&lt;DIV&gt;&lt;B&gt; 6.&lt;/B&gt; Beyond basic in-memory queries - &lt;FONT color="blue"&gt;AVAILABLE&lt;/FONT&gt;&lt;br /&gt;			&lt;/DIV&gt;&lt;BR /&gt;&lt;B&gt;Part III - Mapping objects to relational databases&lt;/B&gt;&lt;br /&gt;			&lt;BR /&gt;&lt;B&gt; 7.&lt;/B&gt; Getting started with LINQ to SQL - &lt;FONT color="blue"&gt;AVAILABLE&lt;/FONT&gt;&lt;br /&gt;			&lt;BR /&gt;&lt;B&gt; 8.&lt;/B&gt; Peeking under the covers - &lt;FONT color="blue"&gt;AVAILABLE&lt;/FONT&gt;&lt;br /&gt;			&lt;BR /&gt;&lt;B&gt; 9.&lt;/B&gt; Advanced LINQ to SQL features - &lt;FONT color="blue"&gt;AVAILABLE&lt;/FONT&gt;&lt;br /&gt;		&lt;/TD&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/E7A97468-B8E3-4B15-A675-1AB1AC722F3B/blog/" title="blog or email this clip"&gt;&lt;img src="http://content2.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-7282745225834368478?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/7282745225834368478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=7282745225834368478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/7282745225834368478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/7282745225834368478'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/linq-book.html' title='linq book'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-561447446489988868</id><published>2007-11-12T12:30:00.001-08:00</published><updated>2007-11-12T12:30:50.314-08:00</updated><title type='text'>Open Source Batch Editor</title><content type='html'>&lt;div &gt; BBuilder on code project &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:F87894E4-A0CC-437D-9A9B-1E2C178CDCA1:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/45dade8d-7c72-4422-8502-c6a09ddc2511/F87894E4-A0CC-437D-9A9B-1E2C178CDCA1/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeproject.com/csharp/bbuilder.asp" href="http://www.codeproject.com/csharp/bbuilder.asp" style="font-size: 11px;"&gt;www.codeproject.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/csharp/bbuilder.asp"&gt;&lt;div align="center"&gt;&lt;img src="http://content5.clipmarks.com/blog_cache/www.codeproject.com/img/EDB8048E-E977-467C-963F-742B0F103F2B" alt="Screenshot - BBuilder1.png" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/csharp/bbuilder.asp"&gt;&lt;H2&gt;Points of Interest&lt;/H2&gt;&lt;br /&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;OL&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Reflection for a flexible application&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Factory and Singleton design patterns&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;IComparer implementation to generate a custom order&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Creating a windows application in .NET with a professional look like Outlook. With a powerful grid that overrides the Rendering&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Spawn process for Shell : Redirecting input/output&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Make a responsive UI with Background worker&lt;/LI&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Deploying the application with a Setup project, with custom file type and icons&lt;/LI&gt;&lt;/OL&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/F87894E4-A0CC-437D-9A9B-1E2C178CDCA1/blog/" title="blog or email this clip"&gt;&lt;img src="http://content1.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-561447446489988868?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/561447446489988868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=561447446489988868' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/561447446489988868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/561447446489988868'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/11/open-source-batch-editor.html' title='Open Source Batch Editor'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-2824494369624500381</id><published>2007-10-26T10:52:00.001-07:00</published><updated>2007-10-26T10:52:05.965-07:00</updated><title type='text'>ORM by Urielka</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:6C528116-C0C8-4976-84D0-A8996A14FA5C:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/54e2fc40-b11f-4f39-9dbf-375c30a0944f/6C528116-C0C8-4976-84D0-A8996A14FA5C/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.urielkatz.com/archive/detail/google-gears-orm-v02/" href="http://www.urielkatz.com/archive/detail/google-gears-orm-v02/" style="font-size: 11px;"&gt;www.urielkatz.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.urielkatz.com/archive/detail/google-gears-orm-v02/"&gt;&lt;UL&gt;&lt;br /&gt; &lt;li style="margin-left:16px;padding-left: 0px;"&gt;transactions - used inside GearsORM itself&lt;/LI&gt;&lt;br /&gt; &lt;li style="margin-left:16px;padding-left: 0px;"&gt;self relations(i.e. a relation to the same table/model) - very useful when working with Tree-like structures in the database&lt;/LI&gt;&lt;br /&gt; &lt;li style="margin-left:16px;padding-left: 0px;"&gt;count method - so now u can do Person.count() instead of Person.select().toArray().length&lt;/LI&gt;&lt;br /&gt;&lt;/UL&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.urielkatz.com/archive/detail/google-gears-orm-v02/"&gt;&lt;P&gt;The most important update in this version is of course transaction support.&lt;br /&gt;SQLite is known for really bad write preformence when not working with transactions.&lt;br /&gt;While developing transaction support for GearsORM i had to write a test,in that test it execute 100 inserts and 100 updates,this test take about 15 seconds for the inserts and about 10 seconds for the updates without transactions,when using transactions for each set it takes about 377ms for the inserts and 200ms for the updates that is about 39 times faster!&lt;br /&gt;&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/6C528116-C0C8-4976-84D0-A8996A14FA5C/blog/" title="blog or email this clip"&gt;&lt;img src="http://content8128.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-2824494369624500381?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/2824494369624500381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=2824494369624500381' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2824494369624500381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2824494369624500381'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/10/orm-by-urielka.html' title='ORM by Urielka'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-9200684777005129352</id><published>2007-10-21T02:06:00.001-07:00</published><updated>2007-10-21T02:06:20.610-07:00</updated><title type='text'>SQL : coalesce to avoid OR in optional parameters</title><content type='html'>&lt;div &gt; SQL : coalesce to avoid OR in optional parameters &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:72AB942D-631D-4EF3-93B0-CAA76D4EE2E6:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/cba04aa5-60dd-49c0-8537-e9a4b4e8b2e5/72AB942D-631D-4EF3-93B0-CAA76D4EE2E6/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://weblogs.sqlteam.com/jeffs/archive/2007/09/18/sql-conditional-where-clauses.aspx" href="http://weblogs.sqlteam.com/jeffs/archive/2007/09/18/sql-conditional-where-clauses.aspx" style="font-size: 11px;"&gt;weblogs.sqlteam.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://weblogs.sqlteam.com/jeffs/archive/2007/09/18/sql-conditional-where-clauses.aspx"&gt;&lt;br /&gt;Next, we have a string comparison based on product code.  These also can be very efficiently rewritten by using LIKE.  Normally, LIKE is much slower than using equals, but if you do not use any wild cards and it allows you to eliminate an "OR" in your WHERE clause, it may actually be more efficient:&lt;br /&gt;&lt;br /&gt;&lt;SPAN&gt;    select *&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN&gt;    from Data&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN&gt;    where&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN&gt;        Date between coalesce(@MinDate, '1/1/1900') and coalesce(@MaxDate, '12/31/2999') and &lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN&gt;        Amount between coalesce(@MinAmount,-999999999) and coalesce(@MaxAmount,999999999) and&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN&gt;        &lt;SPAN&gt;ProductCode like coalesce(@ProductCode,'%')&lt;/SPAN&gt; and ...&lt;/SPAN&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/72AB942D-631D-4EF3-93B0-CAA76D4EE2E6/blog/" title="blog or email this clip"&gt;&lt;img src="http://content1.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-9200684777005129352?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/9200684777005129352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=9200684777005129352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/9200684777005129352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/9200684777005129352'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/10/sql-coalesce-to-avoid-or-in-optional.html' title='SQL : coalesce to avoid OR in optional parameters'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-8074001591057263991</id><published>2007-09-30T05:25:00.001-07:00</published><updated>2007-09-30T05:25:54.866-07:00</updated><title type='text'>How to send email using Gmail SMTP - .NET 2.0</title><content type='html'>&lt;div &gt; Read this article from code project. &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:F513B747-4B4E-449B-B26B-195D7EDDC573:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/2e60bd52-7fb2-47d0-b58c-61187e110d4c/F513B747-4B4E-449B-B26B-195D7EDDC573/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeproject.com/useritems/SendMailUsingGmailAccount.asp" href="http://www.codeproject.com/useritems/SendMailUsingGmailAccount.asp" style="font-size: 11px;"&gt;www.codeproject.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/useritems/SendMailUsingGmailAccount.asp"&gt;&lt;SPAN class="cpp-comment"&gt;//Builed The MSG&lt;/SPAN&gt;&lt;br /&gt;            System.Net.Mail.MailMessage msg = &lt;SPAN class="cpp-keyword"&gt;new&lt;/SPAN&gt; System.Net.Mail.MailMessage();&lt;br /&gt;            msg.To.Add(&lt;SPAN class="cpp-string"&gt;"reciver@gmail.com"&lt;/SPAN&gt;);&lt;br /&gt;            msg.To.Add(&lt;SPAN class="cpp-string"&gt;"another.reciver@yahoo.com"&lt;/SPAN&gt;);&lt;br /&gt;            msg.From = &lt;SPAN class="cpp-keyword"&gt;new&lt;/SPAN&gt; MailAddress(&lt;SPAN class="cpp-string"&gt;"dummy@gmail.com"&lt;/SPAN&gt;, &lt;SPAN class="cpp-string"&gt;"One Ghost"&lt;/SPAN&gt;,System.Text.Encoding.UTF8);&lt;br /&gt;            msg.Subject = &lt;SPAN class="cpp-string"&gt;"Test mail using .net2.0"&lt;/SPAN&gt;;&lt;br /&gt;            msg.SubjectEncoding = System.Text.Encoding.UTF8;&lt;br /&gt;            msg.Body = &lt;SPAN class="cpp-string"&gt;"This is my msg Body"&lt;/SPAN&gt;;&lt;br /&gt;            msg.BodyEncoding = System.Text.Encoding.UTF8;&lt;br /&gt;            msg.IsBodyHtml = &lt;SPAN class="cpp-keyword"&gt;false&lt;/SPAN&gt;;&lt;br /&gt;            msg.Priority = MailPriority.High;            &lt;br /&gt;&lt;SPAN class="cpp-comment"&gt;//Add the Creddentials&lt;/SPAN&gt;&lt;br /&gt;            SmtpClient client = &lt;SPAN class="cpp-keyword"&gt;new&lt;/SPAN&gt; SmtpClient();&lt;br /&gt;            client.Credentials = &lt;SPAN class="cpp-keyword"&gt;new&lt;/SPAN&gt; System.Net.NetworkCredential(&lt;SPAN class="cpp-string"&gt;"dummy@gmail.com"&lt;/SPAN&gt;, &lt;SPAN class="cpp-string"&gt;"SecretPass"&lt;/SPAN&gt;);&lt;br /&gt;            client.Port = &lt;SPAN class="cpp-literal"&gt;587&lt;/SPAN&gt;;&lt;SPAN class="cpp-comment"&gt;//or use 587            &lt;/SPAN&gt;&lt;br /&gt;            client.Host = &lt;SPAN class="cpp-string"&gt;"smtp.gmail.com"&lt;/SPAN&gt;;&lt;br /&gt;            client.EnableSsl = &lt;SPAN class="cpp-keyword"&gt;true&lt;/SPAN&gt;;&lt;br /&gt;            client.SendCompleted += &lt;SPAN class="cpp-keyword"&gt;new&lt;/SPAN&gt; SendCompletedEventHandler(client_SendCompleted);&lt;br /&gt;            object userState=msg;&lt;br /&gt;            &lt;SPAN class="cpp-keyword"&gt;try&lt;/SPAN&gt;&lt;br /&gt;            {&lt;br /&gt;                &lt;SPAN class="cpp-comment"&gt;//you can also call client.Send(msg)&lt;/SPAN&gt;&lt;br /&gt;                client.SendAsync(msg, userState);                &lt;br /&gt;            }&lt;br /&gt;            &lt;SPAN class="cpp-keyword"&gt;catch&lt;/SPAN&gt; (System.Net.Mail.SmtpException ex)&lt;br /&gt;            {&lt;br /&gt;                MessageBox.Show(ex.Message, &lt;SPAN class="cpp-string"&gt;"Send Mail Error"&lt;/SPAN&gt;);&lt;br /&gt;            }&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/F513B747-4B4E-449B-B26B-195D7EDDC573/blog/" title="blog or email this clip"&gt;&lt;img src="http://content3.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-8074001591057263991?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/8074001591057263991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=8074001591057263991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8074001591057263991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8074001591057263991'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/09/how-to-send-email-using-gmail-smtp-net.html' title='How to send email using Gmail SMTP - .NET 2.0'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-6228044489656206743</id><published>2007-09-27T11:55:00.001-07:00</published><updated>2007-09-27T11:55:09.282-07:00</updated><title type='text'>Peter blum :: ASP.NET controls</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:50A405A6-B7A0-435D-969D-6D388A8C7445:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/888056fa-a4fa-436f-b8b0-09a202323609/50A405A6-B7A0-435D-969D-6D388A8C7445/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.peterblum.com/vam/home.aspx" href="http://www.peterblum.com/vam/home.aspx" style="font-size: 11px;"&gt;www.peterblum.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.peterblum.com/vam/home.aspx"&gt;&lt;DIV&gt;&lt;br /&gt;				ASP.NET comes with &lt;B&gt;validators&lt;/B&gt;: controls which detect and report errors &lt;br /&gt;				in data entry controls. So why do you need a replacement to them? Since ASP.NET &lt;br /&gt;				1.0 shipped, thousands of programmers have confronted numerous &lt;A href="http://www.peterblum.com/vam/ValMain.aspx?ReturnUrl=%2fvam%2fhome.aspx%23Features"&gt;&lt;br /&gt;					limitations&lt;/A&gt; with the validators forcing them to write custom code, &lt;br /&gt;				hacks, or in some cases, drop a planned feature for their user interface. &lt;br /&gt;				Professional Validation And More introduces second generation validation that &lt;br /&gt;				is so feature rich, you rarely write any custom code, and it gives you &lt;br /&gt;				compelling ways to add polish to your user interface.&lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/50A405A6-B7A0-435D-969D-6D388A8C7445/blog/" title="blog or email this clip"&gt;&lt;img src="http://content5.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-6228044489656206743?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/6228044489656206743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=6228044489656206743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6228044489656206743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6228044489656206743'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/09/peter-blum-aspnet-controls.html' title='Peter blum :: ASP.NET controls'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-7128060735268103790</id><published>2007-09-26T03:59:00.001-07:00</published><updated>2007-09-26T03:59:45.749-07:00</updated><title type='text'>FTP scripts and utils</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:9636EAF2-184A-4CB9-9F4F-21BBBE53957E:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/ac4b3658-ff7d-4c4c-a8aa-16a50e8522b3/9636EAF2-184A-4CB9-9F4F-21BBBE53957E/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.experts-exchange.com/Programming/Languages/CPP/Q_22587202.html" href="http://www.experts-exchange.com/Programming/Languages/CPP/Q_22587202.html" style="font-size: 11px;"&gt;www.experts-exchange.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.experts-exchange.com/Programming/Languages/CPP/Q_22587202.html"&gt;&lt;DIV class="bbg"&gt;&lt;DIV class="empty"&gt;&lt;/DIV&gt;&lt;DIV class="bc"&gt;&lt;DIV class="infoColHeader"&gt;&lt;/DIV&gt;&lt;DIV class="infoColContainer male maleGenius"&gt;&lt;DIV class="infoCol"&gt;&lt;DIV class="infoColIcon"&gt;&lt;/DIV&gt;&lt;P&gt;Rank: &lt;SPAN&gt;Genius&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;br /&gt;  &lt;DIV class="infoBody"&gt;&lt;br /&gt;&lt;DIV class="answerer"&gt;&lt;A href="http://www.experts-exchange.com/M_467222.html"&gt;jkr&lt;/A&gt;:&lt;/DIV&gt;&lt;br /&gt;    &lt;DIV id="intelliTxt" class="answerBody quoted"&gt;&lt;DIV&gt;&lt;br /&gt;Hm, there are several options:&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;A PERL class - &lt;A target="_blank" href="http://search.cpan.org/~JDLEE/Net-FTP-Recursive-2.00/Recursive.pm" rel="nofollow"&gt;http://search.cpan.org/~JDLEE/Net-&lt;SPAN class="searchTerm"&gt;FTP&lt;/SPAN&gt;-Re&lt;WBR&gt;&lt;/WBR&gt;cursive-2.&lt;WBR&gt;&lt;/WBR&gt;00/&lt;WBR&gt;&lt;/WBR&gt;Recursi&lt;WBR&gt;&lt;/WBR&gt;ve.pm&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;A PERL script - &lt;A target="_blank" href="http://www.wellho.net/resources/ex.php4?item=p616/ftp2" rel="nofollow"&gt;http://www.wellho.net/resources/ex.php4?&lt;WBR&gt;&lt;/WBR&gt;item=p616/&lt;WBR&gt;&lt;/WBR&gt;ftp2&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;'ftpcopy' in C - &lt;A target="_blank" href="http://freshmeat.net/projects/ftpcopy/" rel="nofollow"&gt;http://freshmeat.net/projects/ftpcopy/&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;A Windows based &lt;SPAN class="searchTerm"&gt;FTP&lt;/SPAN&gt; program with &lt;SPAN class="searchTerm"&gt;recursive&lt;/SPAN&gt; &lt;SPAN class="searchTerm"&gt;FTP&lt;/SPAN&gt; - &lt;A target="_blank" href="http://www.nmr.ucdavis.edu/NUTS_info/NUTS_info.html" rel="nofollow"&gt;http://www.nmr.ucdavis.edu/NUTS_info/NUT&lt;WBR&gt;&lt;/WBR&gt;S_info.htm&lt;WBR&gt;&lt;/WBR&gt;l&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;A PowerShell CmdLet - &lt;A target="_blank" href="http://geekswithblogs.net/Lance/archive/2006/12/07/100588.aspx" rel="nofollow"&gt;http://geekswithblogs.net/Lance/archive/&lt;WBR&gt;&lt;/WBR&gt;2006/12/07&lt;WBR&gt;&lt;/WBR&gt;/&lt;WBR&gt;&lt;/WBR&gt;100588.as&lt;WBR&gt;&lt;/WBR&gt;px&lt;/A&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;A href="#questionTop" class="backToTopGray"&gt;back to top&lt;/A&gt;&lt;br /&gt;    &lt;DIV class="clear"&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;UL class="answerOptions horizontal hasBookmarks"&gt;&lt;br /&gt;&lt;LI class="acceptKnowledgebase first"&gt;&lt;A href="http://www.experts-exchange.com/Programming/Languages/CPP/knowledgeBaseEntry.jsp?qid=22587202"&gt;Add to Knowledgebase&lt;/A&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class="acceptViewSolutions"&gt;&lt;A rel="nofollow" href="http://search.experts-exchange.com/simpleSearch.jsp?q=batch+OR+subdirectori+OR+batch+OR+portabl+OR+subdirectori+OR+schedul+OR+anybodi&amp;searchSubmit=true"&gt;View More Solutions&lt;/A&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class="liBookmark"&gt;&lt;DIV class="bookmarks"&gt;&lt;br /&gt;&lt;DIV class="bookmarksLabel"&gt;Bookmark:&lt;/DIV&gt;&lt;br /&gt;     &lt;DIV class="bookmarksLinks"&gt;&lt;br /&gt;       &lt;A title="Add Del.icio.us Bookmark" class="bookmarksLink" id="deliciousButton"&gt;&lt;/A&gt;&lt;br /&gt;       &lt;A title="Add Digg Bookmark" class="bookmarksLink" id="diggButton"&gt;&lt;/A&gt;&lt;br /&gt;       &lt;A title="Add Google Bookmark" class="bookmarksLink" id="googleButton"&gt;&lt;/A&gt;&lt;br /&gt;       &lt;A title="Add Yahoo Bookmark" class="bookmarksLink" id="yahooButton"&gt;&lt;/A&gt;&lt;br /&gt;       &lt;A title="Add Technorati Bookmark" class="bookmarksLink" id="technoratiButton"&gt;&lt;/A&gt;&lt;br /&gt;       &lt;/DIV&gt;&lt;br /&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;br /&gt;                  &lt;/UL&gt;&lt;br /&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;DIV class="infoColFooter"&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;/DIV&gt;&lt;DIV class="empty"&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/9636EAF2-184A-4CB9-9F4F-21BBBE53957E/blog/" title="blog or email this clip"&gt;&lt;img src="http://content5.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-7128060735268103790?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/7128060735268103790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=7128060735268103790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/7128060735268103790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/7128060735268103790'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/09/ftp-scripts-and-utils.html' title='FTP scripts and utils'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-5415502473792162197</id><published>2007-09-26T03:58:00.001-07:00</published><updated>2007-09-26T03:58:58.949-07:00</updated><title type='text'>GAC and references</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:1FD1D039-16FA-48C3-85F2-332A28DA7504:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/80ccda5b-0f15-4a55-9530-2fa12fb38e30/1FD1D039-16FA-48C3-85F2-332A28DA7504/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://aspalliance.com/articleViewer.aspx?aId=76&amp;pId=-1" href="http://aspalliance.com/articleViewer.aspx?aId=76&amp;pId=-1" style="font-size: 11px;"&gt;aspalliance.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://aspalliance.com/articleViewer.aspx?aId=76&amp;pId=-1"&gt;&lt;TR&gt;&lt;TD class="subtitle" colspan="2"&gt;&lt;SPAN id="intellitTxt"&gt;&lt;A id="#Page2" class="pageTitle"&gt;In Depth&lt;/A&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="content" colspan="2"&gt;&lt;DIV class="KonaBody"&gt;&lt;P class="ContentFont"&gt;&lt;FONT size="2" face="Verdana"&gt;First, I recommend you create a shared directory that's easy to remember where you will store all of the assemblies that you want to show up in the dialog. For this I chose &lt;CODE&gt;C:\Program Files\Microsoft.NET\Third-Party Tools&lt;/CODE&gt; . Although we could argue about the semantics, I think this basically covers anything not included with the .NET Framework, and it is easy to remember and not user-specific.&lt;/FONT&gt;&lt;/p&gt; &lt;P class="ContentFont"&gt;&lt;FONT size="2" face="Verdana"&gt;Next, you'll want to open up that friendly program, RegEdit, and go to &lt;CODE&gt;\\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders&lt;/CODE&gt; and add a new &lt;B&gt;key&lt;/B&gt;, calling it whatever you want. It really doesn't matter what you call this except for when you look it up in the registry. For consistency's sake though, I named it 'Third-Party Tools'.  Then you simply need to change the (Default) string value to be the path to the directory you created for this purpose, which is, in my case, &lt;CODE&gt;C:\Program Files\Microsoft.NET\Third-Party Tools&lt;/CODE&gt;.  See the screen shot below for the complete picture.&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/1FD1D039-16FA-48C3-85F2-332A28DA7504/blog/" title="blog or email this clip"&gt;&lt;img src="http://content5.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-5415502473792162197?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/5415502473792162197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=5415502473792162197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5415502473792162197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5415502473792162197'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/09/gac-and-references.html' title='GAC and references'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-6653438765513540954</id><published>2007-09-25T07:58:00.001-07:00</published><updated>2007-09-25T07:58:42.784-07:00</updated><title type='text'>FTP commandline with piped parameters</title><content type='html'>&lt;div &gt; How to run a batch job that connects to ftp with a piped input &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:2C5DC860-E60A-4C3A-8371-3A005BB7BB64:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/29c73542-36d1-4e03-9936-3fc9cf356b70/2C5DC860-E60A-4C3A-8371-3A005BB7BB64/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.experts-exchange.com/Programming/Misc/Q_20691830.html?sfQueryTermInfo=1+batch+ftp" href="http://www.experts-exchange.com/Programming/Misc/Q_20691830.html?sfQueryTermInfo=1+batch+ftp" style="font-size: 11px;"&gt;www.experts-exchange.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.experts-exchange.com/Programming/Misc/Q_20691830.html?sfQueryTermInfo=1+batch+ftp"&gt;&lt;DIV id="intelliTxt" class="answerBody quoted"&gt;&lt;DIV&gt;&lt;br /&gt;ftpfiles.bat&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN class="searchTerm"&gt;ftp&lt;/SPAN&gt; -in serverName &amp;lt; ftpcommands.txt&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;===========&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;ftpcommands.txt&lt;/DIV&gt;&lt;BR /&gt;user UserName Password&lt;BR /&gt;binary&lt;BR /&gt;prompt&lt;BR /&gt;md test1&lt;BR /&gt;cd test1&lt;BR /&gt;md test2&lt;BR /&gt;quit&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;==================&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;run ftpfiles.bat&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;hec",)&lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/2C5DC860-E60A-4C3A-8371-3A005BB7BB64/blog/" title="blog or email this clip"&gt;&lt;img src="http://content5.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-6653438765513540954?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/6653438765513540954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=6653438765513540954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6653438765513540954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6653438765513540954'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/09/ftp-commandline-with-piped-parameters.html' title='FTP commandline with piped parameters'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-8017711795320917064</id><published>2007-09-24T02:18:00.001-07:00</published><updated>2007-09-24T02:18:28.594-07:00</updated><title type='text'>Using memory wisely in .NET</title><content type='html'>&lt;div &gt; Using memory wisely in .NET &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:1FECA3D2-4E96-44FA-863C-C1CCAF3DF735:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/64542d75-1c9a-4390-b776-f211346086e3/1FECA3D2-4E96-44FA-863C-C1CCAF3DF735/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://msdn.microsoft.com/msdnmag/issues/06/03/WindowsFormsPerformance/" href="http://msdn.microsoft.com/msdnmag/issues/06/03/WindowsFormsPerformance/" style="font-size: 11px;"&gt;msdn.microsoft.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://msdn.microsoft.com/msdnmag/issues/06/03/WindowsFormsPerformance/"&gt;&lt;P&gt;The physical memory used by your application is an important performance metric. You should use the least possible memory and resources so there is as much as possible left over for other processes. This is not just about being a good citizen; your application will benefit from a lower memory footprint, and this benefit can be dramatic if your memory usage is big enough to consume available physical memory and push the machine into paging. But even if you are targeting high-end machines and paging is not your main threat, you should use memory wisely. The cost of memory management in the common language runtime (CLR) can be significant for applications that allocate memory carelessly.&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/1FECA3D2-4E96-44FA-863C-C1CCAF3DF735/blog/" title="blog or email this clip"&gt;&lt;img src="http://content35302.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-8017711795320917064?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/8017711795320917064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=8017711795320917064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8017711795320917064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8017711795320917064'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/09/using-memory-wisely-in-net.html' title='Using memory wisely in .NET'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-6397583567596885289</id><published>2007-09-23T23:59:00.001-07:00</published><updated>2007-09-23T23:59:01.990-07:00</updated><title type='text'>Nero and Command Line Options</title><content type='html'>&lt;div &gt; That batch can be easily converted to pure AHK code.&lt;br/&gt;Approach is to burn all files from one folder without using Nero's Frontend.&lt;br/&gt;&lt;br/&gt;You've to change ...&lt;br/&gt;&lt;br/&gt;a) the drivename&lt;br/&gt;b) the drivespeed&lt;br/&gt;c) the destination folder&lt;br/&gt;&lt;br/&gt;Code has been taken from PC-Magazin 08/04 p. 141 &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:0768F9C2-1112-402D-9DD7-9EAF6D02D7BE:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/b841f24f-5a55-4417-8873-157cf8fd6f2f/0768F9C2-1112-402D-9DD7-9EAF6D02D7BE/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.autohotkey.com/forum/topic964.html" href="http://www.autohotkey.com/forum/topic964.html" style="font-size: 11px;"&gt;www.autohotkey.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.autohotkey.com/forum/topic964.html"&gt;&lt;table background="undefined" bgcolor=""&gt;&lt;tr&gt;&lt;TD colspan="2"&gt;&lt;SPAN class="postbody"&gt;&lt;/SPAN&gt;&lt;TABLE width="90%" cellspacing="1" cellpadding="3" border="0" align="center"&gt;&lt;TBODY&gt;&lt;TR&gt; 	  &lt;TD&gt;&lt;SPAN class="genmed"&gt;&lt;B&gt;Quote:&lt;/B&gt;&lt;/SPAN&gt;&lt;/TD&gt;	&lt;/TR&gt;	&lt;TR&gt;	  &lt;TD class="quote"&gt;cls&lt;br /&gt;&lt;br /&gt;@echo off&lt;br /&gt;&lt;br /&gt;C:\Programme\Ahead\Nero\nerocmd.exe --write --drivename &lt;SPAN&gt;&lt;SPAN&gt;d&lt;/SPAN&gt;&lt;/SPAN&gt; --speed &lt;SPAN&gt;&lt;SPAN&gt;16&lt;/SPAN&gt;&lt;/SPAN&gt; --real --tao --disable_eject --underrun_prot --iso &lt;SPAN&gt;&lt;SPAN&gt;backup&lt;/SPAN&gt;&lt;/SPAN&gt; --create_iso_fs "&lt;SPAN&gt;&lt;SPAN&gt;F:\downloads\*.*&lt;/SPAN&gt;&lt;/SPAN&gt;" --recursive --close_session --verify --nero_log_timestamp --no_user_interaction&lt;br /&gt;&lt;br /&gt;pause&lt;br /&gt;&lt;br /&gt;exit&lt;/TD&gt;	&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN class="postbody"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That batch can be easily converted to pure AHK code.&lt;br /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;br /&gt;Approach is to burn all files from one folder without using Nero's Frontend.&lt;br /&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;br /&gt;You've to change ...&lt;br /&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;a) the drivename&lt;br /&gt;&lt;br /&gt;b) the drivespeed&lt;br /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;br /&gt;c) the destination folder&lt;br /&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;&lt;SPAN&gt;&lt;SPAN&gt;Code has been taken from PC-Magazin 08/04 p. 141&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="gensmall"&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/0768F9C2-1112-402D-9DD7-9EAF6D02D7BE/blog/" title="blog or email this clip"&gt;&lt;img src="http://content26670.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-6397583567596885289?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/6397583567596885289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=6397583567596885289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6397583567596885289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6397583567596885289'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/09/nero-and-command-line-options.html' title='Nero and Command Line Options'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-8813330799616984493</id><published>2007-09-23T09:32:00.001-07:00</published><updated>2007-09-23T09:32:54.133-07:00</updated><title type='text'>Optimizing Memory usage in .NET</title><content type='html'>&lt;div &gt; Read this article and make sure you follow the best practice steps.. &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:7FB37201-3893-4B41-A582-F6082B7CA6B0:1 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clipmark/7FB37201-3893-4B41-A582-F6082B7CA6B0/" title="go to this clipmark"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/6f855ed5-1ba9-4560-bea1-54669385c8ee/7FB37201-3893-4B41-A582-F6082B7CA6B0/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://msdn.microsoft.com/msdnmag/issues/1100/GCI/" href="http://msdn.microsoft.com/msdnmag/issues/1100/GCI/" style="font-size: 11px;"&gt;msdn.microsoft.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://msdn.microsoft.com/msdnmag/issues/1100/GCI/"&gt;&lt;OL&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Allocate memory for the type that represents the resource.&lt;br /&gt;&lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Initialize the memory to set the initial state of the resource and to make the resource usable.&lt;br /&gt;&lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Use the resource by accessing the instance members of the type (repeat as necessary).&lt;br /&gt;&lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Tear down the state of the resource to clean up.&lt;br /&gt;&lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Free the memory.&lt;BR /&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/7FB37201-3893-4B41-A582-F6082B7CA6B0/blog/" title="blog or email this clip"&gt;&lt;img src="http://content2.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-8813330799616984493?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/8813330799616984493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=8813330799616984493' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8813330799616984493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8813330799616984493'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/09/optimizing-memory-usage-in-net.html' title='Optimizing Memory usage in .NET'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-8149747509161487811</id><published>2007-08-29T12:16:00.001-07:00</published><updated>2007-08-29T12:16:41.046-07:00</updated><title type='text'>Hashtable for Flex?</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:2FA57372-61C8-4FCE-8AA9-617EBF4DCF64:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/e30db22d-3aaa-47b0-ac00-64009c33f07e/2FA57372-61C8-4FCE-8AA9-617EBF4DCF64/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://livedocs.adobe.com/flex/2/langref/flash/utils/Dictionary.html" href="http://livedocs.adobe.com/flex/2/langref/flash/utils/Dictionary.html" style="font-size: 11px;"&gt;livedocs.adobe.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://livedocs.adobe.com/flex/2/langref/flash/utils/Dictionary.html"&gt;&lt;DIV class="MainContent"&gt;&lt;br /&gt;&lt;TABLE cellspacing="0" cellpadding="0" class="classHeaderTable"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="classHeaderTableLabel"&gt;Package&lt;/TD&gt;&lt;TD&gt;&lt;A href="http://livedocs.adobe.com/flex/2/langref/flash/utils/package-detail.html"&gt;flash.utils&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="classHeaderTableLabel"&gt;Class&lt;/TD&gt;&lt;TD class="classSignature"&gt;public dynamic  class Dictionary&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="classHeaderTableLabel"&gt;Inheritance&lt;/TD&gt;&lt;TD class="inheritanceList"&gt;Dictionary &lt;IMG src="http://livedocs.adobe.com/flex/2/langref/flash/utils/../../images/inherit-arrow.gif" title="Inheritance" alt="Inheritance" class="inheritArrow" /&gt; &lt;A href="http://livedocs.adobe.com/flex/2/langref/flash/utils/../../Object.html"&gt;Object&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/p&gt; The Dictionary class lets you create a dynamic collection of properties, which uses strict equality&lt;br /&gt; (&lt;CODE&gt;===&lt;/CODE&gt;) for key comparison. When an object is used as a key, the object's&lt;br /&gt; identity is used to look up the object, and not the value returned from calling &lt;CODE&gt;toString()&lt;/CODE&gt; on it.&lt;br /&gt; &lt;P&gt;The following statements show the relationship between a Dictionary object and a key object:&lt;/p&gt; &lt;PRE&gt; var dict = new Dictionary();&lt;br /&gt; var obj = new Object();&lt;br /&gt; var key:Object = new Object();&lt;br /&gt; key.toString = function() { return "key" }&lt;br /&gt;dict[key] = "Letters";&lt;br /&gt; obj["key"] = "Letters";&lt;br /&gt;dict[key] == "Letters"; // true&lt;br /&gt; obj["key"] == "Letters"; // true &lt;br /&gt; obj[key] == "Letters"; // true because key == "key" is true b/c key.toString == "key"&lt;br /&gt; dict["key"] == "Letters"; // false because "key" === key is false&lt;br /&gt; delete dict[key]; //removes the key&lt;br /&gt; &lt;/PRE&gt;&lt;br /&gt;  &lt;P&gt;&lt;/p&gt; &lt;P&gt;&lt;br /&gt;&lt;SPAN class="classHeaderTableLabel"&gt;See also&lt;/SPAN&gt;&lt;br /&gt;&lt;/p&gt; &lt;DIV class="seeAlso"&gt;&lt;br /&gt;&lt;A target="" href="http://livedocs.adobe.com/flex/2/langref/flash/utils/../../operators.html#strict_equality"&gt;=== (strict equality)&lt;/A&gt;&lt;br /&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;&lt;HR /&gt;&lt;br /&gt;&lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/2FA57372-61C8-4FCE-8AA9-617EBF4DCF64/blog/" title="blog or email this clip"&gt;&lt;img src="http://content79877.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-8149747509161487811?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/8149747509161487811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=8149747509161487811' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8149747509161487811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8149747509161487811'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/08/hashtable-for-flex.html' title='Hashtable for Flex?'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-473228867031173147</id><published>2007-08-21T04:16:00.001-07:00</published><updated>2007-08-21T04:16:28.061-07:00</updated><title type='text'>spyware setup.dll.vbs</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:B789B587-8FD0-4AEC-BE31-F0570B3A6F61:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/592aa7ce-80e2-4200-b8b5-79f094c229bf/B789B587-8FD0-4AEC-BE31-F0570B3A6F61/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.experts-exchange.com/Virus_and_Spyware/Anti-Virus/Desktop_Anti-Virus/Q_22706258.html" href="http://www.experts-exchange.com/Virus_and_Spyware/Anti-Virus/Desktop_Anti-Virus/Q_22706258.html" style="font-size: 11px;"&gt;www.experts-exchange.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.experts-exchange.com/Virus_and_Spyware/Anti-Virus/Desktop_Anti-Virus/Q_22706258.html"&gt;&lt;DIV id="intelliTxt" class="answerBody quoted"&gt;&lt;DIV&gt;&lt;br /&gt;This is more than likely spyware - run a full scan here: &lt;A target="_blank" href="http://housecall.trendmicro.com/" rel="nofollow"&gt;http://housecall.trendmicro.com/&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;Then download, install and update - then run full scans with:&lt;BR /&gt;&lt;A target="_blank" href="http://www.superantispyware.com/download.html" rel="nofollow"&gt;http://www.superantispyware.com/download&lt;WBR&gt;&lt;/WBR&gt;.html&lt;/A&gt;&lt;BR /&gt;&lt;A target="_blank" href="http://www.safer-networking.org/en/download/" rel="nofollow"&gt;http://www.safer-networking.org/en/downl&lt;WBR&gt;&lt;/WBR&gt;oad/&lt;/A&gt;&lt;BR /&gt;&lt;A target="_blank" href="http://www.lavasoftusa.com/products/ad-aware_se_personal.php" rel="nofollow"&gt;http://www.lavasoftusa.com/products/ad-a&lt;WBR&gt;&lt;/WBR&gt;ware_se_pe&lt;WBR&gt;&lt;/WBR&gt;rsonal.php&lt;WBR&gt;&lt;/WBR&gt;&lt;/A&gt;&lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/B789B587-8FD0-4AEC-BE31-F0570B3A6F61/blog/" title="blog or email this clip"&gt;&lt;img src="http://content4.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-473228867031173147?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/473228867031173147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=473228867031173147' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/473228867031173147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/473228867031173147'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/08/spyware-setupdllvbs.html' title='spyware setup.dll.vbs'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-5825227052099821401</id><published>2007-08-21T03:44:00.001-07:00</published><updated>2007-08-21T03:44:49.830-07:00</updated><title type='text'>submitting an article to codeproject</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:B3D46D4A-F5C0-413B-8AFF-2C543A20DC83:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/452b8ee9-c5fa-4b83-ac1f-ea64b5ed6467/B3D46D4A-F5C0-413B-8AFF-2C543A20DC83/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeproject.com/info/submit.asp" href="http://www.codeproject.com/info/submit.asp" style="font-size: 11px;"&gt;www.codeproject.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/info/submit.asp"&gt;&lt;table background="undefined" bgcolor=""&gt;&lt;tr&gt;&lt;TD&gt;&lt;br /&gt;&lt;H2&gt;Contents&lt;/H2&gt;&lt;br /&gt;		&lt;UL&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;A href="#intro"&gt;Introduction&lt;/A&gt;&lt;br /&gt;&lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;A href="#Prepare"&gt;Preparing Your Code&lt;/A&gt;&lt;br /&gt;&lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;A href="#Submit"&gt;Submitting Your Code&lt;/A&gt;&lt;br /&gt;&lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;A href="#Update"&gt;Updating Your Code&lt;/A&gt;&lt;br /&gt;&lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;A href="#Article"&gt;The Article&lt;/A&gt;&lt;br /&gt;&lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;A href="#Zip"&gt;The Zip File&lt;/A&gt;&lt;br /&gt;&lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;A href="#SourceCode"&gt;Sourcecode Guide&lt;/A&gt;&lt;br /&gt;&lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;A href="#Sample"&gt;Sample Project&lt;/A&gt;&lt;br /&gt;&lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;A href="#Other"&gt;Using Other's Work&lt;/A&gt;&lt;br /&gt;&lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;A href="#Elsewhere"&gt;Code Posted Elsewhere&lt;/A&gt;&lt;br /&gt;&lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;&lt;A href="#Template"&gt;The Code Project Submission Template&lt;/A&gt;&lt;/LI&gt;&lt;br /&gt;			&lt;/UL&gt;&lt;br /&gt;		&lt;/TD&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/B3D46D4A-F5C0-413B-8AFF-2C543A20DC83/blog/" title="blog or email this clip"&gt;&lt;img src="http://content3.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-5825227052099821401?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/5825227052099821401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=5825227052099821401' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5825227052099821401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/5825227052099821401'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/08/submitting-article-to-codeproject.html' title='submitting an article to codeproject'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-7808122935910703987</id><published>2007-08-21T03:33:00.001-07:00</published><updated>2007-08-21T03:33:32.978-07:00</updated><title type='text'>Run commandline and get its output / error streams - async</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:276CE919-00EF-49B5-B1B3-E43E9D134DE6:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/e3642fce-ed4f-4ac0-bee8-d1c74db70b1a/276CE919-00EF-49B5-B1B3-E43E9D134DE6/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeproject.com/cs/threads/launchprocess.asp" href="http://www.codeproject.com/cs/threads/launchprocess.asp" style="font-size: 11px;"&gt;www.codeproject.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/cs/threads/launchprocess.asp"&gt;&lt;PRE lang="cs" id="pre4"&gt;    &lt;SPAN class="cs-keyword"&gt;void&lt;/SPAN&gt; &lt;SPAN class="cs-keyword"&gt;protected&lt;/SPAN&gt; &lt;SPAN class="cs-keyword"&gt;override&lt;/SPAN&gt; &lt;SPAN class="cs-keyword"&gt;void&lt;/SPAN&gt; DoWork()()&lt;br /&gt;    {&lt;br /&gt;        &lt;SPAN class="cs-comment"&gt;// Start a new process for the cmd&lt;/SPAN&gt;&lt;br /&gt;        Process process = &lt;SPAN class="cs-keyword"&gt;new&lt;/SPAN&gt; Process();&lt;br /&gt;        process.StartInfo.UseShellExecute = &lt;SPAN class="cs-keyword"&gt;false&lt;/SPAN&gt;;&lt;br /&gt;        process.StartInfo.RedirectStandardOutput = &lt;SPAN class="cs-keyword"&gt;true&lt;/SPAN&gt;;&lt;br /&gt;        process.StartInfo.RedirectStandardError = &lt;SPAN class="cs-keyword"&gt;true&lt;/SPAN&gt;;&lt;br /&gt;        process.StartInfo.CreateNoWindow = &lt;SPAN class="cs-keyword"&gt;true&lt;/SPAN&gt;;&lt;br /&gt;        process.StartInfo.FileName = FileName;&lt;br /&gt;        process.StartInfo.Arguments = Arguments;&lt;br /&gt;        process.StartInfo.WorkingDirectory = WorkingDirectory;&lt;br /&gt;        process.Start();&lt;br /&gt;&lt;SPAN class="cs-comment"&gt;// Invoke stdOut and stdErr readers - each&lt;/SPAN&gt;&lt;br /&gt;        &lt;SPAN class="cs-comment"&gt;// has its own thread to guarantee that they aren't&lt;/SPAN&gt;&lt;br /&gt;        &lt;SPAN class="cs-comment"&gt;// blocked by, or cause a block to, the actual&lt;/SPAN&gt;&lt;br /&gt;        &lt;SPAN class="cs-comment"&gt;// process running (or the gui).&lt;/SPAN&gt;&lt;br /&gt;        &lt;SPAN class="cs-keyword"&gt;new&lt;/SPAN&gt; MethodInvoker(ReadStdOut).BeginInvoke(&lt;SPAN class="cs-keyword"&gt;null&lt;/SPAN&gt;, &lt;SPAN class="cs-keyword"&gt;null&lt;/SPAN&gt;);&lt;br /&gt;        &lt;SPAN class="cs-keyword"&gt;new&lt;/SPAN&gt; MethodInvoker(ReadStdErr).BeginInvoke(&lt;SPAN class="cs-keyword"&gt;null&lt;/SPAN&gt;, &lt;SPAN class="cs-keyword"&gt;null&lt;/SPAN&gt;);&lt;br /&gt;&lt;SPAN class="cs-comment"&gt;// Wait for the process to end, or cancel it&lt;/SPAN&gt;&lt;br /&gt;        &lt;SPAN class="cs-keyword"&gt;while&lt;/SPAN&gt; (! process.HasExited)&lt;br /&gt;        {&lt;br /&gt;            Thread.Sleep(SleepTime); &lt;SPAN class="cs-comment"&gt;// sleep&lt;/SPAN&gt;&lt;br /&gt;            &lt;SPAN class="cs-keyword"&gt;if&lt;/SPAN&gt; (CancelRequested)&lt;br /&gt;            {&lt;br /&gt;                &lt;SPAN class="cs-comment"&gt;// Not a very nice way to end a process,&lt;/SPAN&gt;&lt;br /&gt;                &lt;SPAN class="cs-comment"&gt;// but effective.&lt;/SPAN&gt;&lt;br /&gt;                process.Kill();&lt;br /&gt;                AcknowledgeCancel();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;}&lt;/PRE&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/276CE919-00EF-49B5-B1B3-E43E9D134DE6/blog/" title="blog or email this clip"&gt;&lt;img src="http://content5.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-7808122935910703987?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/7808122935910703987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=7808122935910703987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/7808122935910703987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/7808122935910703987'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/08/run-commandline-and-get-its-output.html' title='Run commandline and get its output / error streams - async'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-7664644970722268751</id><published>2007-08-20T23:35:00.001-07:00</published><updated>2007-08-20T23:35:01.441-07:00</updated><title type='text'>Spawn like the IDE</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:670E9676-B8AC-4BAB-87C6-C9F292CA17F0:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/34be4aa2-a5b4-4f3b-b489-6dfe1a8c3087/670E9676-B8AC-4BAB-87C6-C9F292CA17F0/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeproject.com/csharp/procrunner.asp" href="http://www.codeproject.com/csharp/procrunner.asp" style="font-size: 11px;"&gt;www.codeproject.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/csharp/procrunner.asp"&gt;m_StopEvent.Reset();&lt;br /&gt;    &lt;SPAN class="cs-keyword"&gt;string&lt;/SPAN&gt; SpawnArgs = &lt;SPAN class="cpp-string"&gt;" -e "&lt;/SPAN&gt; + m_StopEvent.Handle;&lt;br /&gt;    SpawnArgs += &lt;SPAN class="cpp-string"&gt;" \"&lt;/SPAN&gt;&lt;SPAN class="cpp-string"&gt;" + Filename + "&lt;/SPAN&gt;\&lt;SPAN class="cpp-string"&gt;" "&lt;/SPAN&gt; + Arguments;&lt;br /&gt;ProcessStartInfo Info = &lt;SPAN class="cs-keyword"&gt;new&lt;/SPAN&gt; ProcessStartInfo();&lt;br /&gt;    Info.FileName               = &lt;SPAN class="cpp-string"&gt;"vcspawn.exe"&lt;/SPAN&gt;;&lt;br /&gt;    Info.Arguments              = SpawnArgs;&lt;br /&gt;    Info.WorkingDirectory       = &lt;SPAN class="cpp-string"&gt;""&lt;/SPAN&gt;;&lt;br /&gt;    Info.CreateNoWindow         = &lt;SPAN class="cs-keyword"&gt;true&lt;/SPAN&gt;;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/csharp/procrunner.asp"&gt;Info.UseShellExecute        = &lt;SPAN class="cs-keyword"&gt;false&lt;/SPAN&gt;;&lt;br /&gt;    Info.RedirectStandardOutput = &lt;SPAN class="cs-keyword"&gt;true&lt;/SPAN&gt;;&lt;br /&gt;    Info.RedirectStandardError  = &lt;SPAN class="cs-keyword"&gt;true&lt;/SPAN&gt;;&lt;br /&gt;Process Proc = Process.Start(Info);&lt;br /&gt;m_StdOutReader = &lt;SPAN class="cs-keyword"&gt;new&lt;/SPAN&gt; RedirOutReader(Proc, Printer, &lt;br /&gt;        Proc.StandardOutput);&lt;br /&gt;    m_StdOutReader.Start();&lt;br /&gt;m_StdErrReader = &lt;SPAN class="cs-keyword"&gt;new&lt;/SPAN&gt; RedirOutReader(Proc, Printer, &lt;br /&gt;        Proc.StandardError);&lt;br /&gt;    m_StdErrReader.Start();            &lt;br /&gt;m_StopWaiter = &lt;SPAN class="cs-keyword"&gt;new&lt;/SPAN&gt; ProcessStopWaiter(Proc, Printer, &lt;br /&gt;        Filename, DeleteAfterRun, m_StopEvent);&lt;br /&gt;    m_StopWaiter.Start();&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/670E9676-B8AC-4BAB-87C6-C9F292CA17F0/blog/" title="blog or email this clip"&gt;&lt;img src="http://content4.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-7664644970722268751?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/7664644970722268751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=7664644970722268751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/7664644970722268751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/7664644970722268751'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/08/spawn-like-ide.html' title='Spawn like the IDE'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-9164821166714307856</id><published>2007-08-19T10:12:00.001-07:00</published><updated>2007-08-19T10:12:01.617-07:00</updated><title type='text'>A class than get output from cmd</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:2BFDA405-81AF-4B5C-B4A7-6CA361F888AA:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/f24c0efd-c948-4115-b70e-687e63660f22/2BFDA405-81AF-4B5C-B4A7-6CA361F888AA/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeproject.com/cs/library/CommandLineHelper.asp" href="http://www.codeproject.com/cs/library/CommandLineHelper.asp" style="font-size: 11px;"&gt;www.codeproject.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/cs/library/CommandLineHelper.asp"&gt;&lt;P&gt;This small class provides a very simple interface for running command line applications. It traps their standard output and error streams, and returns the output as a string. It provides method overloads to either return the errors in a second string, or to throw an exception if the error stream is non-empty. &lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/2BFDA405-81AF-4B5C-B4A7-6CA361F888AA/blog/" title="blog or email this clip"&gt;&lt;img src="http://content77448.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-9164821166714307856?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/9164821166714307856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=9164821166714307856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/9164821166714307856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/9164821166714307856'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/08/class-than-get-output-from-cmd.html' title='A class than get output from cmd'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-3429000718462142252</id><published>2007-08-19T10:11:00.001-07:00</published><updated>2007-08-19T10:11:21.437-07:00</updated><title type='text'>Run command line in C#</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:BA5B2DCA-1980-4977-9750-3E47C3E26A77:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/436ee29a-2bcc-4c73-a1f1-f2bf14613be0/BA5B2DCA-1980-4977-9750-3E47C3E26A77/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeproject.com/cs/threads/launchprocess.asp" href="http://www.codeproject.com/cs/threads/launchprocess.asp" style="font-size: 11px;"&gt;www.codeproject.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/cs/threads/launchprocess.asp"&gt;&lt;PRE lang="cs"&gt;    Process process = &lt;SPAN class="cs-keyword"&gt;new&lt;/SPAN&gt; Process();&lt;br /&gt;    process.StartInfo.UseShellExecute = &lt;SPAN class="cs-keyword"&gt;false&lt;/SPAN&gt;;&lt;br /&gt;    process.StartInfo.RedirectStandardOutput = &lt;SPAN class="cs-keyword"&gt;true&lt;/SPAN&gt;;&lt;br /&gt;    process.StartInfo.RedirectStandardError = &lt;SPAN class="cs-keyword"&gt;true&lt;/SPAN&gt;;&lt;br /&gt;    process.StartInfo.CreateNoWindow = &lt;SPAN class="cs-keyword"&gt;true&lt;/SPAN&gt;;&lt;br /&gt;    process.StartInfo.FileName = FileName;&lt;br /&gt;    process.StartInfo.Arguments = Arguments;&lt;br /&gt;    process.StartInfo.WorkingDirectory = WorkingDirectory;&lt;br /&gt;    process.Start();&lt;/PRE&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/BA5B2DCA-1980-4977-9750-3E47C3E26A77/blog/" title="blog or email this clip"&gt;&lt;img src="http://content77381.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-3429000718462142252?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/3429000718462142252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=3429000718462142252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3429000718462142252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/3429000718462142252'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/08/run-command-line-in-c.html' title='Run command line in C#'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-6754053384358049635</id><published>2007-08-05T22:32:00.000-07:00</published><updated>2007-08-05T22:34:03.792-07:00</updated><title type='text'>How to build SQL Mobile Application</title><content type='html'>It runs on PDA, and also some new phones ...&lt;br /&gt;&lt;br /&gt;See the demo:&lt;br /&gt;http://msdn.microsoft.com/seminar/shared/asp/viewInline.asp?url=/msdntv/episodes/en/20060831mobilerb/roryblyth01_demo.wmv〈=en&amp;cr=US&amp;amp;WMPVer=11.0.5721.5145&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-6754053384358049635?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/6754053384358049635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=6754053384358049635' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6754053384358049635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6754053384358049635'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/08/how-to-build-sql-mobile-application.html' title='How to build SQL Mobile Application'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-2901318997685924646</id><published>2007-07-27T09:18:00.001-07:00</published><updated>2007-07-27T09:18:02.109-07:00</updated><title type='text'>Script#</title><content type='html'>&lt;div &gt; Writing javascript in C# &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:0329A27E-0A9D-4B70-A3EA-423015F5BE4E:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/316a631c-b8ef-442d-9add-0cb160307a71/0329A27E-0A9D-4B70-A3EA-423015F5BE4E/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.nikhilk.net/Entry.aspx?id=121" href="http://www.nikhilk.net/Entry.aspx?id=121" style="font-size: 11px;"&gt;www.nikhilk.net&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.nikhilk.net/Entry.aspx?id=121"&gt;public class HelloWorldScriptlet : IScriptlet {&lt;br /&gt;private Button _okButton;&lt;br /&gt;        private TextBox _nameTextBox;&lt;br /&gt;        private Label _helloLabel;&lt;br /&gt;private XMLHttpRequest _request;&lt;br /&gt;public void Start() {&lt;br /&gt;            _okButton = new Button(Document.GetElementById("okButton"));&lt;br /&gt;            _nameTextBox = new TextBox(Document.GetElementById("nameTextBox"));&lt;br /&gt;            _helloLabel = new Label(Document.GetElementById("helloLabel"));&lt;br /&gt;_okButton.Click += new EventHandler(OnOKButtonClick);&lt;br /&gt;        }&lt;br /&gt;private void OnOKButtonClick(object sender, EventArgs e) {&lt;br /&gt;            Callback completedCallback = new Callback(this.OnRequestComplete);&lt;br /&gt;_request = new XMLHttpRequest();&lt;br /&gt;            _request.Onreadystatechange = Delegate.Unwrap(completedCallback);&lt;br /&gt;            _request.Open("GET", "Hello.axd?name=" + _nameTextBox.Text, /* async */ true);&lt;br /&gt;            _request.Send(null);&lt;br /&gt;        }&lt;br /&gt;private void OnRequestComplete() {&lt;br /&gt;            if (_request.ReadyState == 4) {&lt;br /&gt;                _request.Onreadystatechange = null;&lt;br /&gt;string greeting = _request.ResponseText;&lt;br /&gt;                _helloLabel.Text = greeting;&lt;br /&gt;            }&lt;br /&gt;        }&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/0329A27E-0A9D-4B70-A3EA-423015F5BE4E/blog/" title="blog or email this clip"&gt;&lt;img src="http://content65830.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-2901318997685924646?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/2901318997685924646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=2901318997685924646' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2901318997685924646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2901318997685924646'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/07/script.html' title='Script#'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-8947092530442442827</id><published>2007-07-05T01:12:00.001-07:00</published><updated>2007-07-05T01:12:57.380-07:00</updated><title type='text'>Export .NET to COM</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:D2714F67-2349-49A2-BDC5-87268917F701:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/7a5abc63-316a-46d1-88bc-7d766cf5a5da/D2714F67-2349-49A2-BDC5-87268917F701/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeproject.com/dotnet/nettocom.asp" href="http://www.codeproject.com/dotnet/nettocom.asp" style="font-size: 11px;"&gt;www.codeproject.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/dotnet/nettocom.asp"&gt;&lt;PRE id="pre0"&gt;using System;&lt;br /&gt;using System.Runtime.InteropServices;&lt;br /&gt;&lt;SPAN class="cpp-keyword"&gt;namespace&lt;/SPAN&gt; Tester&lt;br /&gt;{&lt;br /&gt;	[Guid(&lt;SPAN class="cpp-string"&gt;"D6F88E95-8A27-4ae6-B6DE-0542A0FC7039"&lt;/SPAN&gt;)]&lt;br /&gt;	[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]&lt;br /&gt;	&lt;SPAN class="cpp-keyword"&gt;public&lt;/SPAN&gt; interface _Numbers&lt;br /&gt;	{&lt;br /&gt;		[DispId(&lt;SPAN class="cpp-literal"&gt;1&lt;/SPAN&gt;)]&lt;br /&gt;		&lt;SPAN class="cpp-keyword"&gt;int&lt;/SPAN&gt; GetDay();&lt;br /&gt;[DispId(&lt;SPAN class="cpp-literal"&gt;2&lt;/SPAN&gt;)]&lt;br /&gt;		&lt;SPAN class="cpp-keyword"&gt;int&lt;/SPAN&gt; GetMonth();&lt;br /&gt;[DispId(&lt;SPAN class="cpp-literal"&gt;3&lt;/SPAN&gt;)]&lt;br /&gt;		&lt;SPAN class="cpp-keyword"&gt;int&lt;/SPAN&gt; GetYear();&lt;br /&gt;[DispId(&lt;SPAN class="cpp-literal"&gt;4&lt;/SPAN&gt;)]&lt;br /&gt;		&lt;SPAN class="cpp-keyword"&gt;int&lt;/SPAN&gt; DayOfYear();&lt;br /&gt;	}&lt;br /&gt;[Guid(&lt;SPAN class="cpp-string"&gt;"13FE32AD-4BF8-495f-AB4D-6C61BD463EA4"&lt;/SPAN&gt;)]&lt;br /&gt;	[ClassInterface(ClassInterfaceType.None)]&lt;br /&gt;	[ProgId(&lt;SPAN class="cpp-string"&gt;"Tester.Numbers"&lt;/SPAN&gt;)]&lt;br /&gt;	&lt;SPAN class="cpp-keyword"&gt;public&lt;/SPAN&gt; &lt;SPAN class="cpp-keyword"&gt;class&lt;/SPAN&gt; Numbers : _Numbers&lt;br /&gt;	{&lt;br /&gt;		&lt;SPAN class="cpp-keyword"&gt;public&lt;/SPAN&gt; Numbers(){}&lt;br /&gt;&lt;SPAN class="cpp-keyword"&gt;public&lt;/SPAN&gt; &lt;SPAN class="cpp-keyword"&gt;int&lt;/SPAN&gt; GetDay()&lt;br /&gt;		{&lt;br /&gt;			&lt;SPAN class="cpp-keyword"&gt;return&lt;/SPAN&gt;(DateTime.Today.Day);&lt;br /&gt;		}&lt;br /&gt;&lt;SPAN class="cpp-keyword"&gt;public&lt;/SPAN&gt; &lt;SPAN class="cpp-keyword"&gt;int&lt;/SPAN&gt; GetMonth()&lt;br /&gt;		{&lt;br /&gt;			&lt;SPAN class="cpp-keyword"&gt;return&lt;/SPAN&gt;(DateTime.Today.Month);&lt;br /&gt;		}&lt;br /&gt;&lt;SPAN class="cpp-keyword"&gt;public&lt;/SPAN&gt; &lt;SPAN class="cpp-keyword"&gt;int&lt;/SPAN&gt; GetYear()&lt;br /&gt;		{&lt;br /&gt;			&lt;SPAN class="cpp-keyword"&gt;return&lt;/SPAN&gt;(DateTime.Today.Year);&lt;br /&gt;		}&lt;br /&gt;&lt;SPAN class="cpp-keyword"&gt;public&lt;/SPAN&gt; &lt;SPAN class="cpp-keyword"&gt;int&lt;/SPAN&gt; DayOfYear()&lt;br /&gt;		{&lt;br /&gt;			&lt;SPAN class="cpp-keyword"&gt;return&lt;/SPAN&gt;(DateTime.Now.DayOfYear);&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;}&lt;br /&gt;&lt;/PRE&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/D2714F67-2349-49A2-BDC5-87268917F701/blog/" title="blog or email this clip"&gt;&lt;img src="http://content2.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-8947092530442442827?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/8947092530442442827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=8947092530442442827' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8947092530442442827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8947092530442442827'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/07/export-net-to-com.html' title='Export .NET to COM'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-4206358213822023221</id><published>2007-07-04T13:08:00.001-07:00</published><updated>2007-07-04T13:08:14.742-07:00</updated><title type='text'>NHibernate SessionScope in ASP.NET</title><content type='html'>&lt;div &gt; Getting started with NHibernate and Log4Net &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:CE5415F3-44BD-4CB6-A91A-7DEDCCCB4546:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/704c1f89-7324-466b-91b7-a01f54c811d7/CE5415F3-44BD-4CB6-A91A-7DEDCCCB4546/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.beansoftware.com/ASP.NET-Tutorials/NHibernate-Log4Net.aspx" href="http://www.beansoftware.com/ASP.NET-Tutorials/NHibernate-Log4Net.aspx" style="font-size: 11px;"&gt;www.beansoftware.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.beansoftware.com/ASP.NET-Tutorials/NHibernate-Log4Net.aspx"&gt;&lt;H2&gt;Going on with session&lt;/H2&gt;&lt;br /&gt;&lt;P class="ArticleText"&gt;As in ADO.NET we use database connection class to create queries or data adapter, &lt;br /&gt;in NHibernate we use session object which is responsible for maintaining connection to database, &lt;br /&gt;loading data into domain objects, detecting changes to domain object and syncing domain state with database. &lt;br /&gt;NHibernate requires at least one session to work. As NHibernate caches domain object instances to &lt;br /&gt;ensure that single row is loaded only once from database multi-user work with one session object is questionable. &lt;br /&gt;This issue differ usage of NHibernate in WinForms and ASP.NET application. &lt;br /&gt;The general idea is to have only one session per request and this can be achieved &lt;br /&gt;either by using singleton pattern on using HttpModule. We will use the last one. &lt;br /&gt;To do this we need to create a custom class, make it inherit IHttpModule interface &lt;/P&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.beansoftware.com/ASP.NET-Tutorials/NHibernate-Log4Net.aspx"&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;httpModules&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;add&lt;/SPAN&gt;&lt;SPAN&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;br /&gt;type&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;SPAN&gt;Dummy.DAL.NHibernateHttpModule&lt;/SPAN&gt;"&lt;SPAN&gt;&lt;br /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;name&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;"&lt;SPAN&gt;NHibernateHttpModule&lt;/SPAN&gt;"&lt;SPAN&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN&gt;  &amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;httpModules&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/CE5415F3-44BD-4CB6-A91A-7DEDCCCB4546/blog/" title="blog or email this clip"&gt;&lt;img src="http://content4.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-4206358213822023221?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/4206358213822023221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=4206358213822023221' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/4206358213822023221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/4206358213822023221'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/07/nhibernate-sessionscope-in-aspnet.html' title='NHibernate SessionScope in ASP.NET'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12613863.post-1169546860843214710</id><published>2007-07-04T10:10:00.001-07:00</published><updated>2007-07-04T10:10:12.392-07:00</updated><title type='text'>high-performance, distributed memory object caching system</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:4F16D660-AE74-4652-BAAD-6F0DC1436D8C:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/82051130-bcec-45e6-91f6-69391c038734/4F16D660-AE74-4652-BAAD-6F0DC1436D8C/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.danga.com/memcached/" href="http://www.danga.com/memcached/" style="font-size: 11px;"&gt;www.danga.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.danga.com/memcached/"&gt;&lt;H2&gt;What is &lt;TT class="mem"&gt;memcached&lt;/TT&gt;?&lt;/H2&gt;&lt;br /&gt;&lt;P&gt;&lt;TT class="mem"&gt;memcached&lt;/TT&gt; is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.&lt;/p&gt; &lt;P&gt;&lt;A href="http://www.danga.com/"&gt;Danga Interactive&lt;/A&gt; developed &lt;TT class="mem"&gt;memcached&lt;/TT&gt; to enhance the speed of &lt;A href="http://www.livejournal.com/"&gt;LiveJournal.com&lt;/A&gt;, a site which was already doing 20 million+ dynamic page views per day for 1 million users with a bunch of webservers and a bunch of database servers.  &lt;TT class="mem"&gt;memcached&lt;/TT&gt; dropped the database load to almost nothing, yielding faster page load times for users, better resource utilization, and faster access to the databases on a memcache miss.&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/4F16D660-AE74-4652-BAAD-6F0DC1436D8C/blog/" title="blog or email this clip"&gt;&lt;img src="http://content4.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-1169546860843214710?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/1169546860843214710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=1169546860843214710' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/1169546860843214710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/1169546860843214710'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/07/high-performance-distributed-memory.html' title='high-performance, distributed memory object caching system'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-2462949137437781531</id><published>2007-07-04T10:06:00.001-07:00</published><updated>2007-07-04T10:06:06.219-07:00</updated><title type='text'>Anonymous Class  - C# 3.0</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:CFCAEB01-A954-4C42-820C-124E2EA152DC:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/f117d9fa-ef7a-4281-9a3c-d724cab94e05/CFCAEB01-A954-4C42-820C-124E2EA152DC/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.strangelights.com/blog/archive/2005/10/10/1264.aspx" href="http://www.strangelights.com/blog/archive/2005/10/10/1264.aspx" style="font-size: 11px;"&gt;www.strangelights.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.strangelights.com/blog/archive/2005/10/10/1264.aspx"&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;public class var { … } &lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;O:P _moz-userdefined=""&gt;&lt;FONT size="2" face="Verdana"&gt; &lt;/FONT&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;public class Program&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;{&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;         &lt;/SPAN&gt;public void MyMethod (var thing1, // does this mean var keyword or var class??&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                   &lt;/SPAN&gt;string thing2,&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                   &lt;/SPAN&gt;int thing3)&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;         &lt;/SPAN&gt;{&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                   &lt;/SPAN&gt;var myString = “Hello, world”;&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                            &lt;/SPAN&gt;// var here means string (System.String)&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                   &lt;/SPAN&gt;var myInt = 1;&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                            &lt;/SPAN&gt;// var here means int (System.Int32)&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                   &lt;/SPAN&gt;var myVar = new var();&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                            &lt;/SPAN&gt;// var here means the class var&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                   &lt;/SPAN&gt;var myVar2 = null;&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;// does this mean var keyword or var class??&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                   &lt;/SPAN&gt;var myVar3;&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;// does this mean var keyword or var class??&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;}&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;}&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;O:P _moz-userdefined=""&gt;&lt;FONT size="2" face="Verdana"&gt; &lt;/FONT&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.strangelights.com/blog/archive/2005/10/10/1264.aspx"&gt;&lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;private void Form1_Load(object sender, EventArgs e)&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;        &lt;/SPAN&gt;{&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;            &lt;/SPAN&gt;var methods = typeof(string).GetMethods();&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;            &lt;/SPAN&gt;var methodDetails = &lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                &lt;/SPAN&gt;from m in methods&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                &lt;/SPAN&gt;where ! m.IsStatic&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                &lt;/SPAN&gt;orderby m.Name&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                &lt;/SPAN&gt;select new {&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                    &lt;/SPAN&gt;Name = m.Name, &lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                    &lt;/SPAN&gt;CallingConvention = m.CallingConvention, &lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                    &lt;/SPAN&gt;Abstract = m.IsAbstract,&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                    &lt;/SPAN&gt;Virtual = m.IsVirtual, &lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                    &lt;/SPAN&gt;Public = m.IsPublic &lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;                &lt;/SPAN&gt;} ;&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;O:P _moz-userdefined=""&gt;&lt;FONT size="2" face="Verdana"&gt; &lt;/FONT&gt;&lt;/O:P&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;            &lt;/SPAN&gt;BindingSource bindingSource = new BindingSource();&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;            &lt;/SPAN&gt;bindingSource.DataSource = methodDetails;&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;            &lt;/SPAN&gt;dataGridView1.DataSource = bindingSource;&lt;O:P _moz-userdefined=""&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/p&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN lang="EN-GB"&gt;&lt;FONT size="2"&gt;&lt;FONT face="Verdana"&gt;&lt;SPAN&gt;        &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/CFCAEB01-A954-4C42-820C-124E2EA152DC/blog/" title="blog or email this clip"&gt;&lt;img src="http://content5.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-2462949137437781531?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/2462949137437781531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=2462949137437781531' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2462949137437781531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/2462949137437781531'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/07/anonymous-class-c-30.html' title='Anonymous Class  - C# 3.0'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-8477256083263627253</id><published>2007-07-04T07:51:00.001-07:00</published><updated>2007-07-04T07:51:38.733-07:00</updated><title type='text'>How to expose .NET library to COM</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:31A2214B-5F14-4E00-96CB-597F977DF9AC:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/7f9e2f33-8f73-4cea-a66b-4b560094eef6/31A2214B-5F14-4E00-96CB-597F977DF9AC/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeproject.com/dotnet/nettocom.asp" href="http://www.codeproject.com/dotnet/nettocom.asp" style="font-size: 11px;"&gt;www.codeproject.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/dotnet/nettocom.asp"&gt;&lt;P&gt;The problem is, suppose that I have written a nice library, set of utility functions, etc.. running under the .NET Framework, however I want to use this under pre .NET development environments. For SimonS he would like to use VB6 specifically. Enter the COM Callable Wrapper (CCW) to create a proxy that will provide access to our functions through interface pointers. This can be accomplished through the use of those fun little attribute tags (I keep finding them more and more useful everyday) and with an interface of course. &lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/31A2214B-5F14-4E00-96CB-597F977DF9AC/blog/" title="blog or email this clip"&gt;&lt;img src="http://content1.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-8477256083263627253?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/8477256083263627253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=8477256083263627253' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8477256083263627253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8477256083263627253'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/07/how-to-expose-net-library-to-com.html' title='How to expose .NET library to COM'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-8337889847408175805</id><published>2007-07-04T07:04:00.001-07:00</published><updated>2007-07-04T07:04:32.523-07:00</updated><title type='text'>CCW - COM Callable Wrapper</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:0148F1A2-D707-425B-9078-7712DEAA522E:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/87a21a12-6024-4a83-8157-64fdd74ea95a/0148F1A2-D707-425B-9078-7712DEAA522E/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://msdn2.microsoft.com/en-us/library/f07c8z1c.aspx" href="http://msdn2.microsoft.com/en-us/library/f07c8z1c.aspx" style="font-size: 11px;"&gt;msdn2.microsoft.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://msdn2.microsoft.com/en-us/library/f07c8z1c.aspx"&gt;&lt;DIV class="title"&gt;COM Callable Wrapper &lt;br /&gt;        &lt;/DIV&gt;&lt;DIV id="mainSection"&gt; &lt;DIV id="mainBody"&gt;  &lt;P&gt; &lt;/P&gt;&lt;P&gt;When a COM client calls a .NET object, the common language runtime creates the managed object and a COM callable wrapper (CCW) for the object. Unable to reference a .NET object directly, COM clients use the CCW as a proxy for the managed object.&lt;/P&gt; &lt;P&gt;The runtime creates exactly one CCW for a managed object, regardless of the number of COM clients requesting its services. As the following illustration shows, multiple COM clients can hold a reference to the CCW that exposes the INew interface. The CCW, in turn, holds a single reference to the managed object that implements the interface and is garbage collected. Both COM and .NET clients can make requests on the same managed object simultaneously.&lt;/P&gt; &lt;DIV class="labelheading"&gt;&lt;B&gt;Accessing .NET objects through COM callable wrapper&lt;/B&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;IMG src="http://msdn2.microsoft.com/en-us/library/f07c8z1c.Local_-1815370085_ccw(en-us,VS.85).gif" alt="COM callable wrapper" /&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/0148F1A2-D707-425B-9078-7712DEAA522E/blog/" title="blog or email this clip"&gt;&lt;img src="http://content2.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-8337889847408175805?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/8337889847408175805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=8337889847408175805' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8337889847408175805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/8337889847408175805'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/07/ccw-com-callable-wrapper.html' title='CCW - COM Callable Wrapper'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12613863.post-272576110949184229</id><published>2007-07-04T06:33:00.001-07:00</published><updated>2007-07-04T06:33:13.061-07:00</updated><title type='text'>.NET-COM RCW Marshalling</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:DC50347D-C578-4608-87F0-1A58665A99E2:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/462f5636-a556-4109-a84b-55f25f1f955a/DC50347D-C578-4608-87F0-1A58665A99E2/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeproject.com/dotnet/COM_DOTNET_INTEROP.asp" href="http://www.codeproject.com/dotnet/COM_DOTNET_INTEROP.asp" style="font-size: 11px;"&gt;www.codeproject.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/dotnet/COM_DOTNET_INTEROP.asp"&gt;&lt;H2&gt;.NET Marshalling &lt;/H2&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/dotnet/COM_DOTNET_INTEROP.asp"&gt;&lt;P&gt;Thus .NET runtime automatically generates code to translate calls between managed code and unmanaged code. While transferring calls between these two codes, .NET handles the data type conversion also. This technique of automatically binding with the server data type to the client data type is known as marshalling. Marshaling occurs between managed heap and unmanaged heap. For example, Fig.4 shows a call from the .NET client to a COM component. This sample call passes a .NET string from the client. The RCW converts this .NET data type into the COM compatible data type. In this case COM compatible data type is &lt;CODE&gt;BSTR&lt;/CODE&gt;. Thus the RCW converts the .NET string into COM compatible &lt;CODE&gt;BSTR&lt;/CODE&gt;. This &lt;CODE&gt;BSTR &lt;/CODE&gt;will be passed to the object and the required calls will be made. The results will be returned to back to the RCW. The RCW converts this COM compatible result to .NET native data type.&lt;/P&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/dotnet/COM_DOTNET_INTEROP.asp"&gt;&lt;div align="center"&gt;&lt;img src="http://content4.clipmarks.com/blog_cache/www.codeproject.com/img/D7635DCD-8596-48B4-89E2-8A663B7A7DB0" alt="" /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="height: 2px; font-size: 2px; background: #dcdcdc; border-bottom: solid 1px #f5f5f5; margin: 2px 4px;"&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/dotnet/COM_DOTNET_INTEROP.asp"&gt;&lt;OL&gt;&lt;br /&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;Interop marshalling &lt;br /&gt;&lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt;COM marshalling &lt;/LI&gt;&lt;/OL&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/DC50347D-C578-4608-87F0-1A58665A99E2/blog/" title="blog or email this clip"&gt;&lt;img src="http://content5.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-272576110949184229?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/272576110949184229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=272576110949184229' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/272576110949184229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/272576110949184229'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/07/net-com-rcw-marshalling.html' title='.NET-COM RCW Marshalling'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-6236744358827916194</id><published>2007-07-04T06:04:00.001-07:00</published><updated>2007-07-04T06:04:52.251-07:00</updated><title type='text'>.NET-COM Model</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:09C1ED5A-9A94-4EB3-B2B5-08C47719A031:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/a2a6bec8-f6fe-4d08-b703-61399f54e45b/09C1ED5A-9A94-4EB3-B2B5-08C47719A031/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeproject.com/dotnet/COM_DOTNET_INTEROP.asp" href="http://www.codeproject.com/dotnet/COM_DOTNET_INTEROP.asp" style="font-size: 11px;"&gt;www.codeproject.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/dotnet/COM_DOTNET_INTEROP.asp"&gt;&lt;P&gt;CCW will be created by the .NET utility &lt;EM&gt;RegAsm.exe&lt;/EM&gt;. This reads metadata of the .NET component and generates the CCW. This tool will make a registry entry for the .NET components.&lt;/p&gt; &lt;P&gt;&lt;IMG width="575" height="267" src="http://www.codeproject.com/dotnet/COM_DOTNET_INTEROP/image003.jpg" /&gt;&lt;/p&gt; &lt;P&gt;&lt;I&gt;Fig.3 calling a .NET component from COM client&lt;/I&gt;&lt;/p&gt; &lt;P&gt;Generally COM client instantiates objects through its native method &lt;CODE&gt;coCreateInstance&lt;/CODE&gt;. While interacting with .NET objects, the COM client creates .NET objects by &lt;CODE&gt;coCreateInstance &lt;/CODE&gt;through CCW.&lt;/P&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/09C1ED5A-9A94-4EB3-B2B5-08C47719A031/blog/" title="blog or email this clip"&gt;&lt;img src="http://content3.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-6236744358827916194?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/6236744358827916194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=6236744358827916194' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6236744358827916194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6236744358827916194'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/07/net-com-model.html' title='.NET-COM Model'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-6919547101571282959</id><published>2007-07-04T05:46:00.001-07:00</published><updated>2007-07-04T05:46:11.786-07:00</updated><title type='text'>tags need to use serviced component</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:56921F08-B92C-495C-B567-7C955A35A8CD:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/25eba516-3f33-4755-a72c-5d7d3f074491/56921F08-B92C-495C-B567-7C955A35A8CD/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeproject.com/dotnet/cominterop.asp" href="http://www.codeproject.com/dotnet/cominterop.asp" style="font-size: 11px;"&gt;www.codeproject.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/dotnet/cominterop.asp"&gt;&lt;SPAN class="cpp-preprocessor"&gt;#import "mscorlib.tlb"&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN class="cpp-comment"&gt;// Import the .NET component's typelibrary&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN class="cpp-preprocessor"&gt;#import "HelloDotNet.tlb" no_namespace&lt;/SPAN&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/56921F08-B92C-495C-B567-7C955A35A8CD/blog/" title="blog or email this clip"&gt;&lt;img src="http://content5.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-6919547101571282959?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/6919547101571282959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=6919547101571282959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6919547101571282959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6919547101571282959'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/07/tags-need-to-use-serviced-component.html' title='tags need to use serviced component'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-7725408483155683423</id><published>2007-07-04T05:40:00.001-07:00</published><updated>2007-07-04T05:40:05.740-07:00</updated><title type='text'>consuming .NET assembly as COM</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:8F87B71C-EC18-4C3A-B680-F6D6FB5F8C30:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/5b90d60a-252f-4cc9-b3d6-31f2555d8450/8F87B71C-EC18-4C3A-B680-F6D6FB5F8C30/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://www.codeproject.com/dotnet/cominterop.asp" href="http://www.codeproject.com/dotnet/cominterop.asp" style="font-size: 11px;"&gt;www.codeproject.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://www.codeproject.com/dotnet/cominterop.asp"&gt;In the latter half of this article, we took a dip into exploring how COM aware clients from the pre-.NET era could consume .NET components as if they were classic COM components. We saw how the &lt;I&gt;CCW&lt;/I&gt; and the &lt;I&gt;CLR&lt;/I&gt; facilitate this to happen seamlessly from a programming perspective. We briefly explored the possibilities of using &lt;I&gt;attributes&lt;/I&gt; to emit metadata into .NET types so that the typelibrary generated could be tailored and fine-tuned to your requirements. We looked at how the exception handling mechanisms in the two worlds are correlative. We also discussed about how to go about receiving asynchronous event notifications from .NET components in unmanaged event sinks. Then, we turned our attention to the deployment options available and how to deploy .NET components as &lt;I&gt;Shared assemblies&lt;/I&gt;. Lastly, we discussed the thread-neutral behavior of .NET components and saw how Context-agile .NET components are analogous to Classic COM &lt;I&gt;'Both'&lt;/I&gt; threaded components&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/8F87B71C-EC18-4C3A-B680-F6D6FB5F8C30/blog/" title="blog or email this clip"&gt;&lt;img src="http://content2.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-7725408483155683423?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/7725408483155683423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=7725408483155683423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/7725408483155683423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/7725408483155683423'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/07/consuming-net-assembly-as-com.html' title='consuming .NET assembly as COM'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-6520540988552529036</id><published>2007-07-03T11:30:00.001-07:00</published><updated>2007-07-03T11:30:48.151-07:00</updated><title type='text'>Creating a template item with Wizard</title><content type='html'>&lt;div &gt;  &lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="margin: 12px 0px; font-family: arial; color: #333333; background: #ffffff; border: solid 4px #e5e5e5; width: 100%; clear: left;"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;!-- BEGIN_CLIP_CONTENT ID:CA37F284-22E7-439B-BCB4-3DF4211F7992:0 CLIPMARKS.COM --&gt;&lt;div class="CM_CTB_Content_Wrap" style="margin: 0px; padding: 0px;background-color: #ffffff;"&gt;&lt;div style="border-bottom: solid 1px #dcdcdc; white-space: nowrap; margin-bottom: 8px; background-color: #eeeeee ;background-image: url(http://clipmarks.com/images/source-bg.gif); background-repeat: repeat-x; height: 24px; line-height: 24px; vertical-align: middle; padding-bottom: 4px; color: #666666; font-size: 10px;" &gt;&lt;a href="http://clipmarks.com/clip-to-blog/" title="clipmarks' clip-to-blog"&gt;&lt;img src="http://content.clipmarks.com/blog_icon/325be004-69a3-4c3a-afc5-08dcad4caf0b/CA37F284-22E7-439B-BCB4-3DF4211F7992/" alt="" width="19" height="19" border="0" style="vertical-align: middle; margin: 0px 4px; display: inline; border: none; float:none;" /&gt;&lt;/a&gt;clipped from &lt;a title="http://msdn2.microsoft.com/en-us/library/ms185301(VS.80).aspx" href="http://msdn2.microsoft.com/en-us/library/ms185301(VS.80).aspx" style="font-size: 11px;"&gt;msdn2.microsoft.com&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="text-align: left; padding: 0px 8px; margin: 4px 0px 8px 0px; background: transparent; border: none;" cite="http://msdn2.microsoft.com/en-us/library/ms185301(VS.80).aspx"&gt;&lt;H3 class="procedureSubHeading"&gt;To create a custom template wizard&lt;/H3&gt;&lt;DIV class="subSection"&gt;&lt;OL&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt; &lt;P&gt;Create an assembly that implements the &lt;B&gt;IWizard&lt;/B&gt; interface.&lt;/P&gt; &lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt; &lt;P&gt;Install the assembly into the global assembly cache.&lt;/P&gt; &lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt; &lt;P&gt;Create a project and use the &lt;B&gt;Export Template&lt;/B&gt; wizard to create a template from the project.&lt;/P&gt; &lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt; &lt;P&gt;Modify the template by adding a &lt;B&gt;WizardExtension&lt;/B&gt; element in the .vstemplate file to link the template to the assembly that implements &lt;B&gt;IWizard&lt;/B&gt;.&lt;/P&gt; &lt;/LI&gt;&lt;li style="margin-left:16px;padding-left: 0px;"&gt; &lt;P&gt;Create a new project using the custom wizard.&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="margin: 0px 6px 6px 4px;"&gt;&lt;table style="font-size: 11px;border-spacing: 0px;padding: 0px;" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td style="background:transparent;border-width:0px;padding:0px;"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="right" style="background:transparent;border-width:0px;padding:0px;width:107px" width="107"&gt;&lt;a href="http://clipmarks.com/share/CA37F284-22E7-439B-BCB4-3DF4211F7992/blog/" title="blog or email this clip"&gt;&lt;img src="http://content81242.clipmarks.com/images/c2b-foot.png" border="0" alt="blog it" width="107" height="17" style="border-width:0px;padding:0px;margin:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- END_CLIP_CONTENT --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12613863-6520540988552529036?l=breezback.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://breezback.blogspot.com/feeds/6520540988552529036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12613863&amp;postID=6520540988552529036' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6520540988552529036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12613863/posts/default/6520540988552529036'/><link rel='alternate' type='text/html' href='http://breezback.blogspot.com/2007/07/creating-template-item-with-wizard.html' title='Creating a template item with Wizard'/><author><name>breezback</name><uri>http://www.blogger.com/profile/14238238239238999787</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-12613863.post-5626300654248318211</id><pu
