<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://devpinoy.org/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Coldapoy&amp;#39;s Technical Blog</title><subtitle type="html">&amp;quot;Programming is like sex: one mistake and you have to support it for the rest of your life&amp;quot;</subtitle><id>http://devpinoy.org/blogs/coldapoy/atom.aspx</id><link rel="alternate" type="text/html" href="http://devpinoy.org/blogs/coldapoy/default.aspx" /><link rel="self" type="application/atom+xml" href="http://devpinoy.org/blogs/coldapoy/atom.aspx" /><generator uri="http://communityserver.org" version="4.1.31106.3070">Community Server</generator><updated>2008-06-22T17:35:00Z</updated><entry><title>MPAA Hacker Spied on The Pirate Bay</title><link rel="alternate" type="text/html" href="/blogs/coldapoy/archive/2008/07/26/mpaa-hacker-spied-on-the-pirate-bay.aspx" /><id>/blogs/coldapoy/archive/2008/07/26/mpaa-hacker-spied-on-the-pirate-bay.aspx</id><published>2008-07-27T04:54:00Z</published><updated>2008-07-27T04:54:00Z</updated><content type="html">&lt;h2&gt;MPAA Hacker Spied on The Pirate Bay&lt;/h2&gt;
&lt;div class="single-excerpt"&gt;
&lt;p&gt;Court documents show that a hacker, hired by the MPAA, offered to reveal the identities of the Pirate Bay founders. The hacker, who also retrieved private information from TorrentSpy, was paid $15.000 for his efforts.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img align="right" src="http://torrentfreak.com//images/tpb.jpg" alt="pirate bay hacker" /&gt;It turns out that the MPAA will do pretty much anything to obtain information about BitTorrent sites and its users. Back in 2006, they made a deal with a &amp;ldquo;hacker&amp;rdquo;, better known as Robert Anderson, to steal e-mail correspondence and trade secrets from TorrentSpy. &lt;/p&gt;
&lt;p&gt;The hacker later admitted that this was indeed true, and in a surprising turn of events, he switched sides, and joined TorrentSpy. The court case between the MPAA and TorrentSpy eventually led to the downfall of TorrentSpy, but it turned out that the MPAA was also interested in intel on The Pirate Bay.&lt;/p&gt;
&lt;p&gt;Cnet cites court documents showing that Anderson wrote to the MPAA: &amp;ldquo;We can provide the names, address, and phone (numbers) of the owners of Torrentspy.com and Thepiratebay.org &amp;mdash; along with evidence, including correspondence between the two companies.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;In addition, the court documents reveal that MPAA&amp;rsquo;s Dean Garfield stated: &amp;ldquo;We were going to get information about the location and identity of the people who were running Torrentspy, as well as information related to a general conspiracy and relationship between Torrentspy and a number of other prominent services including ThePirateBay.&amp;rdquo; &lt;/p&gt;
&lt;p&gt;I a response to the news, Pirate Bay co-founder Peter Sunde told TorrentFreak: &amp;ldquo;We&amp;rsquo;re very open with what we do. I think the e-mails between us and Justin would be something along the lines with &amp;ldquo;what&amp;rsquo;s up with the scraper that is going berserk&amp;rdquo; or &amp;ldquo;what the *** is up with that filerights-***?&amp;rdquo;.. I think it&amp;rsquo;s amazingly funny if the MPAA bought information like that, expensively, and against the US law. Only proves their stupidity and that they have no case.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The Pirate Bay has always been one of the main targets of the MPAA. In 2006, John Malcolm, Executive Vice President of the MPAA wrote a letter to Sweden&amp;rsquo;s State Secretary in which he urged the authorities to take action against the site: &amp;ldquo;It is certainly not in Sweden&amp;rsquo;s best interests to earn a reputation among other nations and trading partners as a place where utter lawlessness with respect to intellectual property rights is tolerated.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;It is of course interesting to see that the MPAA is interested in the identities of the Pirate Bay founders, but they could have easily done a Google search, because that info is pretty much public information. I guess they rather use a hacker.&lt;/p&gt;
&lt;p&gt;The Pirate Bay website is offline at the moment, unrelated to this news, as they are doing some server maintenance and site upgrades. They will be back soon.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=26531" width="1" height="1"&gt;</content><author><name>coldapoy</name><uri>http://devpinoy.org/members/coldapoy/default.aspx</uri></author><category term="Torrent" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Torrent/default.aspx" /></entry><entry><title>Javascript String Split Function</title><link rel="alternate" type="text/html" href="/blogs/coldapoy/archive/2008/07/26/javascript-string-split-function.aspx" /><id>/blogs/coldapoy/archive/2008/07/26/javascript-string-split-function.aspx</id><published>2008-07-27T04:38:00Z</published><updated>2008-07-27T04:38:00Z</updated><content type="html">&lt;p&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="color:#548dd4;mso-themecolor:text2;mso-themetint:153;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;
&lt;p&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;The ability to split up a string into separate chunks has been supported in many programming languages and it is available in Javascript as well. If you had a long string like &amp;quot;Bobby Susan Tracy Jack Phil Yannis&amp;quot; and wanted to store each name separately, you could specify the space character &amp;quot; &amp;quot; and have the split function create a new chunk every time it saw a space.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="color:#548dd4;mso-themecolor:text2;mso-themetint:153;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Split Function: Delimiter&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;The space character &amp;quot; &amp;quot; we mentioned will be our delimiter and is used by the split function as a way of breaking up the string. Every time it sees the delimiter that we specified it will create a new element in an array. The first argument of the split function is the delimiter.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="color:#548dd4;mso-themecolor:text2;mso-themetint:153;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Simple Split Function Example&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;Let&amp;#39;s start off with a little example that takes a string of numbers and splits when it sees the number 5. That means the delimiter for this example is 5. Notice that the split function returns an array that we store into mySplitResult.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;line-height:normal;mso-outline-level:2;" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color:#548dd4;mso-themecolor:text2;mso-themetint:153;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:EN-GB;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Javscript Code:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;div style="padding-right:4pt;padding-left:4pt;background:#b5cfe0;padding-bottom:15pt;padding-top:4pt;mso-element:para-border-div;border:#003b62 1.5pt solid;"&gt;
&lt;p style="background:#b5cfe0;margin:0cm 0cm 0pt;line-height:normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;mso-border-alt:solid #003B62 1.5pt;mso-padding-alt:4.0pt 4.0pt 15.0pt 4.0pt;padding:0cm;" class="MsoNormal"&gt;&lt;span style="font-size:8.5pt;color:black;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:EN-GB;"&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="background:#b5cfe0;margin:0cm 0cm 0pt;line-height:normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;mso-border-alt:solid #003B62 1.5pt;mso-padding-alt:4.0pt 4.0pt 15.0pt 4.0pt;padding:0cm;" class="MsoNormal"&gt;&lt;span style="font-size:8.5pt;color:black;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:EN-GB;"&gt;var myString = &amp;quot;123456789&amp;quot;;&lt;/span&gt;&lt;/p&gt;
&lt;p style="background:#b5cfe0;margin:0cm 0cm 0pt;line-height:normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;mso-border-alt:solid #003B62 1.5pt;mso-padding-alt:4.0pt 4.0pt 15.0pt 4.0pt;padding:0cm;" class="MsoNormal"&gt;&lt;span style="font-size:8.5pt;color:black;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:EN-GB;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="background:#b5cfe0;margin:0cm 0cm 0pt;line-height:normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;mso-border-alt:solid #003B62 1.5pt;mso-padding-alt:4.0pt 4.0pt 15.0pt 4.0pt;padding:0cm;" class="MsoNormal"&gt;&lt;span style="font-size:8.5pt;color:red;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:EN-GB;"&gt;var mySplitResult = myString.split(&amp;quot;5&amp;quot;);&lt;/span&gt;&lt;span style="font-size:8.5pt;color:black;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:EN-GB;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="background:#b5cfe0;margin:0cm 0cm 0pt;line-height:normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;mso-border-alt:solid #003B62 1.5pt;mso-padding-alt:4.0pt 4.0pt 15.0pt 4.0pt;padding:0cm;" class="MsoNormal"&gt;&lt;span style="font-size:8.5pt;color:black;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:EN-GB;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="background:#b5cfe0;margin:0cm 0cm 0pt;line-height:normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;mso-border-alt:solid #003B62 1.5pt;mso-padding-alt:4.0pt 4.0pt 15.0pt 4.0pt;padding:0cm;" class="MsoNormal"&gt;&lt;span style="font-size:8.5pt;color:black;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:EN-GB;"&gt;document.write(&amp;quot;The first element is &amp;quot; + mySplitResult[0]); &lt;/span&gt;&lt;/p&gt;
&lt;p style="background:#b5cfe0;margin:0cm 0cm 0pt;line-height:normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;mso-border-alt:solid #003B62 1.5pt;mso-padding-alt:4.0pt 4.0pt 15.0pt 4.0pt;padding:0cm;" class="MsoNormal"&gt;&lt;span style="font-size:8.5pt;color:black;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:EN-GB;"&gt;document.write(&amp;quot;&amp;lt;br /&amp;gt; The second element is&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;quot; + mySplitResult[1]); &lt;/span&gt;&lt;/p&gt;
&lt;p style="background:#b5cfe0;margin:0cm 0cm 7.5pt;line-height:normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;mso-border-alt:solid #003B62 1.5pt;mso-padding-alt:4.0pt 4.0pt 15.0pt 4.0pt;padding:0cm;" class="MsoNormal"&gt;&lt;span style="font-size:8.5pt;color:black;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:EN-GB;"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;h2 style="margin:7.5pt 0cm 0pt;"&gt;&lt;span style="font-size:11pt;color:#548dd4;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-themecolor:text2;mso-themetint:153;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Display:&lt;/span&gt;&lt;/h2&gt;
&lt;p style="background:#b5cfe0;margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:9.5pt;color:black;line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:Arial;"&gt;The first element is 1234&lt;br /&gt;The second element is 6789 &lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;"&gt;&lt;span style="font-size:11pt;color:black;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Make sure you realize that because we chose the 5 to be our delimiter, it is not in our result. This is because the delimiter is removed from the string and those remaining characters are separated by the chasm of space that the 5 used to occupy.&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="margin:24pt 0cm 0pt;text-align:justify;"&gt;&lt;span style="color:#365f91;"&gt;&lt;span style="font-size:11pt;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Larger Split Function Example&lt;/span&gt;&lt;span style="font-size:11pt;color:#0a4369;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p style="text-align:justify;"&gt;&lt;span style="font-size:11pt;color:black;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Below we have created a &lt;i&gt;split&lt;/i&gt; example to illustrate how this function works with many splits. We have created a string with numbered words zero through four. The delimiter in this example will be the space character &amp;quot; &amp;quot;.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:7.5pt 0cm 0pt;"&gt;&lt;span style="font-size:11pt;color:#548dd4;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-themecolor:text2;mso-themetint:153;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Javscript Code:&lt;/span&gt;&lt;/h2&gt;
&lt;div style="padding-right:4pt;padding-left:4pt;background:#b5cfe0;padding-bottom:15pt;padding-top:4pt;mso-element:para-border-div;border:#003b62 1.5pt solid;"&gt;
&lt;pre style="background:#b5cfe0;mso-border-alt:solid #003B62 1.5pt;mso-padding-alt:4.0pt 4.0pt 15.0pt 4.0pt;padding:0cm;"&gt;&lt;span style="font-size:8.5pt;color:black;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background:#b5cfe0;mso-border-alt:solid #003B62 1.5pt;mso-padding-alt:4.0pt 4.0pt 15.0pt 4.0pt;padding:0cm;"&gt;&lt;span style="font-size:8.5pt;color:black;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;var myString = &amp;quot;zero one two three four&amp;quot;;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background:#b5cfe0;mso-border-alt:solid #003B62 1.5pt;mso-padding-alt:4.0pt 4.0pt 15.0pt 4.0pt;padding:0cm;"&gt;&lt;span style="font-size:8.5pt;color:black;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background:#b5cfe0;mso-border-alt:solid #003B62 1.5pt;mso-padding-alt:4.0pt 4.0pt 15.0pt 4.0pt;padding:0cm;"&gt;&lt;span style="font-size:8.5pt;color:red;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;var mySplitResult = myString.split(&amp;quot; &amp;quot;);&lt;/span&gt;&lt;span style="font-size:8.5pt;color:black;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background:#b5cfe0;mso-border-alt:solid #003B62 1.5pt;mso-padding-alt:4.0pt 4.0pt 15.0pt 4.0pt;padding:0cm;"&gt;&lt;span style="font-size:8.5pt;color:black;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background:#b5cfe0;mso-border-alt:solid #003B62 1.5pt;mso-padding-alt:4.0pt 4.0pt 15.0pt 4.0pt;padding:0cm;"&gt;&lt;span style="font-size:8.5pt;color:black;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;for(i = 0; i &amp;lt; mySplitResult.length; i++){&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background:#b5cfe0;mso-border-alt:solid #003B62 1.5pt;mso-padding-alt:4.0pt 4.0pt 15.0pt 4.0pt;padding:0cm;"&gt;&lt;span style="font-size:8.5pt;color:black;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="mso-tab-count:1;"&gt;               &lt;/span&gt;document.write(&amp;quot;&amp;lt;br /&amp;gt; Element &amp;quot; + i + &amp;quot; = &amp;quot; + mySplitResult); &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background:#b5cfe0;mso-border-alt:solid #003B62 1.5pt;mso-padding-alt:4.0pt 4.0pt 15.0pt 4.0pt;padding:0cm;"&gt;&lt;span style="font-size:8.5pt;color:black;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;}&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background:#b5cfe0;mso-border-alt:solid #003B62 1.5pt;mso-padding-alt:4.0pt 4.0pt 15.0pt 4.0pt;padding:0cm;"&gt;&lt;span style="font-size:8.5pt;color:black;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h2 style="margin:7.5pt 0cm 0pt;"&gt;&lt;span style="font-size:11pt;color:#548dd4;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-themecolor:text2;mso-themetint:153;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Display:&lt;/span&gt;&lt;/h2&gt;
&lt;p style="background:#b5cfe0;margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:9.5pt;color:black;line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:Arial;"&gt;Element 0 = zero&lt;br /&gt;Element 1 = one&lt;br /&gt;Element 2 = two&lt;br /&gt;Element 3 = three&lt;br /&gt;Element 4 = four &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;Here is the Link to the original Article : &lt;a href="http://www.tizag.com/javascriptT/javascript-string-split.php" class="null"&gt;CLick Here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=26526" width="1" height="1"&gt;</content><author><name>coldapoy</name><uri>http://devpinoy.org/members/coldapoy/default.aspx</uri></author><category term="string split function" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/string+split+function/default.aspx" /><category term="split" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/split/default.aspx" /><category term="javascript" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/javascript/default.aspx" /></entry><entry><title>Meet the Server Unleased: Hyper-V (Windows Server 2008)</title><link rel="alternate" type="text/html" href="/blogs/coldapoy/archive/2008/07/10/meet-the-server-unleased-hyper-v-windows-server-2008.aspx" /><id>/blogs/coldapoy/archive/2008/07/10/meet-the-server-unleased-hyper-v-windows-server-2008.aspx</id><published>2008-07-11T00:37:00Z</published><updated>2008-07-11T00:37:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;img width="639" src="http://img133.imageshack.us/img133/3006/windows2008logoas2.png" alt="1" height="480" style="vertical-align:middle;" /&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:16pt;color:#548dd4;line-height:115%;mso-ansi-language:EN;mso-themecolor:text2;mso-themetint:153;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:16pt;color:#548dd4;line-height:115%;mso-ansi-language:EN;mso-themecolor:text2;mso-themetint:153;"&gt;&lt;span style="font-family:Calibri;"&gt;Windows Server 2008 Product Overview&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;font face="Calibri"&gt;&lt;a target="_blank" href="http://www.microsoft.com/windowsserver2008/en/us/default.aspx" title="1" class="null"&gt;Windows Server 2008&lt;/a&gt; is the most advanced Windows Server operating system yet, designed to power the next-generation of networks, applications, and Web services. With Windows Server 2008 you can develop, deliver, and manage rich user experiences and applications, provide a highly secure network infrastructure, and increase technological efficiency and value within your organization.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;font face="Calibri"&gt;Windows Server 2008 builds on the success and strengths of its Windows Server predecessors while delivering valuable new functionality and powerful improvements to the base operating system. New Web tools, virtualization technologies, security enhancements, and management utilities help save time, reduce costs, and provide a solid foundation for your information technology (IT) infrastructure.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;font face="Calibri"&gt;&lt;img src="http://img93.imageshack.us/img93/3742/windkp2.png" alt="2" style="vertical-align:middle;" /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="color:#548dd4;mso-ansi-language:EN;mso-themecolor:text2;mso-themetint:153;"&gt;&lt;span style="font-size:small;"&gt;&lt;font face="Calibri"&gt;A Solid Foundation for Your Business&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;font face="Calibri"&gt;Windows Server 2008 provides a solid foundation for all of your server workload and application requirements while also being easy to deploy and manage. The all new Server Manager provides a unified management console that simplifies and streamlines server setup, configuration, and ongoing management. Windows PowerShell, a new command-line shell, helps enable administrators to automate routine system administration tasks across multiple servers. Windows Deployment Services provides a simplified, highly secure means of rapidly deploying the operating system via network-based installations. And Windows Server 2008 Failover Clustering wizards, and full Internet Protocol version 6 (IPv6) support plus consolidated management of Network Load Balancing, make high availability easy to implement even by IT generalists.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;font face="Calibri"&gt;The new Server Core installation option of Windows Server 2008 allows for installation of server roles with only the necessary components and subsystems without a graphical user interface. Fewer roles and features means minimizing disk and service footprints while reducing attack surfaces. It also enables your IT staff to specialize according to the server roles they need to support.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="color:#548dd4;mso-ansi-language:EN;mso-themecolor:text2;mso-themetint:153;"&gt;&lt;span style="font-size:small;"&gt;&lt;font face="Calibri"&gt;Virtualization Built-in&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;font face="Calibri"&gt;Windows Server Hyper-V, the next-generation hypervisor-based server virtualization technology, allows you to make the best use of your server hardware investments by consolidating multiple server roles as separate virtual machines running on a single physical machine. You can also efficiently run multiple operating systems - Windows, Linux, and others &amp;ndash; in parallel on a single server. With Hyper-V and simple licensing policies, it&amp;#39;s now easier than ever to take advantage of the cost savings of virtualization.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;font face="Calibri"&gt;Applications can also be efficiently virtualized using Windows Server 2008 centralized application access technologies. Terminal Services Gateway and Terminal Services RemoteApp allow easy remote access to standard Windows-based programs from anywhere by running them on a terminal server instead of directly on a client computer - without the need for a complicated virtual private network (VPN).&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="color:#548dd4;mso-ansi-language:EN;mso-themecolor:text2;mso-themetint:153;"&gt;&lt;span style="font-size:small;"&gt;&lt;font face="Calibri"&gt;Built for the Web&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;font face="Calibri"&gt;Windows Server 2008 comes with Internet Information Services 7.0 (IIS 7.0), a Web server and security-enhanced, easy-to-manage platform for developing and reliably hosting Web applications and services. A major enhancement to the Windows Web platform, IIS 7.0 includes a componentized architecture for greater flexibility and control. IIS 7.0 also provides simplified management, powerful diagnostic and troubleshooting capabilities that save time, and comprehensive extensibility.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;font face="Calibri"&gt;Internet Information Server IIS 7.0 together with the .NET Framework 3.0 provides a comprehensive platform for building applications that connect users and data, enabling them to visualize, share, and act on information.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;Additionally, IIS 7.0 plays a central role in unifying Microsoft&amp;#39;s Web platform technologies&amp;mdash;ASP.NET, Windows Communication Foundation Web services, and Windows SharePoint Services.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="color:#548dd4;mso-ansi-language:EN;mso-themecolor:text2;mso-themetint:153;"&gt;&lt;span style="font-size:small;"&gt;&lt;font face="Calibri"&gt;High Security &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;font face="Calibri"&gt;Windows Server 2008 is the most secure Windows Server yet. The operating system has been hardened to help protect against failure and several new technologies help prevent unauthorized connections to your networks, servers, data, and user accounts.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;Network Access Protection (NAP) helps ensure that computers that try to connect to your network comply with your organization&amp;#39;s security policy. Technology integration and several enhancements make Active Directory services a potent unified and integrated Identity and Access (IDA) solution. And Read-Only Domain Controller (RODC) and BitLocker Drive Encryption allow you to more securely deploy your AD database at branch office locations.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="color:#548dd4;mso-ansi-language:EN;mso-themecolor:text2;mso-themetint:153;"&gt;&lt;span style="font-size:small;"&gt;&lt;font face="Calibri"&gt;High Performance Computing&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;font face="Calibri"&gt;The benefits and cost savings of Windows Server 2008 extend to Windows HPC Server 2008 for your high performance computing (HPC) environment. Windows HPC Server 2008 is built on Windows Server 2008, x64-bit technology and can efficiently scale to thousands of processing cores with out-of-the-box functionality to improve the productivity, and reduce the complexity of your HPC environment. Windows HPC Server 2008 enables broader adoption by providing a rich and integrated end-user experience that scales from the desktop application to the clusters, and includes a comprehensive set of deployment, administration, and monitoring tools that are easy to deploy, manage, and integrate with your existing infrastructure.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=26238" width="1" height="1"&gt;</content><author><name>coldapoy</name><uri>http://devpinoy.org/members/coldapoy/default.aspx</uri></author><category term="coldapoy" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/coldapoy/default.aspx" /><category term="Hyper-V" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Hyper-V/default.aspx" /><category term="Windows Server 2008" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Windows+Server+2008/default.aspx" /></entry><entry><title>Microsoft Silverlight: Light Up the Web</title><link rel="alternate" type="text/html" href="/blogs/coldapoy/archive/2008/07/08/microsoft-silverlight-light-up-the-web.aspx" /><id>/blogs/coldapoy/archive/2008/07/08/microsoft-silverlight-light-up-the-web.aspx</id><published>2008-07-08T15:18:00Z</published><updated>2008-07-08T15:18:00Z</updated><content type="html">&lt;p&gt;&lt;a target="_blank" href="http://www.microsoft.com/SILVERLIGHT/"&gt;&lt;b&gt;Silverlight Overview&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;http://www.microsoft.com/SILVERLIGHT/&amp;nbsp; &amp;lt;---- check this out! so cool!&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" title="s2" href="http://silverlight.net/default.aspx"&gt;Microsoft Silverlight&lt;/a&gt; is a cross-browser, cross-platform implementation
of the .NET Framework for building and delivering the next generation
of media experiences and rich interactive applications (RIA) for the
Web. Silverlight unifies the capabilities of the server, the Web, and
the desktop, of managed code and dynamic languages, of declarative and
traditional programming, and the power of Windows Presentation
Foundation (WPF).&lt;/p&gt;
&lt;div id="ctl00_rs1_mainContentContainer_cpe206729_h" class="CollapseRegionLink"&gt;
				&lt;b&gt;What Is Silverlight?&lt;/b&gt;
			&lt;/div&gt;
&lt;p&gt;
				&lt;a name="sectionToggle0"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Silverlight enables you to create a state-of-the-art application that has the following features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;It
is a cross-browser, cross-platform technology. It runs in all popular
Web browsers, including Microsoft Internet Explorer, Mozilla Firefox,
and Apple Safari, and on Microsoft Windows and Apple Mac OS X.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It provides a consistent experience no matter where it runs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It is supported by a very small download that installs in seconds.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It
streams video and audio. It scales video quality to everything from
mobile devices to desktop browsers to 720p HDTV video modes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It includes compelling graphics that users can manipulate&amp;mdash;drag, turn, zoom&amp;mdash;directly in the browser. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It reads data and updates the display, but it doesn&amp;#39;t interrupt the user by refreshing the whole page.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="p2" style="vertical-align:middle;" src="http://img178.imageshack.us/img178/5809/bb404708sl2enusvs95js3.png" height="306" width="431" /&gt;&lt;/p&gt;
&lt;div id="ctl00_rs1_mainContentContainer_cpe206730_h" class="CollapseRegionLink"&gt;
				&lt;b&gt;What Features Are in Silverlight?&lt;/b&gt;
			&lt;/div&gt;
&lt;p&gt;
				&lt;a name="sectionToggle1"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Silverlight
combines multiple technologies into a single development platform that
enables you to select the right tools and the right programming
language for your needs. Silverlight offers you the following features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;WPF
and XAML. Silverlight includes Windows Presentation Foundation (WPF)
technology, which greatly extends the elements in the browser for
creating UI. WPF lets you create immersive graphics, animation, media,
and other rich client features, extending browser-based UI beyond what
is available with HTML alone. Extensible Application Markup Language
(XAML) provides a declarative markup syntax for creating WPF elements.
See &lt;span&gt;Creating User Interfaces with Silverlight&lt;/span&gt; for more information.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Extensions
to JavaScript. Silverlight provides extensions to the universal browser
scripting language that provide powerful control over the browser UI,
including the ability to work with WPF elements. See &lt;span&gt;Silverlight 1.0 - Development with JavaScript&lt;/span&gt; for more information.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cross-browser,
cross-platform support. Silverlight runs the same on all popular
browsers (on any platform). You can design and develop your application
without having to worry about which browser or platform your users
have. See &lt;span&gt;Creating and Deploying Silverlight Applications&lt;/span&gt; for more information.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Integration
with existing applications. Silverlight integrates seamlessly with your
existing JavaScript and ASP.NET AJAX code to complement functionality
you have already created. See &lt;span&gt;Integrating Silverlight with ASP.NET Web Pages&lt;/span&gt; for more information. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Access
to the .NET Framework programming model and to associated tools. You
can create Silverlight-based applications using dynamic languages such
as managed JScript and IronPython as well as languages such as C# and
Visual Basic. You can use development tools such as Visual Studio to
create Silverlight-based applications. See &lt;span&gt;Common Language Runtime and Base Class Library in Silverlight&lt;/span&gt; and &lt;span&gt;Dynamic Languages in Silverlight 2&lt;/span&gt; for more information.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;LINQ.
Silverlight includes language-integrated query (LINQ), which enables
you to program data access using intuitive native syntax and strongly
typed objects in .NET Framework languages. See &lt;span&gt;Working with XML Data in Silverlight&lt;/span&gt; for more information.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If
you already use ASP.NET, you can integrate Silverlight with the server
and client capabilities of ASP.NET that you are familiar with. You can
create server-based resources in ASP.NET and use the AJAX capabilities
of ASP.NET to interact with server-based resources without interrupting
the user.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="p1" style="vertical-align:middle;" src="http://img228.imageshack.us/img228/9361/bb404708slnewvsprojenuseu6.png" height="297" width="392" /&gt;&lt;/p&gt;
&lt;h3 class="subHeading"&gt;Silverlight.net&lt;/h3&gt;
&lt;div class="subsection"&gt;
&lt;p&gt; &lt;a target="_blank" title="s1" id="ctl00_rs1_mainContentContainer_ctl58" href="http://silverlight.net/default.aspx"&gt;Silverlight.net&lt;/a&gt;
is a general Silverlight developer site that provides resources such as
samples, QuickStarts, white papers, instructional videos, forums, and
blogs. In particular, beginners might want to check out the
Silverlight.net &lt;a target="_blank" id="ctl00_rs1_mainContentContainer_ctl59" href="http://silverlight.net/quickstarts/"&gt;QuickStarts&lt;/a&gt;&lt;a target="_blank" href="http://silverlight.net/quickstarts/"&gt;.&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;h3 class="subHeading"&gt;Tools&lt;/h3&gt;
&lt;div class="subsection"&gt;
&lt;p&gt; Silverlight.net provides all the downloads you need to create Silverlight-based applications, including developer and designer tools.&lt;/p&gt;
&lt;/div&gt;
&lt;h3 class="subHeading"&gt;Silverlight for Designers&lt;/h3&gt;
&lt;div class="subsection"&gt;
&lt;p&gt;Designers
can benefit from many of the resources listed previously in this topic,
especially those that cover XAML. XAML is a powerful declarative markup
language that is the foundation for creating engaging graphics,
animation, and media in Silverlight. XAML is similar to HTML, but it is
more powerful and extensible. In addition, there are several
professional design tools available to Silverlight designers. You can
find these tools on the Silverlight.net site.&lt;/p&gt;
&lt;/div&gt;
&lt;h3 class="subHeading"&gt;Samples&lt;/h3&gt;
&lt;div class="subsection"&gt;
&lt;p&gt;To see live Silverlight samples, take a look at the &lt;a target="_blank" id="ctl00_rs1_mainContentContainer_ctl62" href="http://silverlight.net/Showcase/"&gt;Silverlight Showcase&lt;/a&gt;. In addition, you can download working code for other samples from the &lt;a target="_blank" id="ctl00_rs1_mainContentContainer_ctl63" href="http://silverlight.net/community/communitygallery.aspx"&gt;Silverlight Gallery&lt;/a&gt;&lt;a target="_blank" href="http://silverlight.net/community/communitygallery.aspx"&gt;.&lt;/a&gt;&lt;/p&gt;
&lt;h4 class="subHeading"&gt;Other Resources&lt;/h4&gt;
&lt;div class="seeAlsoStyle"&gt;&lt;a id="ctl00_rs1_mainContentContainer_ctl67" href="http://silverlight.net/forums/"&gt;Silverlight Forums&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=26211" width="1" height="1"&gt;</content><author><name>coldapoy</name><uri>http://devpinoy.org/members/coldapoy/default.aspx</uri></author><category term="coldapoy" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/coldapoy/default.aspx" /><category term="Asp.Net" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Asp.Net/default.aspx" /><category term=".NET Framework 3.5" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/.NET+Framework+3.5/default.aspx" /><category term="Microsoft" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Microsoft/default.aspx" /><category term="visual studio 2008" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/visual+studio+2008/default.aspx" /><category term="mcpd" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/mcpd/default.aspx" /><category term="silverlight" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/silverlight/default.aspx" /><category term="mcsd" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/mcsd/default.aspx" /><category term="mcad" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/mcad/default.aspx" /></entry><entry><title>LINQ: .NET Language-Integrated Query</title><link rel="alternate" type="text/html" href="/blogs/coldapoy/archive/2008/06/30/linq-net-language-integrated-query.aspx" /><id>/blogs/coldapoy/archive/2008/06/30/linq-net-language-integrated-query.aspx</id><published>2008-07-01T03:16:00Z</published><updated>2008-07-01T03:16:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;a target="_blank" href="http://en.wikipedia.org/wiki/Language_Integrated_Query" title="q" class="null"&gt;Language Integrated Query&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-indent:36pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/bb308959.aspx" title="linq" class="null"&gt;Language Integrated Query&lt;/a&gt; (LINQ, pronounced &amp;quot;link&amp;quot;) is a Microsoft .NET Framework component that adds native data querying capabilities to .NET languages using a syntax reminiscent of SQL. Many of the concepts that LINQ has introduced were originally tested in Microsoft&amp;#39;s C&amp;omega; research project. LINQ was released as a part of .NET Framework 3.5 on November 19, 2007.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-indent:36pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;LINQ defines a set of query operators that can be used to query, project and filter data in arrays, enumerable classes, XML, relational database, and third party data sources. While it allows any data source to be queried, it requires that the data be encapsulated as objects. So, if the data source does not natively store data as objects, the data must be mapped to the object domain. Queries written using the query operators are executed either by the LINQ query processing engine or, via an extension mechanism, handed over to LINQ providers which either implement a separate query processing engine or translate to a different format to be executed on a separate data store (such as on a database server as SQL queries). The results of a query are returned as a collection of in-memory objects that can be enumerated.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-indent:36pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;"&gt;&lt;span style="font-family:Calibri;"&gt;Language-Integrated Query (LINQ) is a groundbreaking innovation in Visual Studio 2008 and the .NET Framework version 3.5 that bridges the gap between the world of objects and the world of data. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-indent:36pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;img width="518" src="http://img235.imageshack.us/img235/4609/linq2yb2.png" alt="linq4" height="397" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-indent:36pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;"&gt;&lt;span style="font-family:Calibri;"&gt;Traditionally, queries against data are expressed as simple strings without type checking at compile time or IntelliSense support. Furthermore, you have to learn a different query language for each type of data source: SQL databases, XML documents, various Web services, and so on. LINQ makes a query a first-class language construct in C# and Visual Basic. You write queries against strongly typed collections of objects by using language keywords and familiar operators. The following illustration shows a partially-completed LINQ query against a SQL Server database in C# with full type checking and IntelliSense support.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-indent:36pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;"&gt;&lt;span style="font-family:Calibri;"&gt;In Visual Studio you can write LINQ queries in Visual Basic or C# with SQL Server databases, XML documents, ADO.NET Datasets, and any collection of objects that supports IEnumerable or the generic IEnumerable&amp;lt;(Of &amp;lt;(T&amp;gt;)&amp;gt;) interface. LINQ support for the ADO.NET Entity Framework is also planned, and LINQ providers are being written by third parties for many Web services and other database implementations.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-indent:36pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;"&gt;&lt;span style="font-family:Calibri;"&gt;You can use LINQ queries in new projects, or alongside non-LINQ queries in existing projects. The only requirement is that the project target version 3.5 of the .NET Framework.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-indent:36pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-indent:36pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;img src="http://img514.imageshack.us/img514/3921/linqmu5.png" alt="linq" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;Language Extensions&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-indent:18pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;While LINQ is primarily implemented as a library for .NET Framework 2.0, it also defines a set of language extensions that can be optionally implemented by languages to make queries a first class language construct and provide syntactic sugar for writing queries. These language extensions have initially been implemented in C# 3.0, VB 9.0 and Chrome, with other languages like F# and Nemerle having announced preliminary support. The language extensions include:[2]&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;mso-list:l1 level1 lfo1;" class="MsoListParagraphCxSpFirst"&gt;&lt;span style="font-size:12pt;line-height:115%;font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN;mso-fareast-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;Query syntax: Languages are free to choose a query syntax, which it will recognize natively. These language keywords must be translated by the compiler to appropriate LINQ method calls. The languages can implement operator reordering and other optimizations at the keyword level. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;mso-list:l1 level1 lfo1;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="font-size:12pt;line-height:115%;font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN;mso-fareast-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;Implicitly typed variables: This enhancement allows variables to be declared without specifying their types. The languages C# 3.0 and Chrome declare them with the var keyword. In VB9.0, the use of the Dim keyword without type declaration accomplishes the same declaration. Such objects are still strongly typed; for these objects the compiler uses type inference to infer the type of the variables. This allows the result of the queries to be specified and their result defined without declaring the type of the intermediate variables. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;mso-list:l1 level1 lfo1;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="font-size:12pt;line-height:115%;font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN;mso-fareast-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;Anonymous types: Anonymous types allow classes, which contain only data member declarations, to be inferred by the compiler. This is useful for the Select and Join operators, whose result types may differ from the types of the original objects. The compiler uses type inference to determine the fields contained in the classes and generates accessors and mutators for these fields. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;mso-list:l1 level1 lfo1;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="font-size:12pt;line-height:115%;font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN;mso-fareast-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;Object Initializer: Object initializers allow an object to be created and initialized in a single scope, this allows creation of delegates that extract fields from an object, create a new object and assign the extracted data to the fields of the new object in a single statement, as is required for Select and Join operators. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt 36pt;text-indent:-18pt;text-align:justify;mso-list:l1 level1 lfo1;" class="MsoListParagraphCxSpLast"&gt;&lt;span style="font-size:12pt;line-height:115%;font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN;mso-fareast-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;Lambda expressions: Lambda expressions are used to create delegates inline with other code. This allows the predicates and extraction functions to be written inline with the queries.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;img width="541" src="http://img291.imageshack.us/img291/430/linq4gx1.gif" alt="linq2" height="382" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;LINQ Providers&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-indent:36pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;LINQ also defines another interface, IQueryable&amp;lt;T&amp;gt;, which defines the same interfaces to the Standard Query Operators as IEnumerable&amp;lt;T&amp;gt;. However, the concrete implementation of the interface, instead of evaluating the query, converts the query expression, with all the operators and predicates, into an expression tree.[3] The Expression tree preserves the high level structure of the query and can be examined at runtime. The type of the source collection defines which implementation will run - if the collection type implements IEnumerable&amp;lt;T&amp;gt;, it executes the local LINQ query execution engine and if it implements the IQueryable&amp;lt;T&amp;gt; implementation, it invokes the expression tree-based implementation. An extension method is also defined for IEnumerable&amp;lt;T&amp;gt; collections to be wrapped inside an IQueryable&amp;lt;T&amp;gt; collection, to force the latter implementation.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-indent:36pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;The expression trees are at the core of LINQ extensibility mechanism, by which LINQ can be adapted for any data source. The expression trees are handed over to LINQ Providers, which are data source-specific implementations that adapt the LINQ queries to be used with the data source. The LINQ Providers analyze the expression trees representing the query (&amp;quot;query trees&amp;quot;) and generate a DynamicMethod (which are methods generated at runtime) by using the reflection APIs to emit CIL code. These methods are executed when the query is run.[3] LINQ comes with LINQ Providers for in-memory object collections, SQL Server databases, ADO.NET datasets and XML documents. These different providers define the different flavors of LINQ:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;LINQ to Objects &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-indent:36pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;The LINQ to Objects provider is used for querying in-memory collections, using the local query execution engine of LINQ. The code generated by this provider refer the implementations of the standard query operators as defined in the Sequence class and allows IEnumerable&amp;lt;T&amp;gt; collections to be queried locally. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;LINQ to XML &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-indent:36pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;The LINQ to XML provider converts an XML document to a collection of XElement objects, which are then queried against using the local execution engine that is provided as a part of the implementation of the standard query operator.[4] &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;LINQ to SQL &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-indent:36pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;The LINQ to SQL provider allows LINQ to be used to query SQL Server databases as well as SQL Server Compact databases. Since SQL Server data resides on a remote server, and because it already includes a querying engine, LINQ to SQL does not use the query engine of LINQ. Instead, it converts a LINQ query to SQL query which is then sent to SQL Server for processing.[5] However, since SQL Server stores the data as relational data and LINQ works with data encapsulated in objects, the two representations must be mapped to one another. For this reason, LINQ to SQL also defines the mapping framework. The mapping is done by defining classes which corresponds to the tables in database, and containing all or a subset of the columns in the table as data members.&lt;img src="http://devpinoy.org/emoticons/emotion-14.gif" alt="Devil" /&gt; The correspondence, along with other relational model attributes such as primary keys are specified using LINQ to SQL-defined attributes.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;LINQ to DataSets &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-indent:36pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;The LINQ to SQL provider works only with Microsoft SQL Server databases; to support any generic database, LINQ also includes the LINQ to DataSets, which uses ADO.NET to handle the communication with the database. Once the data is in ADO.NET Datasets, LINQ to Datasets execute queries against these datasets.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;Other providers &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-indent:18pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;The LINQ providers can be implemented by third parties for various data sources as well. Several database server specific providers are available from the database vendors. Some of the popular providers include: &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;mso-list:l0 level1 lfo2;" class="MsoListParagraphCxSpFirst"&gt;&lt;span style="font-size:12pt;line-height:115%;font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN;mso-fareast-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;Data Services: LINQ to ADO.NET Data Services&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;mso-list:l0 level1 lfo2;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="font-size:12pt;line-height:115%;font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN;mso-fareast-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;Entity Framework: LINQ to Entities[&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;mso-list:l0 level1 lfo2;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="font-size:12pt;line-height:115%;font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN;mso-fareast-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;DbLinq: LINQ to MySQL, PostgreSQL, and Oracle&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;mso-list:l0 level1 lfo2;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="font-size:12pt;line-height:115%;font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN;mso-fareast-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;Google search: LINQ to Google&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt 36pt;text-indent:-18pt;text-align:justify;mso-list:l0 level1 lfo2;" class="MsoListParagraphCxSpLast"&gt;&lt;span style="font-size:12pt;line-height:115%;font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN;mso-fareast-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;line-height:115%;mso-ansi-language:EN;"&gt;&lt;span style="font-family:Calibri;"&gt;Windows Search: LINQ to System Search&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=26111" width="1" height="1"&gt;</content><author><name>coldapoy</name><uri>http://devpinoy.org/members/coldapoy/default.aspx</uri></author><category term="coldapoy" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/coldapoy/default.aspx" /><category term="C#" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/C_2300_/default.aspx" /><category term=".NET Framework" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/.NET+Framework/default.aspx" /><category term=".net" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/.net/default.aspx" /><category term="Microsoft .NET Framework" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Microsoft+.NET+Framework/default.aspx" /><category term="Language Integrated Query (LINQ)" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Language+Integrated+Query+_2800_LINQ_2900_/default.aspx" /><category term="ADO.NET" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/ADO.NET/default.aspx" /><category term="LINQ" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/LINQ/default.aspx" /><category term="Language Integrated Query" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Language+Integrated+Query/default.aspx" /></entry><entry><title>Microsoft® Visual Studio® 2008 </title><link rel="alternate" type="text/html" href="/blogs/coldapoy/archive/2008/06/30/microsoft-174-visual-studio-174-2008.aspx" /><id>/blogs/coldapoy/archive/2008/06/30/microsoft-174-visual-studio-174-2008.aspx</id><published>2008-06-30T08:02:00Z</published><updated>2008-06-30T08:02:00Z</updated><content type="html">&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;b&gt;&lt;span style="font-size:11.5pt;"&gt;OVERVIEW &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;b&gt;&lt;span style="font-size:11.5pt;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11.5pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;strong&gt;&lt;span style="font-size:10pt;"&gt;Microsoft&lt;/span&gt;&lt;span style="font-size:6.5pt;"&gt;&amp;reg; &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;Visual Studio&lt;/span&gt;&lt;span style="font-size:6.5pt;"&gt;&amp;reg; &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;2008&lt;/strong&gt; delivers on Microsoft&amp;rsquo;s vision of smart client applications by enabling developers to rapidly create connected applications that deliver the highest quality, rich user experiences. With Visual Studio 2008, organizations will find it easier than ever before to capture and analyze information to help them make effective business decisions. Visual Studio 2008 enables organizations of every size to rapidly create more secure, manageable, and reliable applications that take advantage of Windows Vista&amp;trade; and the 2007 Office system. Visual Studio 2008 delivers key advances for developers in three primary pillars: &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;font-family:Wingdings;mso-bidi-font-family:Wingdings;"&gt;&amp;sect; &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;Rapid application development &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;font-family:Wingdings;mso-bidi-font-family:Wingdings;"&gt;&amp;sect; &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;Effective team collaboration &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;font-family:Wingdings;mso-bidi-font-family:Wingdings;"&gt;&amp;sect; &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;Breakthrough user experiences &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;&lt;img src="http://img247.imageshack.us/img247/3414/vstsoverviewua5.jpg" alt="vs" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;This blog discusses the different customer experiences that deliver on these three pillars through the following seven technology areas. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;font-family:Wingdings;mso-bidi-font-family:Wingdings;"&gt;&amp;sect; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;"&gt;Developing Smart Client Applications. &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;"&gt;Visual Studio 2008 delivers new and easy ways for developers to build smart clients. It provides a comprehensive set of tools and classes that simplify integrating smart clients with new or existing Web applications, and it enables local data caching for disconnected scenarios. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;font-family:Wingdings;mso-bidi-font-family:Wingdings;"&gt;&amp;sect; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;"&gt;Creating Microsoft Office Applications. &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;"&gt;Visual Studio Tools for Office (VSTO) is fully integrated into Visual Studio 2008 Professional Edition. Developers can now customize various Office applications, such as Outlook&lt;/span&gt;&lt;span style="font-size:6.5pt;"&gt;&amp;reg; &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;and PowerPoint&lt;/span&gt;&lt;span style="font-size:6.5pt;"&gt;&amp;reg;&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;, to improve user productivity and simplify deployment. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;font-family:Wingdings;mso-bidi-font-family:Wingdings;"&gt;&amp;sect; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;"&gt;Building Windows Vista Applications. &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;"&gt;Developers can easily leverage new platform technologies, and deliver more compelling applications to their customers, by effortlessly incorporating new Windows Presentation Foundation features into both existing Windows Forms applications and new applications. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;font-family:Wingdings;mso-bidi-font-family:Wingdings;"&gt;&amp;sect; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;"&gt;Handling Data More Productively. &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;"&gt;The introduction of Language Integrated Query (LINQ) and other data-access improvements enable developers to apply a consistent programmatic approach to data handling, perform data access with new data-design surfaces, and use built-in classes for the occasionally connected design pattern. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;font-family:Wingdings;mso-bidi-font-family:Wingdings;"&gt;&amp;sect; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;"&gt;Enabling New Web Experiences. &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;"&gt;Developers can easily create efficient, interactive Web applications with Visual Studio 2008. Seamless integration of the familiar ASP.NET AJAX programming model enables more efficient client-side execution, giving end users a more responsive Web interface. JavaScript IntelliSense and debugging further improve the development experience. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:8pt;"&gt;White Paper: An Overview of Microsoft Visual Studio 2008 &lt;/span&gt;&lt;span style="font-size:7.5pt;"&gt;2 &lt;/span&gt;&lt;/p&gt;
&lt;p style="page-break-before:always;margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:7.5pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;font-family:Wingdings;mso-bidi-font-family:Wingdings;"&gt;&amp;sect; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;"&gt;Gaining an Improved Overall Developer Experience. &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;"&gt;Visual Studio 2008 delivers a better developer experience overall through the combination of significant product quality improvements, and changes to the way the most popular design surfaces return errors to the user. In addition, Visual Studio 2008 simplifies the user&amp;rsquo;s ability to adopt the toolset and framework separately by enabling developers to target different .NET Framework platforms. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;font-family:Wingdings;mso-bidi-font-family:Wingdings;"&gt;&amp;sect; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;"&gt;Improving Application Lifecycle Management (ALM). &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;"&gt;ALM features in Visual Studio provide great support not only for managing the entire software-development life cycle, but also for critical interaction with an enterprise application&amp;rsquo;s final end-users and IT stakeholders. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;These three pillars in Visual Studio 2008 enable developers to:&lt;/strong&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;font-family:Wingdings;mso-bidi-font-family:Wingdings;"&gt;&amp;sect; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;"&gt;Rapid Application Development. &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;"&gt;In Visual Studio 2008, developer productivity doesn&amp;rsquo;t end with the code editor and wizards. By providing new tools and frameworks to simplify the tasks of developers, designers, and database professionals for new application architectures and platforms, Visual Studio 2008 not only delivers a productive development tool, but also enables developers to tackle new business problems while decreasing the total cost of solution construction. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;font-family:Wingdings;mso-bidi-font-family:Wingdings;"&gt;&amp;sect; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;"&gt;Effective Team Collaboration. &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;"&gt;Visual Studio 2008 enhances the end-to-end value of Visual Studio Team System by increasing its role-based coverage and delivering enhanced traceability throughout the software development life cycle. With deep integration across roles in the software life cycle and the Team Foundation Server, Team System enables customers to amplify the impact of their teams and improve software quality. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;font-family:Wingdings;mso-bidi-font-family:Wingdings;"&gt;&amp;sect; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;"&gt;Breakthrough User Experience. &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;"&gt;As users look for new ways to comprehend and retain information, developers must still grapple with basic desktop and application security. Visual Studio, Windows Vista, and the 2007 Office system enable developers to deliver a safe, robust, and compelling user experience in any type of application. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;These fundamental advances enable customers to rapidly create connected applications that deliver the highest quality, rich user experiences regardless of project complexity or organization size. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="Default"&gt;&lt;span style="font-size:10pt;"&gt;For the latest information about Visual Studio 2008, see the Visual Studio Web site (&lt;a target="_blank" href="http://www.microsoft.com/vstudio" title="ms" class="null"&gt;&lt;strong&gt;http://www.microsoft.com/vstudio&lt;/strong&gt;&lt;/a&gt;).&lt;/span&gt;&lt;span style="font-size:7.5pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=26101" width="1" height="1"&gt;</content><author><name>coldapoy</name><uri>http://devpinoy.org/members/coldapoy/default.aspx</uri></author><category term="coldapoy" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/coldapoy/default.aspx" /><category term=".NET Framework 3.5" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/.NET+Framework+3.5/default.aspx" /><category term="Microsoft" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Microsoft/default.aspx" /><category term="Visual Studio Team Systems" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Visual+Studio+Team+Systems/default.aspx" /><category term=".net" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/.net/default.aspx" /><category term="visual studio 2008" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/visual+studio+2008/default.aspx" /><category term="vsts" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/vsts/default.aspx" /></entry><entry><title>RadControls for ASP.NET AJAX (Prometheus)</title><link rel="alternate" type="text/html" href="/blogs/coldapoy/archive/2008/06/29/radcontrols-for-asp-net-ajax-prometheus.aspx" /><id>/blogs/coldapoy/archive/2008/06/29/radcontrols-for-asp-net-ajax-prometheus.aspx</id><published>2008-06-30T02:42:00Z</published><updated>2008-06-30T02:42:00Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;&lt;a target="_blank" href="http://www.telerik.com/products/aspnet-ajax/overview.aspx" title="rad" class="null"&gt;RadControls for ASP.NET AJAX (Prometheus)&lt;/a&gt;&lt;/strong&gt; is Telerik&amp;rsquo;s next-generation ASP.NET UI control suite, which is built on top of the industry-standard Microsoft ASP.NET AJAX framework. RadControls for ASP.NET AJAX (Prometheus) delivers faster performance, unified programming model and enhanced functionality.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The new suite includes all controls from RadControls for ASP.NET (Classic), except RadRotator (which will be added with the&amp;nbsp;Q2 2008 release) &lt;/li&gt;
&lt;li&gt;There are 3 new controls - RadScheduler, RadColorPicker, and RadSlider&amp;nbsp;as well as other utilities like RadScriptManager, RadStyleSheetManager and FormDecorator for skinnable buttons, checkboxes and radio buttons &lt;/li&gt;
&lt;li&gt;All Prometheus controls are shipped in a single assembly, which greatly simplifies the deployment &lt;/li&gt;
&lt;li&gt;Due to this architectural change, the new RadControls for ASP.NET AJAX (Prometheus) suite is NOT backwards compatible with RadControls for ASP.NET (Classic) &lt;/li&gt;
&lt;li&gt;The new suite supports ASP.NET 2.0 and ASP.NET 3.5 &lt;/li&gt;
&lt;li&gt;If you decide not to upgrade at this point, you can continue using the RadControls for ASP.NET (Classic) in your applications. Telerik will offer product updates and hotfixes for the RadControls for ASP.NET (Classic) and they will be fully supported through at least 2010, after which only &amp;ldquo;extended support&amp;rdquo; for the RadControls for ASP.NET (Classic)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;img src="http://img47.imageshack.us/img47/2600/radcontrolsye0.jpg" alt="Rad" /&gt;&lt;/p&gt;
&lt;p&gt;Just as &lt;strong&gt;ASP.NET AJAX&lt;/strong&gt; is the future of ASP.NET, RadControls for ASP.NET AJAX represents the future direction of the Telerik web development tools and aims to deliver unmatched richness, reliability and productivity. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RadControls for ASP.NET AJAX&lt;/strong&gt; offers much more than just support for the &amp;ldquo;AJAX&amp;rdquo; part of ASP.NET AJAX. Telerik has been a pioneer in the AJAX space since 2004 and was the first major component vendor to provide ASP.NET AJAX compatibility for its product line. RadControls for ASP.NET AJAX goes a step further. It is entirely built on top of the ASP.NET AJAX framework allowing developers to fully leverage the widely supported client-oriented programming model introduced by Microsoft. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;WHY CHOOSE?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.&amp;nbsp;The most comprehensive toolset &amp;ndash; over 20 controls&lt;/strong&gt;&lt;br /&gt;Telerik RadControls for ASP.NET AJAX include over 20 market leading controls that bring unparalleled richness, responsiveness and interactivity to your web applications.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2.&amp;nbsp;Significantly reduced development time&lt;/strong&gt;&lt;br /&gt;RadControls have developer-friendly design time support and provide nearly codeless experience for a lot of scenarios. All controls are encapsulated in a single assembly and have a unified programming model which facilitates the deployment and the learning process.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3.&amp;nbsp;Built on top of MS ASP.NET AJAX&lt;br /&gt;&lt;/strong&gt;Telerik engineered the new RadControls for ASP.NET AJAX on top of Microsoft&amp;rsquo;s next-generation web framework. The suite takes full advantage of the functionality of the AJAX framework, and delivers previously unattainable performance and features. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4.&amp;nbsp;Unbeatable performance&lt;/strong&gt;&lt;br /&gt;Telerik RadControls for ASP.NET AJAX offer super-high performance controls without sacrificing the powerful features that you are accustomed to see from us. All controls leverage an innovative load-as-needed script resource handlers, as well as optimized client-side and server-side code for blazing speed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5.&amp;nbsp;Phenomenal client-side capabilities&lt;br /&gt;&lt;/strong&gt;RadControls for ASP.NET AJAX allow developers to fully leverage the widely supported client-oriented programming of the ASP.NET AJAX framework. RadControls have a familiar and rich client-side API, guaranteeing full control over various functions performed on the client, such as: ability to bind to web services on the client; rendering on the client; ability to add, modify and remove items on the client and much more.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;6.&amp;nbsp;Wide cross-browser compatibility, XHTML &amp;amp; accessibility compliance&lt;br /&gt;&lt;/strong&gt;RadControls have the widest cross browser compatibility on the component market and all modern browsers are fully supported. The controls also are rendered in clean XHTML for strict W3C standards compliance and are accessible according to both Section 508 and W3C Accessibility Guidelines.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;7.&amp;nbsp;VS2008 and ASP.NET 3.5 support&lt;br /&gt;&lt;/strong&gt;Traditionally, Telerik has always been going hand-in-hand with the latest Microsoft technologies. With the launch of ASP.NET 3.5 and Visual Studio 2008 Telerik is ready with native support for the latest framework and IDE so that you can begin building tomorrow&amp;rsquo;s solutions today. RadControls for ASP.NET AJAX are available in two versions &amp;ndash; one built natively against ASP.NET 2.0/VS 2005 and the other built against ASP.NET 3.5/VS 2008.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;8.&amp;nbsp;Sharepoint and DNN&lt;/strong&gt;&lt;br /&gt;Telerik RadControls include wrappers for Microsoft Office Sharepoint Server (MOSS) and&amp;nbsp; DotNetNuke (DNN). Tailored for seamless integration with SharePoint and DNN, the toolset allows professionals to build web-solutions with the UI richness and responsiveness of desktop apps.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;9.&amp;nbsp;Comprehensive Documentation &amp;amp; Learning Materials&lt;/strong&gt;&lt;br /&gt;Telerik provides superior technical support and a variety of resources: demos, online documentation, tutorials, videos, very active forums, knowledge base articles, code library, sample applications and much more.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.telerik.com/products/aspnet-ajax/overview.aspx" title="RadControls" class="null"&gt;http://www.telerik.com/products/aspnet-ajax/overview.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=26093" width="1" height="1"&gt;</content><author><name>coldapoy</name><uri>http://devpinoy.org/members/coldapoy/default.aspx</uri></author><category term="coldapoy" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/coldapoy/default.aspx" /><category term="Asp.Net" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Asp.Net/default.aspx" /><category term="rad controls" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/rad+controls/default.aspx" /><category term="Microsoft" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Microsoft/default.aspx" /><category term="Visual Studio Team Systems" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Visual+Studio+Team+Systems/default.aspx" /><category term="Prometheus" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Prometheus/default.aspx" /><category term="AJAX" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/AJAX/default.aspx" /><category term="Asp.Net AJAAX" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Asp.Net+AJAAX/default.aspx" /></entry><entry><title>Understanding the .NET Framework 3.5</title><link rel="alternate" type="text/html" href="/blogs/coldapoy/archive/2008/06/26/understanding-the-net-framework-3-5.aspx" /><id>/blogs/coldapoy/archive/2008/06/26/understanding-the-net-framework-3-5.aspx</id><published>2008-06-26T09:43:00Z</published><updated>2008-06-26T09:43:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;span style="background-color:#f8fcff;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:14pt;"&gt;Microsoft .NET Framework&lt;/span&gt;&lt;/b&gt;&lt;span&gt;&lt;font size="3"&gt; is a software component that is a part of several Microsoft Windows operating systems. It has a large library of pre-coded solutions to common programming problems and manages the execution of programs written specifically for the framework. The .NET Framework is a key Microsoft offering and is intended to be used by most new applications created for the Windows platform.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;The pre-coded solutions that form the framework&amp;#39;s Base Class Library cover a large range of programming needs in a number of areas, including user interface, data access, database connectivity, cryptography, web application development, numeric algorithms, and network communications. The class library is used by programmers who combine it with their own code to produce applications.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;Programs written for the .NET Framework execute in a software environment that manages the program&amp;#39;s runtime requirements. Also part of the .NET Framework, this runtime environment is known as the Common Language Runtime (CLR). The CLR provides the appearance of an application virtual machine so that programmers need not consider the capabilities of the specific CPU that will execute the program. The CLR also provides other important services such as security, memory management, and exception handling. The class library and the CLR together compose the .NET Framework.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
&lt;table cellpadding="0" cellspacing="0" style="background:#f9f9f9;border-collapse:collapse;mso-border-alt:solid #AAAAAA .75pt;mso-yfti-tbllook:1184;" class="MsoNormalTable"&gt;

&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;"&gt;
&lt;td style="background:#f2f2f2;mso-border-alt:solid #AAAAAA .75pt;border:#aaaaaa 1pt solid;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:14pt;mso-fareast-language:EN-GB;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;span style="font-family:Calibri;"&gt;Version&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:#aaaaaa 1pt solid;border-top:#aaaaaa 1pt solid;background:#f2f2f2;border-left:#f0f0f0;border-bottom:#aaaaaa 1pt solid;mso-border-alt:solid #AAAAAA .75pt;mso-border-left-alt:solid #AAAAAA .75pt;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:14pt;mso-fareast-language:EN-GB;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;span style="font-family:Calibri;"&gt;Version Number&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:#aaaaaa 1pt solid;border-top:#aaaaaa 1pt solid;background:#f2f2f2;border-left:#f0f0f0;border-bottom:#aaaaaa 1pt solid;mso-border-alt:solid #AAAAAA .75pt;mso-border-left-alt:solid #AAAAAA .75pt;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:14pt;mso-fareast-language:EN-GB;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;span style="font-family:Calibri;"&gt;Release Date&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:1;"&gt;
&lt;td style="border-right:#aaaaaa 1pt solid;border-top:#f0f0f0;border-left:#aaaaaa 1pt solid;border-bottom:#aaaaaa 1pt solid;background-color:transparent;mso-border-alt:solid #AAAAAA .75pt;mso-border-top-alt:solid #AAAAAA .75pt;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-fareast-language:EN-GB;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Microsoft_.NET#.NET_Framework_1.0"&gt;&lt;span style="font-size:small;color:#002bb8;font-family:Calibri;background-color:#f8fcff;"&gt;1.0&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:#aaaaaa 1pt solid;border-top:#f0f0f0;border-left:#f0f0f0;border-bottom:#aaaaaa 1pt solid;background-color:transparent;mso-border-alt:solid #AAAAAA .75pt;mso-border-left-alt:solid #AAAAAA .75pt;mso-border-top-alt:solid #AAAAAA .75pt;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-fareast-language:EN-GB;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;1.0.3705.0&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:#aaaaaa 1pt solid;border-top:#f0f0f0;border-left:#f0f0f0;border-bottom:#aaaaaa 1pt solid;background-color:transparent;mso-border-alt:solid #AAAAAA .75pt;mso-border-left-alt:solid #AAAAAA .75pt;mso-border-top-alt:solid #AAAAAA .75pt;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-fareast-language:EN-GB;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;2002-01-05&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:2;"&gt;
&lt;td style="border-right:#aaaaaa 1pt solid;border-top:#f0f0f0;border-left:#aaaaaa 1pt solid;border-bottom:#aaaaaa 1pt solid;background-color:transparent;mso-border-alt:solid #AAAAAA .75pt;mso-border-top-alt:solid #AAAAAA .75pt;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-fareast-language:EN-GB;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Microsoft_.NET#.NET_Framework_1.1"&gt;&lt;span style="font-size:small;color:#002bb8;font-family:Calibri;background-color:#f8fcff;"&gt;1.1&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:#aaaaaa 1pt solid;border-top:#f0f0f0;border-left:#f0f0f0;border-bottom:#aaaaaa 1pt solid;background-color:transparent;mso-border-alt:solid #AAAAAA .75pt;mso-border-left-alt:solid #AAAAAA .75pt;mso-border-top-alt:solid #AAAAAA .75pt;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-fareast-language:EN-GB;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;1.1.4322.573&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:#aaaaaa 1pt solid;border-top:#f0f0f0;border-left:#f0f0f0;border-bottom:#aaaaaa 1pt solid;background-color:transparent;mso-border-alt:solid #AAAAAA .75pt;mso-border-left-alt:solid #AAAAAA .75pt;mso-border-top-alt:solid #AAAAAA .75pt;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-fareast-language:EN-GB;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;2003-04-01&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:3;"&gt;
&lt;td style="border-right:#aaaaaa 1pt solid;border-top:#f0f0f0;border-left:#aaaaaa 1pt solid;border-bottom:#aaaaaa 1pt solid;background-color:transparent;mso-border-alt:solid #AAAAAA .75pt;mso-border-top-alt:solid #AAAAAA .75pt;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-fareast-language:EN-GB;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Microsoft_.NET#.NET_Framework_2.0"&gt;&lt;span style="font-size:small;color:#002bb8;font-family:Calibri;background-color:#f8fcff;"&gt;2.0&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:#aaaaaa 1pt solid;border-top:#f0f0f0;border-left:#f0f0f0;border-bottom:#aaaaaa 1pt solid;background-color:transparent;mso-border-alt:solid #AAAAAA .75pt;mso-border-left-alt:solid #AAAAAA .75pt;mso-border-top-alt:solid #AAAAAA .75pt;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-fareast-language:EN-GB;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;2.0.50727.42&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:#aaaaaa 1pt solid;border-top:#f0f0f0;border-left:#f0f0f0;border-bottom:#aaaaaa 1pt solid;background-color:transparent;mso-border-alt:solid #AAAAAA .75pt;mso-border-left-alt:solid #AAAAAA .75pt;mso-border-top-alt:solid #AAAAAA .75pt;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-fareast-language:EN-GB;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;2005-11-07&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:4;"&gt;
&lt;td style="border-right:#aaaaaa 1pt solid;border-top:#f0f0f0;border-left:#aaaaaa 1pt solid;border-bottom:#aaaaaa 1pt solid;background-color:transparent;mso-border-alt:solid #AAAAAA .75pt;mso-border-top-alt:solid #AAAAAA .75pt;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-fareast-language:EN-GB;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Microsoft_.NET#.NET_Framework_3.0"&gt;&lt;span style="font-size:small;color:#002bb8;font-family:Calibri;background-color:#f8fcff;"&gt;3.0&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:#aaaaaa 1pt solid;border-top:#f0f0f0;border-left:#f0f0f0;border-bottom:#aaaaaa 1pt solid;background-color:transparent;mso-border-alt:solid #AAAAAA .75pt;mso-border-left-alt:solid #AAAAAA .75pt;mso-border-top-alt:solid #AAAAAA .75pt;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-fareast-language:EN-GB;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;3.0.4506.30&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:#aaaaaa 1pt solid;border-top:#f0f0f0;border-left:#f0f0f0;border-bottom:#aaaaaa 1pt solid;background-color:transparent;mso-border-alt:solid #AAAAAA .75pt;mso-border-left-alt:solid #AAAAAA .75pt;mso-border-top-alt:solid #AAAAAA .75pt;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-fareast-language:EN-GB;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;2006-11-06&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:5;mso-yfti-lastrow:yes;"&gt;
&lt;td style="border-right:#aaaaaa 1pt solid;border-top:#f0f0f0;border-left:#aaaaaa 1pt solid;border-bottom:#aaaaaa 1pt solid;background-color:transparent;mso-border-alt:solid #AAAAAA .75pt;mso-border-top-alt:solid #AAAAAA .75pt;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-fareast-language:EN-GB;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Microsoft_.NET#.NET_Framework_3.5"&gt;&lt;span style="font-size:small;color:#002bb8;font-family:Calibri;background-color:#f8fcff;"&gt;3.5&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:#aaaaaa 1pt solid;border-top:#f0f0f0;border-left:#f0f0f0;border-bottom:#aaaaaa 1pt solid;background-color:transparent;mso-border-alt:solid #AAAAAA .75pt;mso-border-left-alt:solid #AAAAAA .75pt;mso-border-top-alt:solid #AAAAAA .75pt;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-fareast-language:EN-GB;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;3.5.21022.8&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:#aaaaaa 1pt solid;border-top:#f0f0f0;border-left:#f0f0f0;border-bottom:#aaaaaa 1pt solid;background-color:transparent;mso-border-alt:solid #AAAAAA .75pt;mso-border-left-alt:solid #AAAAAA .75pt;mso-border-top-alt:solid #AAAAAA .75pt;padding:2.4pt;"&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="mso-fareast-language:EN-GB;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;2007-11-19&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:14pt;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;span style="font-family:Calibri;"&gt;NET Framework 3.5&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;Version 3.5 of the .NET Framework was released on November 19, 2007, and is included with Windows Server 2008. As with .NET Framework 3.0, version 3.5 uses the CLR of version 2.0. In addition, it installs .NET Framework 2.0 SP1 and .Net Framework 3.0 SP1, which adds some methods and properties to the BCL classes in version 2.0 which are required for version 3.5 features such as Language Integrated Query (LINQ). These changes do not affect applications written for version 2.0, however.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;As with previous versions, a new .NET Compact Framework 3.5 was released in tandem with this update in order to provide support for additional features on Windows Mobile and Windows Embedded CE devices.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;There are two elements that make up version 3.5 of the Framework: the &amp;quot;green bits&amp;quot; and the &amp;quot;red bits&amp;quot;. This model is aimed at minimizing the impact of delivering new features and functionality. The red bits are those parts of the Framework that exist in release today, which include the .NET Framework 2.0 and 3.0 releases. The green bits are brand new assemblies with brand new types in them.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;&lt;img width="546" src="http://img148.imageshack.us/img148/5978/fx35ed7.png" alt="Image" height="348" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;Looking at the diagram above, you might notice that the full version number for the .NET Framework v2.0 bits is different across the different versions. The important thing to understand here is how Microsoft views version numbers. In the Microsoft world, the version number is the first three parts - the Major.Minor.Build parts. The fourth part is the Revision, which corresponds to the service pack level.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;The end result of this is that the .NET Framework v3.0 is at a different service pack on Vista then it is on other versions of Windows. The .NET Framework v3.5 includes updates to both the v2.0 and v3.0 frameworks. These updates are not new changes or features, but are really a service pack with bug fixes and performance improvements.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-bottom:12pt;text-align:justify;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;span style="color:#333333;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;The &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;a href="http://blogs.msdn.com/trobbins/archive/2007/02/28/microsoft-pre-release-software-visual-studio-code-name-orcas-march-2007-community-technology-preview-ctp.aspx"&gt;&lt;span style="color:windowtext;"&gt;.NET Framework 3.5&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#333333;"&gt; brings no breaking changes. New technology is being added including LINQ, AJAX, WF, WCF and WPF &lt;/span&gt;&lt;span class="klink"&gt;Developer &lt;/span&gt;&lt;span&gt;Tools&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;font face="Times New Roman"&gt; and BCL enhancements.&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 10pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b&gt;&lt;span style="font-size:14pt;color:#333333;"&gt;.NET Framework 3.5 New Features&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:14pt;color:#333333;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;color:#333333;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;b&gt;&lt;span style="color:#333333;mso-bidi-font-family:Arial;"&gt;Faster .NET Framework execution&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt 45.35pt;vertical-align:baseline;text-indent:-18pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:#333333;mso-bidi-font-family:Arial;"&gt;1.&lt;span style="font-size-adjust:none;font-stretch:normal;"&gt;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;Faster garbage collection&lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt 45.35pt;vertical-align:baseline;text-indent:-18pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:#333333;mso-bidi-font-family:Arial;"&gt;2.&lt;span style="font-size-adjust:none;font-stretch:normal;"&gt;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;Smarter, faster NGen requiring smaller working set &lt;/span&gt;&lt;span class="klink"&gt;&lt;span&gt;RAM&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt 45.35pt;vertical-align:baseline;text-indent:-18pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:#333333;mso-bidi-font-family:Arial;"&gt;3.&lt;span style="font-size-adjust:none;font-stretch:normal;"&gt;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;64 bit client improvements&lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt 45.35pt;vertical-align:baseline;text-indent:-18pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:#333333;mso-bidi-font-family:Arial;"&gt;4.&lt;span style="font-size-adjust:none;font-stretch:normal;"&gt;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;ThreadPool performance improvements&lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt 45.35pt;vertical-align:baseline;text-indent:-18pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:#333333;mso-bidi-font-family:Arial;"&gt;5.&lt;span style="font-size-adjust:none;font-stretch:normal;"&gt;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;Security check caching during NGen &lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 12pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="color:#333333;"&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;vertical-align:baseline;line-height:13.65pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;b&gt;&lt;span style="color:black;mso-bidi-font-family:Arial;"&gt;Base Class Library &amp;ndash; New Class Additions&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt 45.35pt;vertical-align:baseline;text-indent:-18pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:#333333;mso-bidi-font-family:Arial;"&gt;6.&lt;span style="font-size-adjust:none;font-stretch:normal;"&gt;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;mso-ansi-language:SV;"&gt;&lt;/span&gt;BigInteger, HashSet and DateTime2 types&lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt 45.35pt;vertical-align:baseline;text-indent:-18pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:#333333;mso-bidi-font-family:Arial;"&gt;7.&lt;span style="font-size-adjust:none;font-stretch:normal;"&gt;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;mso-ansi-language:SV;"&gt;&lt;/span&gt;NSA Suite &amp;rdquo;B&amp;rdquo; and FIPs compliant cryptography&lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt 45.35pt;vertical-align:baseline;text-indent:-18pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:#333333;mso-bidi-font-family:Arial;"&gt;8.&lt;span style="font-size-adjust:none;font-stretch:normal;"&gt;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;mso-ansi-language:SV;"&gt;&lt;/span&gt;Lightweight Reader/Writer Lock Classes&lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt 45.35pt;vertical-align:baseline;text-indent:-18pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:#333333;mso-bidi-font-family:Arial;"&gt;9.&lt;span style="font-size-adjust:none;font-stretch:normal;"&gt;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;mso-ansi-language:SV;"&gt;&lt;/span&gt;Anonymous and Named Pipes IO Classes&lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt 45.35pt;vertical-align:baseline;text-indent:-18pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:#333333;mso-bidi-font-family:Arial;"&gt;10.&lt;span style="font-size-adjust:none;font-stretch:normal;"&gt;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;mso-ansi-language:SV;"&gt;&lt;/span&gt;Integration with Event Tracing for Windows&lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt 45.35pt;vertical-align:baseline;text-indent:-18pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:#333333;mso-bidi-font-family:Arial;"&gt;11.&lt;span style="font-size-adjust:none;font-stretch:normal;"&gt;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;New Adding &lt;/span&gt;&lt;span class="klink"&gt;&lt;span&gt;hosting&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color:black;"&gt; model for extensibility &lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 12pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="color:#333333;"&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;vertical-align:baseline;line-height:13.65pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;b&gt;&lt;span style="color:black;mso-bidi-font-family:Arial;"&gt;Language Integrated Query (LINQ)&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:2.15pt 0cm 3.6pt;vertical-align:baseline;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:black;"&gt;Deep integration of LINQ data-awareness into the programming languages and framework.&lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;vertical-align:baseline;line-height:13.65pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;vertical-align:baseline;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;b&gt;&lt;span style="color:black;mso-bidi-font-family:Arial;"&gt;Workflow Enabled Services &amp;ndash; Process and Messaging together&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:2.15pt 0cm 3.6pt;vertical-align:baseline;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:black;mso-ansi-language:SV;"&gt;Using workflow to provide for durable and long-running services. New Tools, WF activities and new programming model classes have been added to simplify building workflow-enabled services using WF and WCF. This allows a .NET Framework developer to build business logic for a service using WF and expose messaging from that service using WCF. These improvements not only provide tools for this scenario but they reduce the amount of glue code that was previously required.&lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="color:#333333;"&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;vertical-align:baseline;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;b&gt;&lt;span style="color:black;mso-bidi-font-family:Arial;"&gt;Web 2.0 Friendly and &lt;/span&gt;&lt;/b&gt;&lt;span class="klink"&gt;&lt;b&gt;&lt;span style="mso-bidi-font-family:Arial;"&gt;AJAX&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;b&gt;&lt;span style="color:black;mso-bidi-font-family:Arial;"&gt; Enabled WCF Services&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;vertical-align:baseline;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:SV;"&gt;Ajax is a web development technique for making asynchronous exchanges of small amounts of data between browser and web service calls from the browser client script to the &lt;span class="klink"&gt;web &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;/span&gt;. A programming model is provided for building Ajax style web applications using WCF services. An HTTP programming model is also provided allowing for REST style &lt;span class="klink"&gt;web &lt;/span&gt;&lt;span&gt;services&lt;/span&gt;&lt;span&gt;&lt;/span&gt;.&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;vertical-align:baseline;text-align:justify;" class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;vertical-align:baseline;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;b&gt;&lt;span style="color:black;mso-bidi-font-family:Arial;"&gt;Visual Studio Developer Tools for WF, WCF and in Visual Studio &amp;ldquo;Orcas&amp;rdquo;&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:2.15pt 0cm 3.6pt;vertical-align:baseline;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:black;mso-ansi-language:SV;"&gt;Visual Studio&amp;rdquo;Orcas&amp;rdquo; has built in tools for web service authoring with WCF and for building workflow enabled software with WF. There are new project templates for WCF services, WF business logic, workflow enabled services, and AJAX services. The templates are conveniently set up to compile and run even before any custom code is added enabling .NET developers to get going quickly. There are also numerous other tools for developing with WF, WCF and WPF. &lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="color:#333333;"&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;vertical-align:baseline;line-height:13.65pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;b&gt;&lt;span style="color:black;mso-bidi-font-family:Arial;"&gt;More WS-* Standards Support&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:2.15pt 0cm 3.6pt;vertical-align:baseline;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:black;mso-ansi-language:SV;"&gt;Implementation in WCF of the latest OASIS specifications Web Services Atomic Transaction (WS-AtomicTransaction) 1.1, WS-ReliableMessaging 1.1, WS-SecureCOnversation and Web Services Coordination (WS-Coordination) 1.1. &lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;vertical-align:baseline;line-height:13.65pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;vertical-align:baseline;line-height:13.65pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;b&gt;&lt;span style="color:black;mso-bidi-font-family:Arial;"&gt;RSS and ATOM Syndication API&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:2.15pt 0cm 3.6pt;vertical-align:baseline;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:black;mso-ansi-language:SV;"&gt;Applications built using WCF will be able to easily expose syndicated data which can be consumed by an RSS or ATOM reader. &lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="color:#333333;"&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;vertical-align:baseline;line-height:13.65pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;b&gt;&lt;span style="color:black;mso-bidi-font-family:Arial;"&gt;Partial Trust Support for WCF Hosting&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:2.15pt 0cm 3.6pt;vertical-align:baseline;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:black;mso-ansi-language:SV;"&gt;Partial trust on the vlient is provided for ASMX parity focussing mainly on partially trusted WCF applications deployed through click-once. Support is provided for basic HTTP binding provided that the application runs in the Internet zone permissions and have granted the apropriate WebPermission. Secure communication is possible through transport security only. All other features are not available to partially trusted applications including &lt;/span&gt;&lt;span class="klink"&gt;&lt;span style="mso-ansi-language:SV;"&gt;hosting &lt;/span&gt;&lt;span&gt;services&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color:black;mso-ansi-language:SV;"&gt;, duplex communications, non-HTTP transports, WS-* protocols and any WF use. &lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:2.15pt 0cm 3.6pt;vertical-align:baseline;text-align:justify;" class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color:black;mso-bidi-font-family:Arial;"&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;Rules Data Improvements&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:2.15pt 0cm 3.6pt;vertical-align:baseline;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:black;mso-ansi-language:SV;"&gt;The rules engine in WF is improved to add support for C# 3.0 extension metods, and for operator overloading . Also the &amp;rdquo;new&amp;rdquo; operator is added to compete the base set of expression types. &lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;vertical-align:baseline;line-height:13.65pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;vertical-align:baseline;line-height:13.65pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;b&gt;&lt;span style="color:black;mso-bidi-font-family:Arial;"&gt;Built-in WPF tools for &lt;/span&gt;&lt;/b&gt;&lt;span class="klink"&gt;&lt;b&gt;&lt;span style="mso-bidi-font-family:Arial;"&gt;Visual &lt;/span&gt;&lt;span&gt;Studio&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;b&gt;&lt;span style="color:black;mso-bidi-font-family:Arial;"&gt; &amp;ldquo;Orcas&amp;rdquo;&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:2.15pt 0cm 3.6pt;vertical-align:baseline;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:black;"&gt;The Visual Studio designer for WPF was previously released as a CTP. It is not integrated into the development environment and is significantly improved.&lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;vertical-align:baseline;line-height:13.65pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color:black;mso-bidi-font-family:Arial;"&gt;&lt;span style="font-size:small;font-family:Calibri;background-color:#f8fcff;"&gt;Additional WPF Features and Improved Performance&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;vertical-align:baseline;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="background-color:#f8fcff;"&gt;&lt;font face="Calibri"&gt;&lt;span style="color:black;"&gt;WPF has smoother animations, faster startup and better overall performance. There are also new data types available for data binding with LINQ. Better integration support is now provided for with codename &amp;ldquo;WPF/E&amp;rdquo;.&lt;/span&gt;&lt;span style="color:#333333;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 3.6pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;span style="font-family:Calibri;background-color:#f8fcff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=26050" width="1" height="1"&gt;</content><author><name>coldapoy</name><uri>http://devpinoy.org/members/coldapoy/default.aspx</uri></author><category term=".NET Framework" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/.NET+Framework/default.aspx" /><category term=".NET Framework 3.5" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/.NET+Framework+3.5/default.aspx" /><category term="Microsoft" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Microsoft/default.aspx" /></entry><entry><title>Sending Email with attachment in ASP.NET using SMTP Server</title><link rel="alternate" type="text/html" href="/blogs/coldapoy/archive/2008/06/22/sending-email-with-attachment-in-asp-net-using-smtp-server.aspx" /><id>/blogs/coldapoy/archive/2008/06/22/sending-email-with-attachment-in-asp-net-using-smtp-server.aspx</id><published>2008-06-23T00:35:00Z</published><updated>2008-06-23T00:35:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;img width="564" src="http://img95.imageshack.us/img95/4568/mailpagede7.jpg" alt="Mail" height="485" /&gt;&lt;/p&gt;
&lt;h2&gt;Introduction &lt;/h2&gt;
&lt;p&gt;This application demonstrates how to send mail with attachments using SMTP server and how to configure the default SMTP server. The &lt;code&gt;System.Web.Mail&lt;/code&gt; namespace provides classes for sending email in .NET. The classes involved are &lt;code&gt;MailMessage&lt;/code&gt; which manages the content of the mail message and &lt;code&gt;MailAttachment&lt;/code&gt; which manages the mail attachments.&lt;/p&gt;
&lt;h2&gt;Setting SMTP server&lt;/h2&gt;
&lt;p&gt;Before running the application you need to confirm these server settings:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Make sure that the SMTP server is running, only then it can relay mail. If not, open the IIS window, in IIS look for the &amp;quot;&lt;i&gt;local computer&lt;/i&gt;&amp;quot; on the left side tree view under which you will see the &amp;quot;&lt;i&gt;Default SMTP Virtual Server&lt;/i&gt;&amp;quot;, if it is not available, then you need to install it. &lt;/li&gt;
&lt;li&gt;To configure &amp;quot;&lt;i&gt;Default SMTP Virtual Server&lt;/i&gt;&amp;quot;, right-click on it, go into &amp;quot;&lt;i&gt;Properties&lt;/i&gt;&amp;quot;, and select &amp;quot;&lt;i&gt;Access&lt;/i&gt;&amp;quot; tab, and then click the &amp;quot;&lt;i&gt;Relay&lt;/i&gt;&amp;quot; button. With &amp;quot;&lt;i&gt;only the list below&lt;/i&gt;&amp;quot; radio button selected, you should see the local IP address: &amp;quot;127.0.0.1&amp;quot;, if it&amp;#39;s not there, you need to add it. &lt;/li&gt;
&lt;li&gt;If you are using &amp;quot;localhost&amp;quot; or &amp;quot;127.0.0.1&amp;quot; as the &lt;code&gt;SmtpMail.SmtpServer&lt;/code&gt;, make sure &amp;quot;&lt;i&gt;Anonymous access is allowed&lt;/i&gt;&amp;quot;. To allow access, open up the IIS. Locate the SMTP virtual server, and right-click select &lt;i&gt;Properties&lt;/i&gt;. On the &lt;i&gt;Access tab&lt;/i&gt;, click the &lt;i&gt;Authentication button&lt;/i&gt;. Make sure &amp;quot;&lt;i&gt;Anonymous Access&lt;/i&gt;&amp;quot; is the only checkbox checked. &lt;/li&gt;
&lt;li&gt;Use real &lt;b&gt;from&lt;/b&gt; and &lt;b&gt;to&lt;/b&gt; addresses that exist on the &lt;code&gt;SmtpMail.SmtpServer&lt;/code&gt;. Do not use invalid address. &lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Getting objects&lt;/h2&gt;
&lt;p&gt;Initially, we need to create a new object for the &lt;code&gt;MailMessage&lt;/code&gt; class, we will call it &amp;quot;&lt;code&gt;mailMessage&lt;/code&gt;&amp;quot;. Then we set the &lt;code&gt;From&lt;/code&gt;, &lt;code&gt;To&lt;/code&gt;, &lt;code&gt;Cc&lt;/code&gt;, &lt;code&gt;Bcc&lt;/code&gt;, &lt;code&gt;Subject&lt;/code&gt; and &lt;code&gt;Body&lt;/code&gt; properties as well as the &lt;code&gt;BodyFormat&lt;/code&gt; of this object to the values on our web form:&lt;/p&gt;
&lt;pre&gt; &lt;span class="code-comment"&gt;/*&lt;/span&gt;&lt;span class="code-comment"&gt; Create a new blank MailMessage */&lt;/span&gt;
 MailMessage mailMessage = &lt;span class="code-keyword"&gt;new&lt;/span&gt; MailMessage ();  
 mailMessage.From = txtSender.Text;
 mailMessage.To = txtReceiver.Text;
 mailMessage.Cc = txtCc.Text;
 mailMessage.Bcc = txtBcc.Text;
 mailMessage.Subject = txtSubject.Text;
 mailMessage.Body = txtBody.Text;
 &lt;span class="code-comment"&gt;/*&lt;/span&gt;&lt;span class="code-comment"&gt; Set the properties of the MailMessage to the
    values on the form  */&lt;/span&gt;
 &lt;span class="code-keyword"&gt;if&lt;/span&gt; (rblMailFormat.SelectedItem.Text == &lt;span class="code-string"&gt;&amp;quot;&lt;/span&gt;&lt;span class="code-string"&gt;Text&amp;quot;&lt;/span&gt;)
    mailMessage.BodyFormat = MailFormat.Text;
 &lt;span class="code-keyword"&gt;else&lt;/span&gt;
    mailMessage.BodyFormat = MailFormat.Html;&lt;/pre&gt;
&lt;h2&gt;Making attachments&lt;/h2&gt;
&lt;p&gt;To make attachments we need to use the &lt;code&gt;MailAttachment&lt;/code&gt; class and for this we create an object &lt;code&gt;attach&lt;/code&gt;. The following block of code checks the Open File Dialogs of our web form (the Open File Dialog is an HTML file field control to which we&amp;#39;ve added the &lt;code&gt;runat=&lt;span class="code-string"&gt;&amp;quot;&lt;/span&gt;&lt;span class="code-string"&gt;server&amp;quot;&lt;/span&gt;&lt;/code&gt; property). If there is a value, the file is uploaded, saved on the server and added as an attachment to the email.&lt;/p&gt;
&lt;pre&gt;&lt;span class="code-comment"&gt;/*&lt;/span&gt;&lt;span class="code-comment"&gt; Beginning of Attachment1 process   &amp;amp; 
   Check the first open file dialog for a attachment */&lt;/span&gt;
&lt;span class="code-keyword"&gt;if&lt;/span&gt; (inpAttachment1.PostedFile != &lt;span class="code-keyword"&gt;null&lt;/span&gt;)
{
&lt;span class="code-comment"&gt;/*&lt;/span&gt;&lt;span class="code-comment"&gt; Get a reference to PostedFile object */&lt;/span&gt;
HttpPostedFile attFile = inpAttachment1.PostedFile;
 &lt;span class="code-comment"&gt;/*&lt;/span&gt;&lt;span class="code-comment"&gt; Get size of the file */&lt;/span&gt;
 &lt;span class="code-keyword"&gt;int&lt;/span&gt; attachFileLength = attFile.ContentLength; 
 &lt;span class="code-comment"&gt;/*&lt;/span&gt;&lt;span class="code-comment"&gt; Make sure the size of the file is &amp;gt; 0  */&lt;/span&gt;
 &lt;span class="code-keyword"&gt;if&lt;/span&gt; (attachFileLength &amp;gt; &lt;span class="code-digit"&gt;0&lt;/span&gt;)
 {
 &lt;span class="code-comment"&gt;/*&lt;/span&gt;&lt;span class="code-comment"&gt; Get the file name */&lt;/span&gt;
 strFileName = Path.GetFileName(inpAttachment1.PostedFile.FileName);
 &lt;span class="code-comment"&gt;/*&lt;/span&gt;&lt;span class="code-comment"&gt; Save the file on the server */&lt;/span&gt;      
 inpAttachment1.PostedFile.SaveAs(Server.MapPath(strFileName));  
 &lt;span class="code-comment"&gt;/*&lt;/span&gt;&lt;span class="code-comment"&gt; Create the email attachment with the uploaded file */&lt;/span&gt;
 MailAttachment attach = &lt;span class="code-keyword"&gt;new&lt;/span&gt; MailAttachment(Server.MapPath(strFileName));
 &lt;span class="code-comment"&gt;/*&lt;/span&gt;&lt;span class="code-comment"&gt; Attach the newly created email attachment */&lt;/span&gt;      
 mailMessage.Attachments.Add(attach);
 &lt;span class="code-comment"&gt;/*&lt;/span&gt;&lt;span class="code-comment"&gt; Store the attach filename so we can delete it later */&lt;/span&gt;
 attach1 = strFileName;
 }
}&lt;/pre&gt;
&lt;p&gt;Now, we send the email with the attachments:&lt;/p&gt;
&lt;pre&gt;SmtpMail.SmtpServer = &lt;span class="code-string"&gt;&amp;quot;&lt;/span&gt;&lt;span class="code-string"&gt;127.0.0.1&amp;quot;&lt;/span&gt;;
(Or)
SmtpMail.SmtpServer.Insert(&lt;span class="code-digit"&gt;0&lt;/span&gt;,&lt;span class="code-string"&gt;&amp;quot;&lt;/span&gt;&lt;span class="code-string"&gt;127.0.0.1&amp;quot;&lt;/span&gt;);
SmtpMail.Send (mailMessage);&lt;/pre&gt;
&lt;p&gt;Finally, if the attachments are available then we need to delete it:&lt;/p&gt;
&lt;pre&gt;&lt;span class="code-comment"&gt;/*&lt;/span&gt;&lt;span class="code-comment"&gt; Delete the attachements if any */&lt;/span&gt;
 &lt;span class="code-keyword"&gt;if&lt;/span&gt; (attach1 != &lt;span class="code-keyword"&gt;null&lt;/span&gt;)
  File.Delete(Server.MapPath(attach1));
 &lt;span class="code-keyword"&gt;if&lt;/span&gt; (attach2 != &lt;span class="code-keyword"&gt;null&lt;/span&gt;)
  File.Delete(Server.MapPath(attach2));
 &lt;span class="code-keyword"&gt;if&lt;/span&gt; (attach3 != &lt;span class="code-keyword"&gt;null&lt;/span&gt;)
       File.Delete(Server.MapPath(attach3));&lt;/pre&gt;
&lt;p&gt;Various ways to set the SMTP Mail server:&lt;/p&gt;
&lt;pre&gt;SmtpMail.SmtpServer = &lt;span class="code-string"&gt;&amp;quot;&lt;/span&gt;&lt;span class="code-string"&gt;localhost&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;or&lt;/p&gt;
&lt;pre&gt;SmtpMail.SmtpServer = &lt;span class="code-string"&gt;&amp;quot;&lt;/span&gt;&lt;span class="code-string"&gt;127.0.0.1&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;or&lt;/p&gt;
&lt;pre&gt;SmtpMail.SmtpServer.Insert( &lt;span class="code-digit"&gt;0&lt;/span&gt;, 
    &lt;span class="code-string"&gt;&amp;quot;&lt;/span&gt;&lt;span class="code-string"&gt;127.0.0.1 or your mail server name here&amp;quot;&lt;/span&gt;)&lt;/pre&gt;
&lt;p&gt;You need to replace &amp;quot;&lt;i&gt;localhost&lt;/i&gt;&amp;quot; with the name or IP address of your SMTP Mail server on a Windows desktop computer or you can insert the server but &amp;quot;localhost&amp;quot; is the default value and it usually works.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=25982" width="1" height="1"&gt;</content><author><name>coldapoy</name><uri>http://devpinoy.org/members/coldapoy/default.aspx</uri></author><category term="coldapoy" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/coldapoy/default.aspx" /><category term="C#" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/C_2300_/default.aspx" /><category term="System.Net.Mail" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/System.Net.Mail/default.aspx" /><category term="Asp.Net" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Asp.Net/default.aspx" /><category term="SMTP" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/SMTP/default.aspx" /><category term="Mail Body" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/Mail+Body/default.aspx" /><category term="MailMessage" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/MailMessage/default.aspx" /><category term="MailAddress" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/MailAddress/default.aspx" /><category term="SendMail" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/SendMail/default.aspx" /><category term="SmtpClient" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/SmtpClient/default.aspx" /><category term="rad controls" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/rad+controls/default.aspx" /><category term="MailAddressCollection" scheme="http://devpinoy.org/blogs/coldapoy/archive/tags/MailAddressCollection/default.aspx" /></entry></feed>