<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7576686272941812665</id><updated>2012-02-16T00:41:10.931-08:00</updated><title type='text'>DotNet Gurus</title><subtitle type='html'>You will find discussion topics for ASP.net, C#, AJAX, SQL, VB.net, .Net Framework, WCF, WPF, WWF, Silverlight, WSS 3.0, MOSS 2007, OOPs Concepts, SQL Server etc.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-5020936216699376576</id><published>2010-04-05T23:15:00.000-07:00</published><updated>2010-04-05T23:17:15.024-07:00</updated><title type='text'>Passed WCF (070-503) Exam!!!</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Hi All,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I have passed WCF (070-503) paper with excellent score 933/1000. It was very diffcult exam but still I managed good score. :)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Email me if anybody want to know more detail about exam and material.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Cheers!!!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-5020936216699376576?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/5020936216699376576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=5020936216699376576' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/5020936216699376576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/5020936216699376576'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2010/04/passed-wcf-070-503-exam.html' title='Passed WCF (070-503) Exam!!!'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-3454706483813164655</id><published>2009-10-30T02:33:00.001-07:00</published><updated>2009-10-30T02:38:17.775-07:00</updated><title type='text'>Clean Web.Config Files (VS 2010 and ASP.NET 4.0)</title><content type='html'>&lt;span style="font-family:verdana;"&gt;You’ll encounter this improvement the first time you do a File-&gt;New Project within Visual Studio 2010 and create an empty ASP.NET 4.0 Web application (which is why I thought it might be appropriate to-do as the first post).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;u&gt;&lt;strong&gt;Web.config files in .NET 3.0 and 3.5&lt;br /&gt;&lt;/strong&gt;&lt;/u&gt;Over the last few releases, the web.config files within new ASP.NET projects have steadily increased in size. For example: the default web.config file that is added to a new web project in Visual Studio 2008 SP1 is now some 126 lines long, and contains everything from tag definitions to definitions of handlers and modules to be included in the ASP.NET HTTP pipeline.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;This increase in size is because .NET 3.0 and .NET 3.5 use the same CLR and machine.config configuration file as those shipped with .NET 2.0 – and simply add and update assemblies in the framework when they are installed. To avoid the risk of us accidentally overwriting customized settings within the original 2.0 machine.config on the machine, we didn’t register the tag definitions, handlers and modules that shipped with the new ASP.NET functionality that came with the .NET 3.0 and .NET 3.5 versions. Instead, we defaulted to having new projects register these settings within the application’s local web.config file instead. This was safer – but caused the web.config files to increase and become more complicated and harder to read.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;&lt;u&gt;Web.config files in .NET 4&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;.NET 4 includes a new version of the CLR, and a new .NET 4 specific machine.config file (which is installed side-by-side with the one used by .NET 2, .NET 3 and .NET 3.5).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The new .NET 4 machine.config file now automatically registers all of the ASP.NET tag sections, handlers and modules that we’ve added over the years, including the functionality for:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;ASP.NET AJAX&lt;br /&gt;ASP.NET Dynamic Data&lt;br /&gt;ASP.NET Routing (which can now be used for both ASP.NET WebForms and ASP.NET MVC)&lt;br /&gt;ASP.NET Chart Control (which now ships built-into ASP.NET V4) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;What this means is that when you create a new “Empty ASP.NET application” project in VS 2010, you’ll find that the new default application-level web.config file is now clean and simple:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_K2x6SiOcBFA/SuqzqQKBGUI/AAAAAAAAABg/XdYrQsOMgy8/s1600-h/webconfig.png"&gt;&lt;span style="font-family:verdana;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5398324641829820738" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 169px" alt="" src="http://3.bp.blogspot.com/_K2x6SiOcBFA/SuqzqQKBGUI/AAAAAAAAABg/XdYrQsOMgy8/s320/webconfig.png" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-3454706483813164655?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/3454706483813164655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=3454706483813164655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/3454706483813164655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/3454706483813164655'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2009/10/clean-webconfig-files-vs-2010-and.html' title='Clean Web.Config Files (VS 2010 and ASP.NET 4.0)'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_K2x6SiOcBFA/SuqzqQKBGUI/AAAAAAAAABg/XdYrQsOMgy8/s72-c/webconfig.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-8443279112283906188</id><published>2009-10-29T23:37:00.000-07:00</published><updated>2009-10-29T23:41:27.322-07:00</updated><title type='text'>Sharepoint 2010</title><content type='html'>&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;SharePoint 2010 Sneak Peak &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;I guess this will be blogged extensivly the coming hours and days: Microsoft has released official documentation about the next version of SharePoint. Read all about it here:&lt;br /&gt;&lt;/span&gt;&lt;a href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx" mce_href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx"&gt;&lt;span style="font-family:verdana;"&gt;http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;. &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;From that site:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;a href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/Overview-Video.aspx" mce_href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/Overview-Video.aspx"&gt;&lt;span style="font-family:verdana;"&gt;General overview&lt;/span&gt;&lt;/a&gt; &lt;span style="font-family:verdana;"&gt;SharePoint 2010 enables organizations to connect and empower people through an integrated set of rich features. Get a sneak peek of SharePoint 2010 product features today.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/IT-Pro-video.aspx" mce_href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/IT-Pro-video.aspx"&gt;&lt;span style="font-family:verdana;"&gt;For IT Professionals&lt;/span&gt;&lt;/a&gt; &lt;span style="font-family:verdana;"&gt;For IT professionals, SharePoint 2010 offers enhancement to drive productivity, scalable unified infrastructure, and flexible deployment. Learn more about how to cut IT costs with SharePoint 2010.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/Developer-video.aspx" mce_href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/Developer-video.aspx"&gt;&lt;span style="font-family:verdana;"&gt;For Developers&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; YAY!For developers, SharePoint 2010 provides the business collaboration platform to rapidly build solutions and respond to business needs. Check out SharePoint 2010 features sneak peek for developers.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-8443279112283906188?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/8443279112283906188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=8443279112283906188' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/8443279112283906188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/8443279112283906188'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2009/10/sharepoint-2010.html' title='Sharepoint 2010'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-5384483616532923047</id><published>2009-10-28T01:56:00.000-07:00</published><updated>2009-10-28T02:02:54.316-07:00</updated><title type='text'>Sharepoint tutorial...</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Are you new to Sharepoint??? Wanna to begin with Sharepoint development??? If yes then click on below link. There is plenty of information to begin with Sharepoint.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/click/SharePointDeveloper/"&gt;&lt;span style="font-family:verdana;"&gt;http://www.microsoft.com/click/SharePointDeveloper/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;Enjoy and happy reading... :)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-5384483616532923047?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/5384483616532923047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=5384483616532923047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/5384483616532923047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/5384483616532923047'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2009/10/sharepoint-tutorial.html' title='Sharepoint tutorial...'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-4804179304909316676</id><published>2009-09-02T23:23:00.000-07:00</published><updated>2009-09-02T23:32:21.162-07:00</updated><title type='text'>enableWebScript, UriTemplate, and HTTP methods</title><content type='html'>&lt;span style="font-family:verdana;"&gt;I got very nice post on enableWebScript from Justin Smith blog so I have posted it on my blog:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;A little while ago I ran into an interesting set of errors that may be of interest to you. Consider the following service contract snippet:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;[OperationContract]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;[WebGet(UriTemplate="foobar/{value}")]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;String GetData(String value);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;If you add the enableWebScript behavior to an endpoint that is using the WebHttpBinding, you will see this exception when the ServiceHost starts:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:times new roman;"&gt;System.InvalidOperationException: Endpoints using 'UriTemplate' cannot be used with 'System.ServiceModel.Description.WebScriptEnablingBehavior'.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The reason for this error is rooted in the origin of the enableWebScript behavior. One of it's design objectives was to simplify working with the ASP.NET AJAX stack (Javascript proxy, JSON messages, etc). The AJAX stack doesn't have the equivalent of the UriTempalte type. It simply puts parameters in query strings (gets) and constructs entity bodies (posts). This is the default behavior of the WCF stack when the WebGet / WebInvoke annotations do not have a value for UriTemplate. Since any value of UriTemplate would be incompatible with the ASP.NET AJAX stack, we throw when it's present.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;If you want JSON messages from a contract and you want to use the UriTemplate niceness, you can change your contract to:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;[OperationContract][&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;WebGet(UriTemplate="foobar/{value}", ResponseFormat=WebMessageFormat.Json)]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;String GetData(String value);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Then, instead of using the enableWebScript behavior, use the WebHttpBehavior. You'll lose compat with the ASP.NET AJAX client stack (and the JS proxy), but you have the URI you are looking for.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The same is true if you are using the WebInvoke attribute and any HTTP method other than POST. The AJAX client stack only knows GET and POST...&lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;HTH...&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Happy coding... :)&lt;/p&gt;&lt;br /&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-4804179304909316676?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/4804179304909316676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=4804179304909316676' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/4804179304909316676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/4804179304909316676'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2009/09/enablewebscript-uritemplate-and-http.html' title='enableWebScript, UriTemplate, and HTTP methods'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-5177119903696467652</id><published>2009-05-26T22:49:00.000-07:00</published><updated>2009-05-26T23:52:49.831-07:00</updated><title type='text'>Listen Radio Mirchi !!! (Open in IE only)</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;object id="Object1" ondblclick="javascript:DoubleScreen(1)" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=" type="application/x-oleobject" height="62" standby="Loading content..." width="336" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"&gt;&lt;param name="URL" value="http://www.1.fm/player/energybbfm32k.asx"&gt;&lt;param name="rate" value="1"&gt;&lt;param name="balance" value="0"&gt;&lt;param name="currentPosition" value="0"&gt;&lt;param name="defaultFrame" value=""&gt;&lt;param name="playCount" value="1"&gt;&lt;param name="autoStart" value="-1"&gt;&lt;param name="currentMarker" value="0"&gt;&lt;param name="invokeURLs" value="-1"&gt;&lt;param name="baseURL" value=""&gt;&lt;param name="volume" value="30"&gt;&lt;param name="mute" value="0"&gt;&lt;param name="uiMode" value="mini"&gt;&lt;param name="stretchToFit" value="0"&gt;&lt;param name="windowlessVideo" value="0"&gt;&lt;param name="enabled" value="-1"&gt;&lt;param name="enableContextMenu" value="-1"&gt;&lt;param name="fullScreen" value="0"&gt;&lt;param name="SAMIStyle" value=""&gt;&lt;param name="SAMILang" value=""&gt;&lt;param name="SAMIFilename" value=""&gt;&lt;param name="captioningID" value=""&gt;&lt;param name="enableErrorDialogs" value="0"&gt;&lt;param name="_cx" value="8890"&gt;&lt;param name="_cy" value="1640"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;  &lt;embed type="'application/x-oleobject'" ondblclick="'javascript:DoubleScreen(1)'" src="'http://www.1.fm/player/energybbfm32k.asx'" width="'336'" height="'62'" autostart="'True'" sendplaystatechangeevents="'True'" uimode="'mini'" playcount="'9999'" stretchtofit="'True'" enablecontextmenu="'False'" buffertime="'10'" autoplay="'true'" autorewind="'false'" swliveconnect="'true'"&gt;&lt;/embed&gt;&lt;br /&gt;  &lt;/object&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;enjoy...&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-5177119903696467652?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/5177119903696467652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=5177119903696467652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/5177119903696467652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/5177119903696467652'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2009/05/listen-radio-mirchi.html' title='Listen Radio Mirchi !!! (Open in IE only)'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-1139085931052567832</id><published>2009-05-07T05:17:00.000-07:00</published><updated>2009-05-07T05:19:58.507-07:00</updated><title type='text'>ADO.NET Data Services Videos</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Hi,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I found ADO.NET Data Service Videos at following link:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/data/cc300162.aspx"&gt;&lt;span style="font-family:verdana;"&gt;http://msdn.microsoft.com/en-us/data/cc300162.aspx&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Enjoy!!!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-1139085931052567832?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/1139085931052567832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=1139085931052567832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/1139085931052567832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/1139085931052567832'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2009/05/adonet-data-services-videos.html' title='ADO.NET Data Services Videos'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-9012220417374785821</id><published>2009-04-07T00:15:00.000-07:00</published><updated>2009-04-07T00:36:44.442-07:00</updated><title type='text'>Can not create or open silverlight 2 projects "Object reference not set to a instance of an object"</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Problems:When you create a new silverlight project you get a message "Object reference not set to a instance of an object"When you try to load existing project it tells that visual studio can not open this type of project.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Solution:&lt;br /&gt;(a) Open the command prompt and go to the folder C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;(b) type devenv /resetskippkgs&lt;br /&gt;&lt;br /&gt;close the Visual Studio Window that will open after completion of previous command.&lt;br /&gt;&lt;br /&gt;(c) type devenv /setup&lt;br /&gt;&lt;br /&gt;(d) After the execution of previous command is complete open Visual Studio.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Cheers!!!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-9012220417374785821?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/9012220417374785821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=9012220417374785821' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/9012220417374785821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/9012220417374785821'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2009/04/can-not-create-or-open-silverlight-2.html' title='Can not create or open silverlight 2 projects &quot;Object reference not set to a instance of an object&quot;'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-7695811033959135362</id><published>2009-03-09T05:53:00.000-07:00</published><updated>2009-03-09T06:02:25.336-07:00</updated><title type='text'>Send Email in .Net Application without SMTP server</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Usually, when we send an email, we need to have valid SMTP server along with access and deliver the email using that server. If we add the send email functionality to software, the user needs to configure an SMTP server address, the username, and the password. The SMTP server receive message and send it to another SMTP server or deliver it to local inbox. Why not send an email to the receiver's SMTP server directly? Why can’t we directly communicate to receiver SMTP server on port 25? &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;The problem is we don't know which SMTP server is responsible for receiving emails for a given email address. The secret is that this information can be obtained from Domain Name System (DNS) servers. This seems simple; however, it needs a lot work to implement the DNS protocol (&lt;/span&gt;&lt;a href="http://tools.ietf.org/html/rfc1035" target="_blank"&gt;&lt;span style="font-family:verdana;"&gt;RFC 1035&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;) because the .NET framework doesn't support getting mail server info from DNS. &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;There are certain fundamental concepts defined for SMTP &lt;/span&gt;&lt;a href="http://tools.ietf.org/html/rfc5321" target="_new"&gt;&lt;span style="font-family:verdana;"&gt;RFC 5321&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; SMTP servers which send message to another server are called MTAs. MTAs look for MX record (may find more than one MX records) for the domain (DNS look up for NS and MX record, in windows you can use dnsapi.dll, DnsQuery_W method suits to needs.). Once you have server IP you can connect to port 25 (generally those ports are Ephemeral) and exchange message (of course according to &lt;/span&gt;&lt;a href="http://tools.ietf.org/html/rfc5321" target="_new"&gt;&lt;span style="font-family:verdana;"&gt;RFC 5321&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;). &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;We can use Dnsapi.dll to query DNS server the code is....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;/* **********************************************&lt;br /&gt;* Developed by Dipak Bava&lt;br /&gt;* Resolves MX records for domain name&lt;br /&gt;* Date: 25 Feb 2009&lt;br /&gt;* **********************************************/&lt;br /&gt;using System;&lt;br /&gt;using System.Collections;&lt;br /&gt;using System.ComponentModel;&lt;br /&gt;using System.Runtime.InteropServices;&lt;br /&gt;&lt;br /&gt;namespace SendSMTP&lt;br /&gt;{&lt;br /&gt;public class DnsLookUp&lt;br /&gt;{&lt;br /&gt;public DnsLookUp()&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;[DllImport("dnsapi", EntryPoint = "DnsQuery_W", CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true)]&lt;br /&gt;private static extern int DnsQuery([MarshalAs(UnmanagedType.VBByRefStr)]ref string pszName, QueryTypes wType, QueryOptions options, int aipServers, ref IntPtr ppQueryResults, int pReserved);&lt;br /&gt;&lt;br /&gt;[DllImport("dnsapi", CharSet = CharSet.Auto, SetLastError = true)]&lt;br /&gt;private static extern void DnsRecordListFree(IntPtr pRecordList, int FreeType);&lt;br /&gt;&lt;br /&gt;public static string[] GetMXRecords(string domain)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;IntPtr ptr1 = IntPtr.Zero;&lt;br /&gt;IntPtr ptr2 = IntPtr.Zero;&lt;br /&gt;MXRecord recMx;&lt;br /&gt;if (Environment.OSVersion.Platform != PlatformID.Win32NT)&lt;br /&gt;{&lt;br /&gt;throw new NotSupportedException();&lt;br /&gt;}&lt;br /&gt;ArrayList list1 = new ArrayList();&lt;br /&gt;int num1 = DnsLookUp.DnsQuery(ref domain, QueryTypes.DNS_TYPE_MX, QueryOptions.DNS_QUERY_BYPASS_CACHE, 0, ref ptr1, 0);&lt;br /&gt;if (num1 != 0)&lt;br /&gt;{&lt;br /&gt;throw new Win32Exception(num1);&lt;br /&gt;}&lt;br /&gt;for (ptr2 = ptr1; !ptr2.Equals(IntPtr.Zero); ptr2 = recMx.pNext)&lt;br /&gt;{&lt;br /&gt;recMx = (MXRecord)Marshal.PtrToStructure(ptr2, typeof(MXRecord));&lt;br /&gt;if (recMx.wType == 15)&lt;br /&gt;{&lt;br /&gt;string text1 = Marshal.PtrToStringAuto(recMx.pNameExchange);&lt;br /&gt;list1.Add(text1);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;DnsLookUp.DnsRecordListFree(ptr1, 0);&lt;br /&gt;return (string[])list1.ToArray(typeof(string));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private enum QueryOptions&lt;br /&gt;{&lt;br /&gt;DNS_QUERY_ACCEPT_TRUNCATED_RESPONSE = 1,&lt;br /&gt;DNS_QUERY_BYPASS_CACHE = 8,&lt;br /&gt;DNS_QUERY_DONT_RESET_TTL_VALUES = 0x100000,&lt;br /&gt;DNS_QUERY_NO_HOSTS_FILE = 0x40,&lt;br /&gt;DNS_QUERY_NO_LOCAL_NAME = 0x20,&lt;br /&gt;DNS_QUERY_NO_NETBT = 0x80,&lt;br /&gt;DNS_QUERY_NO_RECURSION = 4,&lt;br /&gt;DNS_QUERY_NO_WIRE_QUERY = 0x10,&lt;br /&gt;DNS_QUERY_RESERVED = -16777216,&lt;br /&gt;DNS_QUERY_RETURN_MESSAGE = 0x200,&lt;br /&gt;DNS_QUERY_STANDARD = 0,&lt;br /&gt;DNS_QUERY_TREAT_AS_FQDN = 0x1000,&lt;br /&gt;DNS_QUERY_USE_TCP_ONLY = 2,&lt;br /&gt;DNS_QUERY_WIRE_ONLY = 0x100&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private enum QueryTypes&lt;br /&gt;{&lt;br /&gt;DNS_TYPE_MX = 15&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;[StructLayout(LayoutKind.Sequential)]&lt;br /&gt;private struct MXRecord&lt;br /&gt;{&lt;br /&gt;public IntPtr pNext;&lt;br /&gt;public string pName;&lt;br /&gt;public short wType;&lt;br /&gt;public short wDataLength;&lt;br /&gt;public int flags;&lt;br /&gt;public int dwTtl;&lt;br /&gt;public int dwReserved;&lt;br /&gt;public IntPtr pNameExchange;&lt;br /&gt;public short wPreference;&lt;br /&gt;public short Pad;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Sounds good up to here but when you really try to connect MTAs to deliver message spamhaus comes in to picture. Most of the MTAs are now intelligent enough to fight against spammer and your ISP could be in the radar. So before you try, it’s wise to check you IP with &lt;/span&gt;&lt;a href="http://www.spamhaus.org/query/bl?ip=xx.xx.xx.xx" target="_blank"&gt;&lt;span style="font-family:verdana;"&gt;http://www.spamhaus.org/query/bl?ip=xx.xx.xx.xx&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Use the following code to deliver message if you do not want to study RFC 5321.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;//Now prepare your message.&lt;br /&gt;MailMessage mail = new MailMessage();&lt;br /&gt;mail.To.Add("someone@somedomail.com");&lt;br /&gt;mail.From = new MailAddress("tome@somedomain.com");&lt;br /&gt;mail.Subject = "Send email without SMTP server";&lt;br /&gt;mail.Body = "Yep, its workin!!!!";&lt;br /&gt;&lt;br /&gt;//Send message&lt;br /&gt;string domain = mail.To[0].Address.Substring(mail.To[0].Address.IndexOf('@') + 1);&lt;br /&gt;//To Do :need to check for MX record existance before you send. Left intentionally for you.&lt;br /&gt;string mxRecord = SendSMTP.DnsLookUp.GetMXRecords(domain)[0];&lt;br /&gt;SmtpClient client = new SmtpClient(mxRecord);&lt;br /&gt;client.Send(mail);&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Best Luck&lt;br /&gt;Dipak Goswami&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-7695811033959135362?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/7695811033959135362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=7695811033959135362' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/7695811033959135362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/7695811033959135362'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2009/03/send-email-in-net-application-without.html' title='Send Email in .Net Application without SMTP server'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-4847349773051998372</id><published>2009-02-26T02:26:00.000-08:00</published><updated>2009-02-26T02:35:56.864-08:00</updated><title type='text'>VS2008 ShortCut Keys for VB.NET and C#.NET</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Hi Friends,&lt;br /&gt;&lt;br /&gt;Wanna to imrove your productivey? Wanna to improve your navigation speed in Visual Studio? Wanna to impress your friend/colleauge???&lt;br /&gt;&lt;br /&gt;Here are links for files which contains all short-cut keys of VS2008 for VB.NET and C#.NET:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;iframe style="BORDER-RIGHT: #dde5e9 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #dde5e9 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 3px; BORDER-LEFT: #dde5e9 1px solid; WIDTH: 240px; PADDING-TOP: 0px; BORDER-BOTTOM: #dde5e9 1px solid; HEIGHT: 66px; BACKGROUND-COLOR: #ffffff" marginwidth="0" marginheight="0" src="http://cid-9006afda3db38646.skydrive.live.com/embedrowdetail.aspx/VS2008%20Shortcuts" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Enjoy Coding !!!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-4847349773051998372?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/4847349773051998372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=4847349773051998372' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/4847349773051998372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/4847349773051998372'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2009/02/vs2008-shortcut-keys-for-vbnet-and-cnet.html' title='VS2008 ShortCut Keys for VB.NET and C#.NET'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-1059590873957719633</id><published>2009-02-24T20:40:00.000-08:00</published><updated>2009-02-24T20:54:31.359-08:00</updated><title type='text'>MCTS (Web Developer) Materials</title><content type='html'>Hi Friends,&lt;br /&gt;&lt;br /&gt;Wanna to become Microsoft Certified Professional???&lt;br /&gt;&lt;br /&gt;Here you will find material for MCTS - Web Developer (70-528 and 70-536):&lt;br /&gt;&lt;br /&gt;&lt;iframe scrolling="no" marginheight="0" marginwidth="0" frameborder="0" style="width:240px;height:66px;margin:3px;padding:0;border:1px solid #dde5e9;background-color:#ffffff;" src="http://cid-9006afda3db38646.skydrive.live.com/embedrowdetail.aspx/MCTS%20-%20Web%20Developer"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Happy Certifications !!!! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-1059590873957719633?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/1059590873957719633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=1059590873957719633' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/1059590873957719633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/1059590873957719633'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2009/02/mcts-web-developer-materials.html' title='MCTS (Web Developer) Materials'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-7149937481330900598</id><published>2009-02-24T03:28:00.000-08:00</published><updated>2009-02-24T03:33:38.361-08:00</updated><title type='text'>ASP.NET and JQuery</title><content type='html'>JQuery is an open source JavaScript library that has a passionate following among Ajax developers. Microsoft is integrating the open source JQuery library into both the ASP.NET Web Forms and ASP.NET MVC frameworks and providing full product support. Learn how you can take advantage of JQuery to build richly interactive client-side Ajax applications when developing either ASP.NET Web Forms or ASP.NET MVC applications. Also see how JQuery works in combination with ASP.NET AJAX to provide the best framework for building Ajax applications. Watch following video to learn JQuery and ASP.NET:&lt;br /&gt;&lt;a href="http://channel9.msdn.com/pdc2008/PC31/"&gt;http://channel9.msdn.com/pdc2008/PC31/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The official site of JQuery is: &lt;a href="http://jquery.com/"&gt;http://jquery.com/&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-7149937481330900598?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/7149937481330900598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=7149937481330900598' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/7149937481330900598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/7149937481330900598'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2009/02/jquery-and-microsoft-ajax-framework.html' title='ASP.NET and JQuery'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-3165864741423098884</id><published>2009-02-18T21:48:00.000-08:00</published><updated>2009-02-19T01:42:37.167-08:00</updated><title type='text'>Microsoft LINQ Webcasts</title><content type='html'>&lt;span style="font-family:verdana;"&gt;(1) Using LINQ with Relational Data &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;MSDN Webcast: One of the most common forms of data used in applications today continues to be relational data that is stored in various database systems such as Microsoft SQL Server. In this session, learn about the flavors of LINQ that are designed to access relational data including LINQ to SQL, LINQ to Datasets, and LINQ to Entities. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032369773&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032369773&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;(2) Framework Masterclass: LINQ to XML &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;MSDN Webcast: “Framework Masterclass: LINQ to XML,” presented by Mike Benkovich (a MSDN Developer Evangelist). Topics include how LINQ can help you to develop XML applications, the basics of the XML helper functions and more. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032349381&amp;amp;CountryCode=US"&gt;&lt;span style="font-family:verdana;"&gt;http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032349381&amp;amp;CountryCode=US&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;(3) Framework Masterclass: LINQ to Entities &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;MSDN Webcast: “Framework Masterclass: LINQ to Entities,” presented by Mike Benkovich (a MSDN Developer Evangelist). This webcast discusses connecting to the data access layer and how to enhance LINQ applications by working with entities. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032349385&amp;amp;CountryCode=US"&gt;&lt;span style="font-family:verdana;"&gt;http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032349385&amp;amp;CountryCode=US&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;(4) Framework Masterclass: LINQ to SQL &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;MSDN Webcast: Microsoft .NET Language Integrated Query (LINQ) provides a common way to work with data in your applications. In this session, we dive into how LINQ provides methods to work with Structured Query Language (SQL) databases, including how to query, insert, and manage data using the LINQ framework.&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/events/series/detail/webcastdetails.aspx?seriesid=113&amp;amp;webcastid=3952"&gt;http://www.microsoft.com/events/series/detail/webcastdetails.aspx?seriesid=113&amp;amp;webcastid=3952&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;Happy Watching!!!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-3165864741423098884?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/3165864741423098884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=3165864741423098884' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/3165864741423098884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/3165864741423098884'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2009/02/microsoft-linq-webcasts.html' title='Microsoft LINQ Webcasts'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-2743234537125428735</id><published>2009-02-18T01:29:00.000-08:00</published><updated>2009-02-18T01:38:52.474-08:00</updated><title type='text'>WCF Webcast Videos</title><content type='html'>&lt;span style="font-family:arial;"&gt;Hi Guys,&lt;br /&gt;&lt;br /&gt;I found links of 15 WCF webcast videos. It will required your sign in on Micorosoft site so you needs live id. Once you logged in you can download those webcasts also!!! &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;Here are links of webcast videos:&lt;br /&gt;&lt;br /&gt;(1) MSDN Webcast: Windows Communication Foundation: Overview&lt;br /&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344312&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344312&amp;amp;Culture=en-US&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(2) MSDN Webcast: Windows Communication Foundation: Contracts&lt;br /&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344314&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344314&amp;amp;Culture=en-US&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(3) MSDN Webcast: Windows Communication Foundation: Contract Versioning&lt;br /&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344318&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344318&amp;amp;Culture=en-US&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(4) MSDN Webcast: Windows Communication Foundation: Exceptions and Faults&lt;br /&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344322&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344322&amp;amp;Culture=en-US&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(5) MSDN Webcast: Windows Communication Foundation: Bindings&lt;br /&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344330&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344330&amp;amp;Culture=en-US&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(6) MSDN Webcast: Windows Communication Foundation: Hosting&lt;br /&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344338&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344338&amp;amp;Culture=en-US&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(7) MSDN Webcast: Windows Communication Foundation: Messaging Patterns&lt;br /&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344342&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344342&amp;amp;Culture=en-US&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(8) MSDN Webcast: Windows Communication Foundation: Instancing Modes&lt;br /&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344344&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344344&amp;amp;Culture=en-US&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(9) MSDN Webcast: Windows Communication Foundation: Concurrency, Throughput, and Throttling&lt;br /&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344346&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344346&amp;amp;Culture=en-US&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(10) MSDN Webcast: Windows Communication Foundation: Security Fundamentals&lt;br /&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344348&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344348&amp;amp;Culture=en-US&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(11) MSDN Webcast: Windows Communication Foundation: Federated Security&lt;br /&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344351&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344351&amp;amp;Culture=en-US&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(12) MSDN Webcast: Windows Communication Foundation: Reliable Messaging&lt;br /&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344353&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344353&amp;amp;Culture=en-US&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(13) MSDN Webcast: Windows Communication Foundation: Transactions&lt;br /&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344355&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344355&amp;amp;Culture=en-US&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(14) MSDN Webcast: Windows Communication Foundation: Message Queuing&lt;br /&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344357&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344357&amp;amp;Culture=en-US&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(15) MSDN Webcast: Windows Communication Foundation: Extensibility&lt;br /&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344359&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344359&amp;amp;Culture=en-US&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enjoy Watching!!! &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-2743234537125428735?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/2743234537125428735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=2743234537125428735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/2743234537125428735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/2743234537125428735'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2009/02/wcf-webcast-videos.html' title='WCF Webcast Videos'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-2453726423266946692</id><published>2009-01-08T00:17:00.000-08:00</published><updated>2009-01-08T03:14:01.945-08:00</updated><title type='text'>3-Tier Architecture Demo using Generics</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Hi Guys,&lt;br /&gt;Happy New Year to all of you.&lt;br /&gt;&lt;br /&gt;3-Tier architecture is very old and famous architecture in programming field. As we know, it contains 3 layers:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;(i) Presentaion Layer:&lt;/strong&gt; Contains .aspx and .ascx files (Don't use DataSet, DataTable or DataReader in Presentation Layer)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;(ii) Business Layer:&lt;/strong&gt; Contains Business classes (Write all business logic here instead of presentation layer)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;(iii) Data Layer:&lt;/strong&gt; Contains Data related classes and logic (All Database operations)&lt;br /&gt;&lt;br /&gt;I have created 3-Tier demo application using &lt;strong&gt;Generic&lt;/strong&gt; and some of &lt;strong&gt;.NET 3.5 features&lt;/strong&gt;. You can download source code of demo application from following link:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe scrolling="no" marginheight="0" marginwidth="0" frameborder="0" style="width:240px;height:66px;margin:3px;padding:0;border:1px solid #dde5e9;background-color:#ffffff;" src="http://cid-9006afda3db38646.skydrive.live.com/embedrowdetail.aspx/N%7C_TierDemo"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Steps:&lt;/strong&gt;&lt;br /&gt;(i) Open solution in VS2008 as I have developed it using VS2008.&lt;br /&gt;(ii) There is one SQL Script file under App_Data folder. Execute that script file which creates database and its objects.&lt;br /&gt;(iii) See the flow of architecture, please don't do any testing as I have not done unit testing of application.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;(iv) I have not used many oops concepts to make demo as simple as possible.&lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-2453726423266946692?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/2453726423266946692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=2453726423266946692' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/2453726423266946692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/2453726423266946692'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2009/01/3-tier-application.html' title='3-Tier Architecture Demo using Generics'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-5462283836491248819</id><published>2008-12-23T00:48:00.000-08:00</published><updated>2008-12-23T01:10:17.151-08:00</updated><title type='text'>Silverlight - Micorosoft's magic for RIA (Part 3)</title><content type='html'>&lt;span style="font-family:verdana;"&gt;For previous part of this post, please visit &lt;/span&gt;&lt;a href="http://dotnet-gurus.blogspot.com/2008/12/silverlight-part-2.html"&gt;&lt;span style="font-family:verdana;"&gt;Silverlight (Part 2)&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Creating an ASP.NET Web Site with Silverlight Content:&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-family:verdana;"&gt;Although Silverlight does perfectly well on its own, you can also develop, test, and deploy it as part of an ASP.NET web site. Here’s how to create a Silverlight project and an ASP.NET web site that uses it in the same solution:&lt;br /&gt;&lt;br /&gt;1. Select File -&gt; New -&gt; Project in Visual Studio, choose the Visual C# group of project types, and select the Silverlight Application template. It’s a good idea to use the Create directory for solution option, so you can group together the two projects that Visual Studio will create—one for the Silverlight assembly and one for ASP.NET web site.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;2. Once you’ve picked the solution name and project name, click OK to create it. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;3. When asked whether you want to create a test web, choose the first option, Add a new Web. You’ll also need to supply a project name for the ASP.NET web site. By default, it’s your project name with the added text _Web. Finally, click OK to create the solution.&lt;br /&gt;&lt;br /&gt;There are two ways to integrate Silverlight content into an ASP.NET application:&lt;br /&gt;&lt;br /&gt;(1) Create HTML files with Silverlight content: You place these files in your ASP.NET web site folder, just as you would with any other ordinary HTML file. The only limitation of this approach is that your HTML file obviously can’t include ASP.NET controls, because it won’t be processed on the server.&lt;br /&gt;&lt;br /&gt;(2) Place Silverlight content inside an ASP.NET web form: To pull this trick off, you need the help of the Xaml web control. You can also add other ASP.NET controls to different regions of the page. The only disadvantage to this approach is that the page is always processed on the server. If you aren’t actually using any server-side ASP.NET content, this creates an extra bit of overhead that you don’t need when the page is first requested.&lt;br /&gt;&lt;br /&gt;Of course, you’re also free to mingle both of these approaches, and use Silverlight content in dedicated HTML pages and inside ASP.NET web pages in the same site. When you create a Silverlight project with an ASP.NET web site, you’ll start with both. For example, if your Silverlight project is named &lt;strong&gt;SilverlightApplication1&lt;/strong&gt;, you can use &lt;strong&gt;SilverlightApplication1TestPage.html&lt;/strong&gt; or &lt;strong&gt;SilverlightApplication1TestPage.aspx&lt;/strong&gt;. The HTML file is identical to the test page in the ordinary Silverlight-only solution you saw earlier. The .aspx file is an ASP.NET web form that uses ASP.NET’s Xaml web control to show your Silverlight application. The end result is the same, but the Silverlight control creates the test page markup dynamically, when it’s processed on the server. (This extra step gives you a chance to use your own server-side code to perform other tasks when the page is initially requested, before the Silverlight application is downloaded and launched.) Below figure shows how a Silverlight and ASP.NET solution starts out.&lt;br /&gt;&lt;br /&gt;Along with the two test pages, the ASP.NET web site also includes a Default.aspx page (which can be used as the entry point to your ASP.NET web site) and web.config (which allows you to configure various web site settings).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_K2x6SiOcBFA/SVCoDca30XI/AAAAAAAAAAw/CWuVIGrsK3k/s1600-h/aspnetsite.JPG"&gt;&lt;span style="font-family:verdana;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5282907140027568498" style="WIDTH: 299px; CURSOR: hand; HEIGHT: 320px" alt="" src="http://3.bp.blogspot.com/_K2x6SiOcBFA/SVCoDca30XI/AAAAAAAAAAw/CWuVIGrsK3k/s320/aspnetsite.JPG" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Silverlight and ASP.NET provide essentially the same debugging experience as a Silverlight-only solution. When you run the solution, Visual Studio compiles both projects and copies the Silverlight assembly to the ClientBin folder in the ASP.NET web site. (This is similar to assembly references—if an ASP.NET web site references a private DLL, Visual Studio automatically copies this DLL to the Bin folder.) Once both projects are compiled, Visual Studio looks to the startup project (which is the ASP.NET web site) and looks for the start page (which is SilverlightApplication1TestPage.aspx). It then launches the default browser and navigates to the start page.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Silverlight Compilation and Deployment:&lt;/strong&gt;&lt;br /&gt;Now that you’ve seen how to create a basic Silverlight project, add a page with elements and code, and run your application, it’s time to dig a bit deeper. In this section, you’ll see how your Silverlight is transformed from a collection of XAML files and source code into a rich browser-based application.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Compiling a Silverlight Assembly:&lt;br /&gt;&lt;/strong&gt;When you compile a Silverlight project, Visual Studio uses the same csc.exe compiler that you use for full-fledged .NET applications. However, it references a different set of assemblies and it passes in the command-line argument nostdlib, which prevents the C# compiler from using the standard library (the core parts of the .NET Framework that are defined in mscorlib.dll). In other words, Silverlight applications can be compiled like normal .NET applications written in standard C#, just with a more limited set of class libraries to draw on. The Silverlight compilation model has a number of advantages, including easy deployment and vastly improved performance when compared to ordinary JavaScript. Your compiled Silverlight assembly includes the compiled code and the XAML documents for every page in your application, which are embedded in the assembly as resources. This ensures that there’s no way for your event handling code to become separated from the user interface markup it needs. Incidentally, the XAML is not compiled in any way (unlike WPF, which converts it into a more optimized format called BAML).&lt;br /&gt;Your Silverlight project is compiled into a DLL file named after your project. For example, if you have a project named SilverlightApplication1, the csc.exe compiler will create the file SilverlightApplication1.dll. The project assembly is dumped into a ClientBin folder in your project directory, along with a few other important files:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;(1) A PDB file:&lt;/strong&gt; This file contains information required for Visual Studio debugging. It’s named after your project assembly (for example, SilverlightApplication1.pdb).&lt;br /&gt;&lt;strong&gt;(2) AppManifest.xaml:&lt;/strong&gt; This file lists assembly dependencies.&lt;br /&gt;&lt;strong&gt;(3) Dependent assemblies:&lt;/strong&gt; The ClientBin folder contains the assemblies that your Silverlight project uses, provided these assemblies have the Copy Local property set to true. Assemblies that are a core part of Silverlight have Copy Local set to False, because they don’t need to deployed with your application. (You can change the Copy Local setting by expanding the References node in Solution Explorer, selecting the assembly, and using the Properties window.).&lt;br /&gt;&lt;strong&gt;(4) TestPage.html: &lt;/strong&gt;This is the entry page that the user requests to start your Silverlight application.&lt;br /&gt;&lt;strong&gt;(5) A XAP file:&lt;/strong&gt; This is a Silverlight package that contains everything you need to deploy your Silverlight application, including the application manifest, the project assembly, and any other assemblies that your application uses.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Deploying a Silverlight Assembly:&lt;/strong&gt;&lt;br /&gt;Once you understand the Silverlight compilation model, it’s a short step to understanding the deployment model. The XAP file is the key piece. It wraps the units of your application (the application manifest and the assemblies) into one neat container. Technically, the XAP file is a ZIP archive. To verify this, rename a XAP file like SilverlightApplication1.xap to SilverlightApplication1.xap.zip. You can then open the archive and view the files inside.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The XAP file system has two obvious benefits:&lt;/strong&gt;&lt;br /&gt;(1) It compresses your content: Because this content isn’t decompressed until it reaches the client, it reduces the time required to download your application. This is particularly important if your application contains large static resources , like images or blocks of text.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;(2) It simplifies deployment: When you’re ready to take your Silverlight application live, you simply need to copy the XAP file to the web server, along with TestPage.html or a similar HTML file that includes a Silverlight content region. You don’t need to worry about keeping track of the&lt;br /&gt;assemblies and resources.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Thanks to the XAP model, there’s not much to think about when deploying a simple Silverlight application. Hosting a Silverlight application simply involves making the appropriate XAP file available, so the clients can download it through the browser and run it on their local machines. However, there’s one potential stumbling block. When hosting a Silverlight application, your web server must be configured to allow requests for the XAP file type. This file type is included by default in IIS 7, provided you’re using Windows Server 2008 or Windows Vista with Service Pack 1. If you have Windows Vista without Service Pack 1, you have an earlier version of IIS, or you have another type of web server, you’ll need to add a file type that maps the .xap extension to the MIME type application/xsilverlight-app. For IIS instructions, see &lt;/span&gt;&lt;a href="http://learn.iis.net/page.aspx/262/silverlight"&gt;&lt;span style="font-family:verdana;"&gt;http://learn.iis.net/page.aspx/262/silverlight&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;.&lt;br /&gt;&lt;br /&gt;Now, you get enough basic knowledge of Silverlight. For more articles, videos, blogs please visit &lt;/span&gt;&lt;a href="http://silverlight.net/"&gt;&lt;span style="font-family:verdana;"&gt;http://silverlight.net/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-5462283836491248819?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/5462283836491248819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=5462283836491248819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/5462283836491248819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/5462283836491248819'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2008/12/silverlight-micorosofts-magic-for-ria.html' title='Silverlight - Micorosoft&apos;s magic for RIA (Part 3)'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_K2x6SiOcBFA/SVCoDca30XI/AAAAAAAAAAw/CWuVIGrsK3k/s72-c/aspnetsite.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-1654790744491513868</id><published>2008-12-23T00:11:00.000-08:00</published><updated>2008-12-23T00:51:11.411-08:00</updated><title type='text'>Silverlight - Micorosoft's magic for RIA (Part 2)</title><content type='html'>&lt;span style="font-family:verdana;"&gt;For first part of this post, please visit &lt;/span&gt;&lt;a href="http://dotnet-gurus.blogspot.com/2008/12/silverlight-part-1.html"&gt;&lt;span style="font-family:verdana;"&gt;Silverlight (Part 1)&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Silverlight and Visual Studio 2008:&lt;/strong&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;VS2008 does not support built in template for Silverlight application. You need to download Silverlight tools from following link: &lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=c22d6a7b-546f-4407-8ef6-d60c8ee221ed&amp;amp;displaylang=en"&gt;&lt;span style="font-family:verdana;"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=c22d6a7b-546f-4407-8ef6-d60c8ee221ed&amp;amp;displaylang=en&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;. &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;VS2010 will includes built in template for Silverlight application so be patient till release of VS2010 :).&lt;br /&gt;&lt;br /&gt;There are two types of Silverlight web sites that you can create in Visual Studio:&lt;br /&gt;&lt;strong&gt;(1) Ordinary HTML web site:&lt;/strong&gt; In this case, the entry point to your Silverlight application is a basic HTML file that includes a Silverlight content region.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;(2) ASP.NET web site:&lt;/strong&gt; In this case, Visual Studio creates two projects—one to contain the Silverlight application files, and one to hold the server-side ASP.NET web site that will be deployed alongside your Silverlight files. The entry point to your Silverlight application can be an ordinary HTML file or an ASP.NET web form that also includes server-generated content.&lt;br /&gt;&lt;br /&gt;ASP.NET is a better approach in the following cases:&lt;br /&gt;- You want to create a web application that combines ASP.NET web pages with Silverlight- enhanced pages.&lt;br /&gt;- You want to generate Silverlight content indirectly, using ASP.NET web controls.&lt;br /&gt;- You want to create a Silverlight application that calls a web service, and you want to design the web service at the same time (and deploy it to the same web server).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Creating a Silverlight Project:&lt;/strong&gt;&lt;br /&gt;Now that you understand the two types of Silverlight web sites, you’re ready to create a new Silverlight application by following these steps:&lt;br /&gt;&lt;br /&gt;1. Select File -&gt;New -&gt;Project in Visual Studio, choose the Visual C# group of project types, and select the Silverlight Application template. As usual, you need to pick a project name and a location on your hard drive before clicking OK to create the project.&lt;br /&gt;&lt;br /&gt;2. At this point, Visual Studio will prompt you to choose whether you want to create an ordinary HTML web site or a full-fledged ASP.NET web site that can run server-side code. For now, choose the second option to create an ordinary web site and click OK.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Anatomy of a Silverlight Application:&lt;br /&gt;&lt;/strong&gt;Every Silverlight project starts with a small set of essential files, as shown in Figure.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_K2x6SiOcBFA/SVCgArHVuSI/AAAAAAAAAAo/l52l1SlER_g/s1600-h/htmlsite.JPG"&gt;&lt;span style="font-family:verdana;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5282898296339544354" style="WIDTH: 302px; CURSOR: hand; HEIGHT: 251px" alt="" src="http://2.bp.blogspot.com/_K2x6SiOcBFA/SVCgArHVuSI/AAAAAAAAAAo/l52l1SlER_g/s320/htmlsite.JPG" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;All the files that end with the extension .xaml use a flexible markup standard called XAML. All the files that end with the extension .cs hold the C# source code that powers your application.&lt;br /&gt;&lt;br /&gt;Here’s a rundown of the files shown in above Figure:&lt;br /&gt;&lt;strong&gt;- App.xaml and App.xaml.cs:&lt;/strong&gt; These files allow you to configure your Silverlight application. They allow you to define resources that will be made available to all the pages in your application, and they allow you to react to application events such as startup, shutdown, and error conditions. In a newly generated project, the startup code in the App.xaml.cs file specifies that your application should begin by showing Page.xaml.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;- Page.xaml:&lt;/strong&gt; This file defines the user interface (the collection of controls,&lt;br /&gt;images, and text) that will be shown for your first page. Technically, Silverlight pages are user controls. A Silverlight application can contain as many pages as you need—to add more, simply choose Project à Add New Item, pick the Silverlight User Control template, choose a file name, and click Add.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;- Page.xaml.cs: &lt;/strong&gt;This file includes the code that underpins your first page, including the event handlers that react to user actions.&lt;br /&gt;&lt;br /&gt;Along with these four essential files, there are a few more ingredients that you’ll only find if you dig around. Under the Properties node in Solution Explorer, you’ll find a file named &lt;strong&gt;AppManifest.xml&lt;/strong&gt;, which lists the assemblies that your application uses. You’ll also find a file named &lt;strong&gt;AssemblyInfo.cs&lt;/strong&gt; that contains information about your project (such as its name, version, and publisher), which is embedded into your Silverlight assembly when it’s compiled. Neither of these files should be edited by hand—instead, they’re modified by Visual Studio when you add references or set projects properties. Lastly, the gateway to your Silverlight application is an automatically generated but hidden HTML file named &lt;strong&gt;TestPage.html&lt;/strong&gt;. To see this file, click the Show All Files icon at the top of the Solution Explorer window, and expand the ClientBin folder (which is where your application is compiled).&lt;br /&gt;Let’s add one textblock named “lblMessage” and one button named “cmdClickMe” on page.xaml.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Adding Event Handling Code:&lt;/strong&gt;&lt;br /&gt;You attach event handlers to the elements in your page using attributes, which is the same approach that developers take in WPF, ASP.NET, and JavaScript. For example, the Button element exposes an event named Click that fires when the button is triggered with the mouse or keyboard. To react to this event, you add the Click attribute to the Button element, and set it to the name of a method in your code.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;This example assumes that you’ve created an event handling method named cmd_ClickMe. Here’s what it looks like in the Page.xaml.cs file:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;private void cmdClickMe_Click(object sender, RoutedEventArgs e)&lt;br /&gt;{&lt;br /&gt;lblMessage.Text = "Goodbye, cruel world.";&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;You can’t coax Visual Studio into creating an event handler by doubleclicking&lt;br /&gt;an element or using the Properties window (as you can in other types of projects). However, once you’ve added the event handler, you can use IntelliSense to quickly assign it to the right event. Begin by typing in the attribute name, followed by the equal sign. At this point, Visual Studio will pop up a menu that lists all the methods that have the right syntax to handle this event and currently exist in your code-behind class. Simply choose the right event handling method. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;For next part of this post, please visit &lt;/span&gt;&lt;a href="http://dotnet-gurus.blogspot.com/2008/12/silverlight-micorosofts-magic-for-ria.html"&gt;&lt;span style="font-family:verdana;"&gt;Silverlight (Part 3)&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-1654790744491513868?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/1654790744491513868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=1654790744491513868' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/1654790744491513868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/1654790744491513868'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2008/12/silverlight-part-2.html' title='Silverlight - Micorosoft&apos;s magic for RIA (Part 2)'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_K2x6SiOcBFA/SVCgArHVuSI/AAAAAAAAAAo/l52l1SlER_g/s72-c/htmlsite.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-352344486897898425</id><published>2008-12-22T23:23:00.000-08:00</published><updated>2008-12-23T01:06:44.483-08:00</updated><title type='text'>Silverlight - Micorosoft's magic for RIA (Part 1)</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Hi Friends, sorry for delay in new post. Actually, I was busy with some personal stuff. Today, I got time and going to discuss Silverlight.&lt;br /&gt;&lt;br /&gt;Microsoft has released two versions of Silverlight: Silverlight 1.0 and Silverlight 2.0. Personally I don’t like Silverlight 1.0. The actual magic begins with Silverlight 2.0. So let’s start our journey with Silverlight 2.0.&lt;br /&gt;&lt;br /&gt;Silverlight is a framework for building rich, browser-hosted applications that run on a variety of operating systems. Silverlight works its magic through a browser plug-in. When you surf to a web page that includes some Silverlight content, this browser plug-in runs, executes the code, and renders that content in a specifically designated region of the page. The important part is that the Silverlight plug-in provides a far richer environment than the traditional blend of HTML and JavaScript that powers ordinary web pages. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:verdana;"&gt;Silverlight Vs. Flash&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The most successful browser plug-in is Adobe Flash, which is installed on over 90 percent of the world’s web browsers. It’s perfectly reasonable for .NET developers to create web sites that use Flash content. However, doing so requires a separate design tool and a completely different programming language (ActionScript) and programming environment (Flex).&lt;br /&gt;&lt;br /&gt;Silverlight aims to give .NET developers a better option for creating rich web content. Silverlight provides a browser plug-in with many similar features to Flash, but one that’s designed from the ground up for .NET. Silverlight natively supports the C# language and embraces a range of .NET concepts. As a result, developers can write client-side code for Silverlight in the same language they use for server-side code (such as C# and VB) and use many of the same abstractions (including streams, controls, collections, generics, and LINQ).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:verdana;"&gt;Features Silverlight 2.0:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;(1) Lightweight download:&lt;/strong&gt; In order to encourage adoption, Silverlight is installed with a small-size setup (about 4MB) that’s easy to download.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;strong&gt;(2) 2D Drawing:&lt;/strong&gt; Silverlight provides a rich model for 2D drawing. Best of all, the content you draw is defined as shapes and paths, so you can manipulate this content on the client side. You can even respond to events (like a mouse click on a portion of a graphic), which makes it easy to add interactivity to anything you draw.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;(3) Controls:&lt;/strong&gt; Developers don’t want to reinvent the wheel, so Silverlight is stocked with a few essentials, including buttons, text boxes, lists, and a grid. Best of all, these basic building blocks can be restyled with custom visuals if you want all of the functionality but none of the stock look.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;strong&gt;(4) Animation:&lt;/strong&gt; Silverlight has a time-based animation model that lets you define what should happen and how long it should take. The Silverlight plug-in handles the sticky details, like interpolating intermediary values and calculating the frame rate.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;(5) Media:&lt;/strong&gt; Silverlight provides playback of Windows Media Audio (WMA), Windows Media Video (WMV7 through WMV9), MP3 audio, and VC-1 (which supports high definition). You aren’t tied to the Windows Media Player ActiveX control or browser plug-in—instead, you can create any front end you want, and you can even show video in full-screen mode.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;(6) The CLR:&lt;/strong&gt; Most impressively, Silverlight includes a scaled-down version of the CLR, complete with an essential set of core classes, a garbage collector, a just-in-time (JIT) compiler, support for generics, threading, and so on. In many cases, developers can take code written for the full .NET CLR and use it in a Silverlight application with only moderate changes.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;(7) Networking:&lt;/strong&gt; Silverlight applications can call old-style ASP.NET web services (ASMX) or Windows Communication Foundation (WCF) web services. They can also send manually created XML requests over HTTP. This gives developers a great way to combine rich client-side code with secure server-side routines.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;(8) Data binding:&lt;/strong&gt; Although it’s not as capable as in its big brother, Windows Presentation Foundation (WPF), Silverlight data binding provides a convenient way to display large amounts of data with minimal code. You can pull your data from XML or in-memory objects, giving you the ability to call a web service, receive a collection of objects, and display their data in a webpage—often with just a couple of lines of code. &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:verdana;"&gt;Limitations Silverlight 2.0:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;- Lack of database support (there’s no ADO.NET)&lt;br /&gt;- No support for 3D drawing&lt;br /&gt;- No printing&lt;br /&gt;- No command model and few rich controls like trees and menus&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;For next part of this post, please visit &lt;a href="http://dotnet-gurus.blogspot.com/2008/12/silverlight-part-2.html"&gt;Silverlight (Part 2)&lt;/a&gt;. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-352344486897898425?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/352344486897898425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=352344486897898425' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/352344486897898425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/352344486897898425'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2008/12/silverlight-part-1.html' title='Silverlight - Micorosoft&apos;s magic for RIA (Part 1)'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-6553511395674262605</id><published>2008-10-23T04:02:00.000-07:00</published><updated>2008-10-23T04:11:50.489-07:00</updated><title type='text'>Processes, Threads, AppDomains and Object Contexts</title><content type='html'>&lt;span style="font-family:verdana;"&gt;When I was new in .NET, one question always confuses me and that question is: What is the difference between Processes, Threads, Application Domains and Object Context and how they work internally?&lt;br /&gt;&lt;br /&gt;I read good articles on these topic one or two weeks back. Today I got time to write so let’s begin… &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Process: &lt;/strong&gt;&lt;br /&gt;Process term used to describe the set of resources and the necessary memory allocations used by a running application. In Windows OS, for each *.exe loaded into memory, the OS create a separate and isolated process.&lt;br /&gt;&lt;br /&gt;Using this application isolation approach, OS can manage application more robustly. The result is a much more robust and stable environment, given that the failure of one process does not affect the other process. You can see list of running process using Windows Task Manager in Windows OS.&lt;br /&gt;&lt;br /&gt;.NET provides number of classes to interact with processes. The &lt;em&gt;System.Diagnostics&lt;/em&gt; namespace defines a number of types that allow you to programmatically interact with processes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Threads: &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Thread is a path of execution within a process.&lt;br /&gt;&lt;br /&gt;Every Win32 process has exactly one main “thread” that functions as the entry point for the application and this thread known as Primary Thread.&lt;br /&gt;&lt;br /&gt;Processes that contain a single primary thread of execution are intrinsically thread safe, given the fact that there is only one thread that can access the data in the application at a given time. However, a single-threaded process will often appear a bit unresponsive to the user if this single thread is performing a complex operation (such as printing out a lengthy text file, performing a mathematically intensive calculation, or attempting to connect to a remote server located thousands of miles away).&lt;br /&gt;&lt;br /&gt;.NET provides facility to spawn additional secondary threads also termed Worker Threads. If worker thread is busy with other operation, the main thread is still responsive to user input, which gives the entire process the potential of delivering greater performance. The &lt;em&gt;System.Threading&lt;/em&gt; namespace contains various types that allow you to create multithreaded applications.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Application Domains:&lt;/strong&gt;&lt;br /&gt;The traditional Win32 application directly hosted within a process, while .NET executables are not hosted directly within a process. Rather, a .NET executable is hosted by a logical partition within a process termed as application domain.&lt;br /&gt;&lt;br /&gt;This additional subdivision of process offers sever benefits, some of them are:&lt;br /&gt;&lt;br /&gt;• AppDomains are far less expensive in terms of processing power and memory than a fullblown process. Thus, the CLR is able to load and unload application domains much quicker than a formal process.&lt;br /&gt;• AppDomains provide a deeper level of isolation for hosting a loaded application. If one&lt;br /&gt;AppDomain within a process fails, the remaining AppDomains remain functional.&lt;br /&gt;&lt;br /&gt;As suggested in previous list, a single process can host any number of AppDomains. Given this fact, be very aware that an application running in one AppDomain is unable to obtain data of any kind (global variables or static fields) within another AppDomain unless they make use of a distributed programming protocol (such as Windows Communication Foundation).&lt;br /&gt;&lt;br /&gt;Every process contains at least one application domain which termed as default application domain. This specific application domain is automatically created by the CLR at the time the process launches. After this point, the CLR creates additional application domains on an as-needed basis.&lt;br /&gt;&lt;br /&gt;We can also create Application Domain programmatically using &lt;em&gt;System.AppDomain&lt;/em&gt; class.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Object Context:&lt;/strong&gt;&lt;br /&gt;Application domain further subdivided into numerous context boundaries. Using context, the CLR is able to ensure that objects that have special runtime requirements are handled in an appropriate and consistent manner by intercepting method invocations into and out of a given context. For example, if you define a C# class type that requires automatic thread safety (using the [&lt;em&gt;Synchronization&lt;/em&gt;] attribute), the CLR will create a “synchronized context” during allocation.&lt;br /&gt;&lt;br /&gt;Just as a process defines a default AppDomain, every application domain has a default context. This default context (sometimes referred to as context 0) is used to group together .NET objects that have no specific or unique contextual needs. As you may expect, a vast majority of .NET objects are loaded into context 0. If the CLR determines a newly created object has special needs, a new context boundary is created within the hosting application domain.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Context-agile objects:&lt;/strong&gt; .NET types that do not demand any special context are termed context-agile objects.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Context-bound objects:&lt;/strong&gt; .NET types that demand special context allocation are termed context-agile objects.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-6553511395674262605?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/6553511395674262605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=6553511395674262605' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/6553511395674262605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/6553511395674262605'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2008/10/processes-threads-appdomains-and-object.html' title='Processes, Threads, AppDomains and Object Contexts'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-3432168871820801127</id><published>2008-10-08T03:25:00.000-07:00</published><updated>2008-10-08T05:30:01.118-07:00</updated><title type='text'>New Features of C#.NET 2008 Language (Part 2)</title><content type='html'>&lt;span style="font-family:verdana;"&gt;This is a second part of my post "&lt;/span&gt;&lt;a href="http://dotnet-gurus.blogspot.com/2008/10/new-features-of-c-2008-language.html"&gt;&lt;span style="font-family:verdana;"&gt;New Features of C#.NET 2008 Language (Part 1)&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;".&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:verdana;"&gt;(4) Extension Methods:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;As we know, once a type is defined and compiled into a .NET assembly, its definition is, more or less, final. The only way to add new members, update members or remove members is to recode and recompile the code base into an updated assembly.&lt;br /&gt;&lt;br /&gt;In C# 2008, using extension methods we can add new functionality to existing complied class without directly updating that class.&lt;br /&gt;&lt;br /&gt;This technique can be quite helpful when you need to inject new functionality into classes for which you do not have an existing code base. Using extension methods, you can add functionality to precompiled classes while providing the illusion these methods were there all along.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Restrictions:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;(a) Extension methods must be defined within a static class and therefore each extension method must also be declared with the static keyword.&lt;br /&gt;(b) All extension methods are marked as such by using the this keyword as a modifier on the first (and only the first) parameter of the method.&lt;br /&gt;(c) Every extension method can be called either from the correct instance in memory&lt;br /&gt;or statically via the defining static class!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Example:&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;static class MyExtensions&lt;br /&gt;{&lt;br /&gt;// This method allows any object to display the assembly&lt;br /&gt;// it is defined in.&lt;br /&gt;public static void DisplayDefiningAssembly(this object obj)&lt;br /&gt;{&lt;br /&gt;Console.WriteLine("{0} lives here:\n\t-&gt;{1}\n", obj.GetType().Name,&lt;br /&gt;Assembly.GetAssembly(obj.GetType()));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// This method allows any integer to reverse its digits.&lt;br /&gt;// For example, 56 would return 65.&lt;br /&gt;public static int ReverseDigits(this int i)&lt;br /&gt;{&lt;br /&gt;// Translate int into a string, and then&lt;br /&gt;// get all the characters.&lt;br /&gt;char[] digits = i.ToString().ToCharArray();&lt;br /&gt;// Now reverse items in the array.&lt;br /&gt;Array.Reverse(digits);&lt;br /&gt;// Put back into string.&lt;br /&gt;string newDigits = new string(digits);&lt;br /&gt;// Finally, return the modified string back as an int.&lt;br /&gt;return int.Parse(newDigits);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Now that we have these extension methods, so all objects have a new method named DisplayDefiningAssembly(), while System.Int32 class have method named ReverseDigits().&lt;br /&gt;&lt;br /&gt;// The int has assumed a new identity!&lt;br /&gt;int myInt = 1234;&lt;br /&gt;myInt.ReverseDigits();&lt;br /&gt;&lt;br /&gt;// So has the DataSet!&lt;br /&gt;System.Data.DataSet ds = new System.Data.DataSet();&lt;br /&gt;ds.DisplayDefiningAssembly(); &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;(5) Object Initializer Syntax:&lt;/strong&gt;&lt;br /&gt;Using this technique, it is possible to create a new type variable and assign a slew of properties and/or public fields in a few lines of code. Syntactically, an object initializer consists of a comma-delimited list of specified values, enclosed by the { and } tokens. Each member in the initialization list maps to the name of a public field or public property of the object being initialized.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br /&gt;Class A&lt;br /&gt;{&lt;br /&gt;private int customerId;&lt;br /&gt;private string customerName;&lt;br /&gt;public CustomerId&lt;br /&gt;{&lt;br /&gt;Get { return customerId; }&lt;br /&gt;Set { customerId = value; }&lt;br /&gt;}&lt;br /&gt;public CustomerName&lt;br /&gt;{&lt;br /&gt;Get { return customerName; }&lt;br /&gt;Set { customerName = value; }&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Now, you can declare object of class A as follow:&lt;br /&gt;A objA = new A{CustomerId = 1, CustomerName = “XYZ};&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Collection Initialization: &lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;This syntax makes it possible to populate a container (such as ArrayList or List&lt;t&gt;) with items using a syntax that models that of a simple array. Consider the following examples: &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;// Init a standard array.&lt;br /&gt;int[] myArrayOfInts = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };&lt;br /&gt;// Init a generic List&lt;&gt; of ints.&lt;br /&gt;List&lt;int&gt; myGenericList = new List&lt;int&gt; { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };&lt;br /&gt;// Init an ArrayList with numerical data.&lt;br /&gt;ArrayList myList = new ArrayList { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };&lt;/p&gt;&lt;br /&gt;&lt;strong&gt;(6) Anonymous Types:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;There are other times in programming when you would like to define a class simply to model a set of encapsulated (and somehow related) data points without any associated methods, events, or other custom functionality. Furthermore, what if this type is only used internally to your current application and it’s not intended to be reused? If you need such a “temporary” type, earlier versions of C# would require you to nevertheless build a new class definition by hand:&lt;br /&gt;&lt;br /&gt;internal class MyClass&lt;br /&gt;{&lt;br /&gt;// Define a set of private member variables...&lt;br /&gt;// Make a property for each member variable...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;As of C# 2008, we are now provided with a massive shortcut for this very situation termed anonymous types, When you define an anonymous type, you do so by making use of the new var keyword in conjunction with the object initialization syntax. E.g.&lt;br /&gt;&lt;br /&gt;var myCust = new {customerId = 1, customerName = “XYZ”};&lt;br /&gt;&lt;br /&gt;At compile time, the C# compiler will autogenerate a uniquely named class on our behalf. Given the fact that this class name is not visible from C#, the use of implicit typing using the var keyword is mandatory.&lt;br /&gt;&lt;br /&gt;Limitations of anonymous type:&lt;br /&gt;&lt;br /&gt;• You don’t control the name of the anonymous type.&lt;br /&gt;• Anonymous types always extend System.Object.&lt;br /&gt;• The fields and properties of an anonymous type are always read-only.&lt;br /&gt;• Anonymous types cannot support events, custom methods, custom operators,  or custom overrides.&lt;br /&gt;• Anonymous types are always implicitly sealed.&lt;br /&gt;• Anonymous types are always created using the default constructor.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-3432168871820801127?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/3432168871820801127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=3432168871820801127' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/3432168871820801127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/3432168871820801127'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2008/10/new-features-of-cnet-2008-language-part.html' title='New Features of C#.NET 2008 Language (Part 2)'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-3674811767893490578</id><published>2008-10-07T03:12:00.000-07:00</published><updated>2008-12-23T05:34:13.077-08:00</updated><title type='text'>New Features of C#.NET 2008 Language (Part 1)</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Everbody wondering Microsoft releasing new version of .NET very frequently so it is some what difficult to learn new features. I was thinking to write artical on new features of C#.NET 2008 language. Today I got some time to write so lets starts with summary of new features.&lt;br /&gt;&lt;br /&gt;Followings are the new features of C#.NET 2008: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Implicitly Typed Local Variables&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Automatic Properties&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Partial Methods&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Extension Methods&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Object Initializer Syntax&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Anonymous Types&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;(1) Implicitly Typed Local Variables:&lt;/strong&gt;&lt;br /&gt;C# 2008 provides a new keyword &lt;em&gt;var&lt;/em&gt;, which can use in place of specifying a formal data type (such as int, string, double). So now you can declare variable as follow:&lt;br /&gt;&lt;br /&gt;var myCounter = 15;&lt;br /&gt;var myBool = true;&lt;br /&gt;&lt;br /&gt;When you declare variables as above, the compiler will automatically infer the underlying data types based on the initail value used to initialize the variables.&lt;br /&gt;You can use this implicit typing for any type including arrays, generic types and your own custom types.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Limitations of Implicitly Typed Variables:&lt;/strong&gt;&lt;br /&gt;(1) Implicity typing applies only to local varibles in a method or property scope.&lt;br /&gt;(2)We can not use &lt;em&gt;var&lt;/em&gt; keyword to define return values, parameters or field data of a type.&lt;br /&gt;&lt;br /&gt;// Error! var cannot be used as field data!&lt;br /&gt;private var myInt = 10;&lt;br /&gt;// Error! var cannot be used as a return value or parameter type&lt;br /&gt;public var MethodName(var a, var b){}&lt;br /&gt;&lt;br /&gt;(3)Local variable declared with &lt;em&gt;var&lt;/em&gt; keyword must be assigned an initial value at the time of declaration and cannot be assigned the initial value of null.&lt;br /&gt;&lt;br /&gt;//Error! Must assign a value&lt;br /&gt;var myVar&lt;br /&gt;// Error! Must assign value at exact time of declaration!&lt;br /&gt;var myVar;&lt;br /&gt;myVar = 0;&lt;br /&gt;// Error! Can't assign null as initial value!&lt;br /&gt;var myObject = null;&lt;br /&gt;&lt;br /&gt;(4) It is illegal to define a nullable implicitly typed local variable using the C#? token.&lt;br /&gt;&lt;br /&gt;You have seen syntax and limitations of implicitly typed local variables, I am sure you are wondering when to make use of this construct as &lt;em&gt;var&lt;/em&gt; keyword is more confusing then int keyword for declaring integer variable. So the real use of implicitly typed local variable is in LINQ.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;(2) Automatic Properties: &lt;/strong&gt;&lt;br /&gt;As a developer, we must know the use of properties. Generally we creates properties to give access of our class or interface to outside world.&lt;br /&gt;C# property syntax is not too problematic but just imagine if you are modeling a class that requires 20 properties then you have to declare 20 private variables (backing fields) for 20 properties which requires lots of typing.&lt;br /&gt;C# 2008 provides solution of this problem by providing feature of Automatic Properties. As the name implies, this feature will offload the work of defining a private backing field and the related C# property member to the compiler using a new bit of syntax.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;e.g.&lt;br /&gt;class Customer&lt;br /&gt;{&lt;br /&gt;// Automatic Property Syntax&lt;br /&gt;public string CutomerName {get; set;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When defining automatic properties, you simply specify the access modifier, underlying data type, property name and empty get/set scopes. At compile time, your class will be provided with an autogenerated private backing fields.&lt;br /&gt;&lt;br /&gt;One more thing about automatic property, it is not possible to build read-only or write-only automatic properties.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// Read-only property? Error!&lt;br /&gt;public int ReadOnlyProperty { get; }&lt;br /&gt;// Write only property? Error!&lt;br /&gt;public int WriteOnlyProperty { set; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;(3) Partial Methods: &lt;/strong&gt;&lt;br /&gt;As we know, .NET 2.0 provides facility of partial class which allows us to partition the full implementation of a class across multiple code files.&lt;br /&gt;C# 2008 widens the scope of the partial keyword in that it can now be applied on the method level. This allows you to prototype a method in one file and implementation in another file. However C# partial methods have a number of following restrictions:&lt;br /&gt;&lt;br /&gt;• Partial methods must return void.&lt;br /&gt;• Partial methods can not have arguments with the out modifier.&lt;br /&gt;• Partial methods are always implicitly private.&lt;br /&gt;• Partial methods can be static or instance level.&lt;br /&gt;• Partial methods can only be defined within a partial class.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;Partial class A&lt;br /&gt;{&lt;br /&gt;public int sum(int a, int b)&lt;br /&gt;{&lt;br /&gt;varifynumbers(int a, int b);&lt;br /&gt;}&lt;br /&gt;//Partial method&lt;br /&gt;partial void verifynumbers(int a, int b);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Implementation of verifynumers method in another file:&lt;br /&gt;partial class A&lt;br /&gt;{&lt;br /&gt;partial void verifynumbers(int a, int b)&lt;br /&gt;{&lt;br /&gt;//some logic here&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Uses of Partial Methods:&lt;/strong&gt;&lt;br /&gt;From above limitations, it is hard to see many useful applications of this new langauge feature. The truth is partial methods will more likely used feature!!!&lt;br /&gt;Consider verifynumber() method of our example perform some very intensive calculations. By marking this method with the partial modifier, other class builders have the option of providing implementation details if they so choose. In this case, partial methods provide a cleaner solution than using preprocessor directives, supplying “dummy” implementations to virtual methods or throwing NotImplementedException objects. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;In some ways, C# partial methods are a strongly typed version of conditional code compilation (via the #if, #elif, #else, and #endif preprocessor directives).&lt;br /&gt;&lt;br /&gt;You can find second part of this post at &lt;a href="http://dotnet-gurus.blogspot.com/2008/10/new-features-of-cnet-2008-language-part.html"&gt;New Features of C#.NET 2008 Language (Part 2)&lt;/a&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-3674811767893490578?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/3674811767893490578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=3674811767893490578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/3674811767893490578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/3674811767893490578'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2008/10/new-features-of-c-2008-language.html' title='New Features of C#.NET 2008 Language (Part 1)'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-3979589082083624903</id><published>2008-10-07T02:01:00.000-07:00</published><updated>2009-01-21T01:54:48.252-08:00</updated><title type='text'>BOOKS OF VB.NET 2008, C#.NET 2008, SQL SERVER 2008</title><content type='html'>Interested in 2008 series of .NET and SQL Server??? To download books of VB.NET, C#.NET and SQL Server click below icon:&lt;br /&gt;&lt;br /&gt;&lt;iframe scrolling="no" marginheight="0" marginwidth="0" frameborder="0" style="width:240px;height:66px;margin:3px;padding:0;border:1px solid #dde5e9;background-color:#ffffff;" src="http://cid-9006afda3db38646.skydrive.live.com/embedrowdetail.aspx/2008%20Series"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-3979589082083624903?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/3979589082083624903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=3979589082083624903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/3979589082083624903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/3979589082083624903'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2008/10/books-of-vbnet-2008-cnet-2008-sql.html' title='BOOKS OF VB.NET 2008, C#.NET 2008, SQL SERVER 2008'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7576686272941812665.post-7502935265728621875</id><published>2008-10-06T22:05:00.000-07:00</published><updated>2008-10-07T00:35:48.637-07:00</updated><title type='text'>Get HardDrive serial number in .NET</title><content type='html'>&lt;div align="left"&gt;&lt;span style="font-family:Verdana;"&gt;This is my first post in this blog which is related to getting HardDrive serial number in .NET. Getting serial number of HardDrive in .NET application is very hot topic in developer community. Mostly developer needs HardDrive serial number to avoid piracy of windows based software as I have used this idea 3 yrs. back in my windows application.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt;&lt;span style="font-family:Verdana;"&gt;In .NET, we can not get hardware information in depth as we were in C/C++. Because of this limitation we need to use C/C++ exe or dll in our .NET application.There are many ways to use non .NET dll in .NET applications. One of famous way is to create COM component in VC++ and use that COM in our .NET application but I have not used this way becuase I don't know how to create COM component in VC++. For sake of simplity of VC++ dll I had created simple API dll in VC++ and make API call through VB.NET application&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="left"&gt;&lt;span style="font-family:Verdana;"&gt;To call API dll from VB.NET, we need to follow some specific steps. I have written those steps below:&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span style="font-family:Verdana;"&gt;Put API dll in same folder where your application's exe reside.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span style="font-family:Verdana;"&gt;Add reference of &lt;strong&gt;System.Runtime.InteropServices&lt;/strong&gt; in the class from where you wants call API function.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span style="font-family:Verdana;"&gt;Add &lt;strong&gt;&amp;lt;DllImport("API Dll Name")&amp;gt;&lt;/strong&gt; attribute before function name which calls the API function. This function must be &lt;strong&gt;Shared.&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span style="font-family:verdana;"&gt;e.g. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;div align="left"&gt;&lt;span style="font-family:verdana;"&gt;&amp;lt;DllImport("API Dll Name")&amp;gt; _ &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;div align="left"&gt;&lt;span style="font-family:verdana;"&gt;Public Shared Function getHardDriveComputerID() As String&lt;br /&gt;End Function&lt;br /&gt;'Leave function empty - DLLImport attribute forces calls to function of API dll.&lt;br /&gt;Call getHardDriveComputerID() function from any class of your application as per your requirement.&lt;/span&gt;&lt;/div&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p align="left"&gt;&lt;span style="font-family:Verdana;"&gt;In our case, I have used API dll named "Win32.dll" (I found this dll from googling) in my VB.NET application. This dll is works for following versions of Windows:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span style="font-family:Verdana;"&gt;Windows 98 &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span style="font-family:Verdana;"&gt;Windows 2000&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span style="font-family:Verdana;"&gt;Windows NT&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span style="font-family:Verdana;"&gt;Windows XP&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="left"&gt;&lt;span style="font-family:Verdana;"&gt;Below compressed file contains sample application.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="left"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;iframe style="BORDER-RIGHT: #dde5e9 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #dde5e9 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 3px; BORDER-LEFT: #dde5e9 1px solid; WIDTH: 240px; PADDING-TOP: 0px; BORDER-BOTTOM: #dde5e9 1px solid; HEIGHT: 66px; BACKGROUND-COLOR: #ffffff" marginwidth="0" marginheight="0" src="http://cid-9006afda3db38646.skydrive.live.com/embedrowdetail.aspx/HDDSerial/HDDSerial.zip" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="left"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7576686272941812665-7502935265728621875?l=dotnet-gurus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-gurus.blogspot.com/feeds/7502935265728621875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7576686272941812665&amp;postID=7502935265728621875' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/7502935265728621875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7576686272941812665/posts/default/7502935265728621875'/><link rel='alternate' type='text/html' href='http://dotnet-gurus.blogspot.com/2008/10/get-harddrive-serial-number-in-net.html' title='Get HardDrive serial number in .NET'/><author><name>Dasharath Ubhadiya</name><uri>http://www.blogger.com/profile/06460123792686066592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_K2x6SiOcBFA/SYBgvq7tBMI/AAAAAAAAAA4/g7dk4_ArpdM/S220/Image005.jpg'/></author><thr:total>0</thr:total></entry></feed>
