<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-5989219860267189708</atom:id><lastBuildDate>Thu, 16 Feb 2012 07:05:59 +0000</lastBuildDate><category>C#</category><category>Events / Conferences</category><category>Videos</category><category>Mobile</category><category>Community</category><category>Coding Standards</category><category>Technology News</category><category>SilverLight</category><category>Visual Studio.NET</category><category>Axapta</category><category>SQL Server</category><category>OOP</category><category>SharePoint</category><category>Jobs</category><category>PostGraduate</category><category>Miscellaneous</category><category>Java</category><category>Tricks</category><category>Exams and Certifications</category><category>Architecture / Design</category><title>Ahmad Eid Salem</title><description>Today's Facts are Yesterday's Dreams and Today's Dreams are Tomorrow's Facts ...!</description><link>http://ahmadeed.blogspot.com/</link><managingEditor>noreply@blogger.com (Bairam.!)</managingEditor><generator>Blogger</generator><openSearch:totalResults>42</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Ahmadeed" /><feedburner:info uri="ahmadeed" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-5444211926878519878</guid><pubDate>Tue, 20 Oct 2009 11:30:00 +0000</pubDate><atom:updated>2009-10-20T06:19:46.667-07:00</atom:updated><title>Facebook forget password Error :)</title><description>&lt;p&gt;   &lt;br /&gt;Hi,     &lt;br /&gt;    &lt;br /&gt;Just i forget my facebook account password and want to reset it. So i go to facebook website and then forget password and then trying to enter the Security Check words like the below screen shot&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_wK9KWrjiI_Y/St2fOtLI-HI/AAAAAAAAAa8/d0S-csGuzyI/s1600-h/1%5B6%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="1" border="0" alt="1" src="http://lh6.ggpht.com/_wK9KWrjiI_Y/St2fP6AJ_uI/AAAAAAAAAbA/eQsSxdUV2Pw/1_thumb%5B4%5D.png?imgmax=800" width="541" height="388" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Because I am a developer, I can guess the technical problem as the function which compare the user input&amp;#160; and security check words is wrong .&lt;/p&gt;  &lt;p&gt;After you click Reset password, FB will send you an email with code to change your password despite of &lt;strong&gt;wrong input words&lt;/strong&gt; as shown on the above image.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_wK9KWrjiI_Y/St2fRs9LpKI/AAAAAAAAAbE/mD8slZVUPH8/s1600-h/2%5B6%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2" border="0" alt="2" src="http://lh6.ggpht.com/_wK9KWrjiI_Y/St2fSwphbTI/AAAAAAAAAbI/qHnM3VifQXs/2_thumb%5B4%5D.png?imgmax=800" width="543" height="278" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;May be&lt;/strong&gt; The below is the technical problem expectation     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; The below function of validating word will ignore the last character.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_wK9KWrjiI_Y/St2fTkpbDYI/AAAAAAAAAbM/66vL-gsiyRw/s1600-h/3%5B5%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="3" border="0" alt="3" src="http://lh5.ggpht.com/_wK9KWrjiI_Y/St2fUnY19UI/AAAAAAAAAbQ/MKnJsXRJSYE/3_thumb%5B3%5D.png?imgmax=800" width="536" height="221" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I like catching the problems from big companies’ products :)&lt;/p&gt;  &lt;p&gt;Hope it being nice post for you.!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-5444211926878519878?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DdC7hdJ7h9hAbo1fjXWnyOxhbrw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DdC7hdJ7h9hAbo1fjXWnyOxhbrw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DdC7hdJ7h9hAbo1fjXWnyOxhbrw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DdC7hdJ7h9hAbo1fjXWnyOxhbrw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/aPi60AJpvfw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/aPi60AJpvfw/facebook-forget-password-error.html</link><author>noreply@blogger.com (Bairam.!)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_wK9KWrjiI_Y/St2fP6AJ_uI/AAAAAAAAAbA/eQsSxdUV2Pw/s72-c/1_thumb%5B4%5D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2009/10/facebook-forget-password-error.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-1830268164405048240</guid><pubDate>Tue, 04 Aug 2009 12:38:00 +0000</pubDate><atom:updated>2009-08-04T05:40:58.997-07:00</atom:updated><title>GridView Error at Microsoft Visual Studio.NET 2008 :)</title><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hi Developers,&lt;/p&gt;  &lt;p&gt;While am developing web based application, I used Microsoft &lt;strong&gt;Gridview&lt;/strong&gt; control and when switching to the page design and checking &lt;strong&gt;Gridview&lt;/strong&gt; columns, I find …………… &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_wK9KWrjiI_Y/SngrtA73kCI/AAAAAAAAAa0/dnRCkkCkp3o/s1600-h/Gridview%20Error%5B5%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Gridview Error" border="0" alt="Gridview Error" src="http://lh3.ggpht.com/_wK9KWrjiI_Y/Sngrvbtxe7I/AAAAAAAAAa4/RKegjGNCRWs/Gridview%20Error_thumb%5B3%5D.png?imgmax=800" width="669" height="511" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Don’t worry: We expect more and more from Microsoft :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-1830268164405048240?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CunGztjKrXERyBGPbQoMZkV65Cg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CunGztjKrXERyBGPbQoMZkV65Cg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CunGztjKrXERyBGPbQoMZkV65Cg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CunGztjKrXERyBGPbQoMZkV65Cg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/xie7rzeyMPA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/xie7rzeyMPA/gridview-error-at-microsoft-visual.html</link><author>noreply@blogger.com (Bairam.!)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_wK9KWrjiI_Y/Sngrvbtxe7I/AAAAAAAAAa4/RKegjGNCRWs/s72-c/Gridview%20Error_thumb%5B3%5D.png?imgmax=800" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2009/08/gridview-error-at-microsoft-visual.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-6748484301209360671</guid><pubDate>Sat, 27 Jun 2009 20:06:00 +0000</pubDate><atom:updated>2009-06-27T13:06:00.267-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Visual Studio.NET</category><category domain="http://www.blogger.com/atom/ns#">Miscellaneous</category><category domain="http://www.blogger.com/atom/ns#">Tricks</category><category domain="http://www.blogger.com/atom/ns#">Technology News</category><title>Fiddler : Web Debugging Software</title><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;Dear Web Developers,   &lt;br /&gt;    &lt;br /&gt;&lt;strong&gt;&lt;font color="#000080"&gt;”Really, you need to read this article”&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I worked for many web based applications and faced debugging problems after deploying or publish the application to hosting server.   &lt;br /&gt;    &lt;br /&gt;also you can use it for the development environment.&lt;/p&gt;  &lt;p&gt;some issues: To trace and debug the following:&lt;/p&gt;  &lt;p&gt;- Sessions   &lt;br /&gt;- Cookies    &lt;br /&gt;- Security    &lt;br /&gt;- Authentication     &lt;br /&gt;- Request Statistics (count-bytes sent-bytes received)&amp;#160; &lt;br /&gt;- Encrypted Query strings    &lt;br /&gt;- Web Site Traffic    &lt;br /&gt;- Editing CSS file on fly    &lt;br /&gt;- Encoding and decoding with many algorithms    &lt;br /&gt;- …etc&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_wK9KWrjiI_Y/SkZYL11Fx6I/AAAAAAAAAYk/LEKAVzv47jM/s1600-h/fiddler%5B8%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="fiddler" border="0" alt="fiddler" src="http://lh5.ggpht.com/_wK9KWrjiI_Y/SkZtXHoGnbI/AAAAAAAAAYo/g2A84iFsPms/fiddler_thumb%5B6%5D.png?imgmax=800" width="560" height="436" /&gt;&lt;/a&gt;&lt;strong&gt;&lt;font color="#800000"&gt; Try to find quick start video at &lt;/font&gt;&lt;/strong&gt;&lt;a href="http://www.fiddler2.com"&gt;&lt;strong&gt;&lt;font color="#800000"&gt;www.fiddler2.com&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;font color="#800000"&gt; &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Fiddler&lt;/strong&gt; is a Web Debugging Proxy which logs all HTTP(S) traffic between your computer and the Internet. Fiddler allows you to inspect all HTTP(S) traffic, set breakpoints, and &amp;quot;fiddle&amp;quot; with incoming or outgoing data. Fiddler includes a powerful event-based scripting subsystem, and can be extended using any .NET language.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Fiddler&lt;/strong&gt; is freeware and can debug traffic from virtually any application, including Internet Explorer, Mozilla Firefox, Opera, and thousands more. &lt;/p&gt;  &lt;p&gt;For documentation and more information&amp;#160; &lt;a title="http://www.fiddler2.com/fiddler2/" href="http://www.fiddler2.com/fiddler2/"&gt;http://www.fiddler2.com/fiddler2/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For download&amp;#160;&amp;#160;&amp;#160; &lt;a title="http://www.fiddler2.com/fiddler2/version.asp" href="http://www.fiddler2.com/fiddler2/version.asp"&gt;http://www.fiddler2.com/fiddler2/version.asp&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For Developers&amp;#160;&amp;#160; &lt;a title="http://www.fiddler2.com/Fiddler/dev/" href="http://www.fiddler2.com/Fiddler/dev/"&gt;http://www.fiddler2.com/Fiddler/dev/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I hope it is helpful.!   &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-6748484301209360671?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/L5bglXCEtbVNwfFf34DD8tImiYg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L5bglXCEtbVNwfFf34DD8tImiYg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/L5bglXCEtbVNwfFf34DD8tImiYg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L5bglXCEtbVNwfFf34DD8tImiYg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/OvfQtOW2rY0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/OvfQtOW2rY0/fiddler-web-debugging-software.html</link><author>noreply@blogger.com (Bairam.!)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_wK9KWrjiI_Y/SkZtXHoGnbI/AAAAAAAAAYo/g2A84iFsPms/s72-c/fiddler_thumb%5B6%5D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2009/06/fiddler-web-debugging-software.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-8929680072678861427</guid><pubDate>Wed, 24 Jun 2009 13:05:00 +0000</pubDate><atom:updated>2009-06-24T06:05:12.955-07:00</atom:updated><title>www.gmail.com Error :)</title><description>&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_wK9KWrjiI_Y/SkIkgUBJ6jI/AAAAAAAAAYc/4oQ5gYAwXv0/s1600-h/gmail%20Error%5B4%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="gmail Error" border="0" alt="gmail Error" src="http://lh4.ggpht.com/_wK9KWrjiI_Y/SkIkiHmVocI/AAAAAAAAAYg/O0qoBzVacGY/gmail%20Error_thumb%5B2%5D.png?imgmax=800" width="641" height="500" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-8929680072678861427?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/99j42-PoOvLF3qexnZIpW05LXCI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/99j42-PoOvLF3qexnZIpW05LXCI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/99j42-PoOvLF3qexnZIpW05LXCI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/99j42-PoOvLF3qexnZIpW05LXCI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/Bhix8yB5nhQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/Bhix8yB5nhQ/wwwgmailcom-error.html</link><author>noreply@blogger.com (Bairam.!)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_wK9KWrjiI_Y/SkIkiHmVocI/AAAAAAAAAYg/O0qoBzVacGY/s72-c/gmail%20Error_thumb%5B2%5D.png?imgmax=800" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2009/06/wwwgmailcom-error.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-6368115734616565646</guid><pubDate>Sun, 21 Dec 2008 06:37:00 +0000</pubDate><atom:updated>2008-12-21T05:51:24.133-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Visual Studio.NET</category><category domain="http://www.blogger.com/atom/ns#">Technology News</category><title>Visual Studio 2010 CTP and Training Kit</title><description>&lt;img style="cursor:pointer; cursor:hand;width: 650px; height: 530px;" src="http://4.bp.blogspot.com/_wK9KWrjiI_Y/SU5JgTYSfkI/AAAAAAAAAVI/3vdThQzKywc/s400/VS2010.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5282240232258960962" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;Hi,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="  white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;span style="font-family:Vendra;"&gt;Microsoft had launched Pre-release of Visual Studio 2010 and .NET Framework 4.0 CTP and now  available for downloading:  &lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=922B4655-93D0-4476-BDA4-94CF5F8D4814&amp;amp;displaylang=en"&gt;&lt;span style="font-family:Vendra;"&gt;Download&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Vendra;"&gt;&lt;br /&gt;    &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="  white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-family:Vendra;"&gt;Microsoft Visual Studio 2010 and the .NET Framework 4.0 are the next generation development tools and platform for Windows Vista, the 2007 Office System, and the Web.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="  white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-family:Vendra;"&gt;The source is a virtual PC , 7.2 GB, which contains   &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;font-family:Vendra;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="  white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-family:Vendra;"&gt;1- Microsoft Windows Server 2008 &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="  white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-family:Vendra;"&gt;2- Microsoft Visual Studio 2008 Orcas &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="  white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-family:Vendra;"&gt;3- Microsoft Visual Studio 2010  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="  white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-family:Vendra;"&gt;4- Microsoft Team Foundation Server 2010 &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="  white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-family:Vendra;"&gt;5- Microsoft SQL Server 2008 &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="  white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-family:Vendra;"&gt;6- Microsoft Office 2007 &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="  white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-family:Vendra;"&gt;7- Dinner Now &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="  white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;span style="font-family:Vendra;"&gt;The Visual Studio 2010 and .NET Framework 4.0 Training Kit includes presentations, hands-on labs, and demos. This content is designed to help you learn how to utilize the Visual Studio 2010 features and a variety of framework technologies including: C# 4.0, Visual Basic 10, F#, Parallel Computing Platform, WCF, WF, WPF, ASP.NET AJAX 4.0, ASP.NET MVC Dynamic Data.  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;font-family:Vendra;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="  white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;span style="font-family:Vendra;"&gt;you can download it from: &lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=752CB725-969B-4732-A383-ED5740F02E93&amp;amp;displaylang=en"&gt;&lt;span style="font-family:Vendra;"&gt;Download&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:Vendra;"&gt;&lt;br /&gt;  &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-6368115734616565646?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/93DYCWxzA3hI0vBg4ePGwY5x1tY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/93DYCWxzA3hI0vBg4ePGwY5x1tY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/93DYCWxzA3hI0vBg4ePGwY5x1tY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/93DYCWxzA3hI0vBg4ePGwY5x1tY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/lbZlJEdivjY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/lbZlJEdivjY/visual-studio-2010-ctp-and-training-kit.html</link><author>noreply@blogger.com (Bairam.!)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_wK9KWrjiI_Y/SU5JgTYSfkI/AAAAAAAAAVI/3vdThQzKywc/s72-c/VS2010.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/12/visual-studio-2010-ctp-and-training-kit.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-3113301428288716896</guid><pubDate>Tue, 25 Nov 2008 09:30:00 +0000</pubDate><atom:updated>2008-11-25T02:47:42.772-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SQL Server</category><category domain="http://www.blogger.com/atom/ns#">Exams and Certifications</category><title>New certification from Microsoft 70-441</title><description>Yesterday I passed 70-441 by score of 966. &lt;a href="http://www.microsoft.com/learning/en/us/exams/70-441.mspx"&gt;Exam Details&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;PRO: Designing Database Solutions by Using Microsoft SQL Server 2005 exam&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Here are some notes about it:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;- It has 6 testlets that contains 56 questions&lt;br /&gt;"Testlet is actually a scenario based set of questions, covers from 5 to 12 questions"&lt;br /&gt;&lt;br /&gt;1- A. Datum Corporation&lt;br /&gt;2- Woodgrove Bank&lt;br /&gt;3- Trey Research&lt;br /&gt;4- Consolidated Messenger&lt;br /&gt;5- Southridge Video&lt;br /&gt;6- Coho Vineyard&amp;amp;Winery&lt;br /&gt;&lt;br /&gt;- Each scenario consists of sections like:&lt;br /&gt;&lt;br /&gt;- BACKGROUND&lt;br /&gt;- EXISTING ENVIRONMENT&lt;br /&gt;- BUSINESS REQUIREMENTS&lt;br /&gt;- TECHNICAL REQUIREMENTS&lt;br /&gt;&lt;br /&gt;- You can view scenario sections anytime while answering questions&lt;br /&gt;- Each testlet has its own time limit, which tests your design capabilities under stress&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;I readed the books &lt;/u&gt;&lt;br /&gt;- MCITP-Self-Paced-Training-Kit-Exam-Designing-Database-Solutions-by SQL 2005&lt;br /&gt;- MCTS-certification-Microsoft-SQL-Server-2005-Database-Essentials-Step-by-Step&lt;br /&gt;- Microsoft-SQL-Server-TM-2005-Applied-Techniques-Step-by-Step&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-3113301428288716896?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/q-hUd3zbXQivFxtCLz94eISLM1U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/q-hUd3zbXQivFxtCLz94eISLM1U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/q-hUd3zbXQivFxtCLz94eISLM1U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/q-hUd3zbXQivFxtCLz94eISLM1U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/Lx-CeX2kG28" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/Lx-CeX2kG28/new-certification-from-microsoft-70-441.html</link><author>noreply@blogger.com (Bairam.!)</author><thr:total>0</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/11/new-certification-from-microsoft-70-441.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-9095538985772129651</guid><pubDate>Mon, 24 Nov 2008 13:23:00 +0000</pubDate><atom:updated>2008-11-29T06:07:58.319-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Technology News</category><category domain="http://www.blogger.com/atom/ns#">SQL Server</category><title>Microsoft SQL Server 2005 New Features</title><description>&lt;u&gt;Contents:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Using SQL Server Configuration Manager&lt;/li&gt;&lt;li&gt;Using SQL Server Surface Area Configuration&lt;/li&gt;&lt;li&gt;Using Surface Area Configuration for Services And Connections &lt;/li&gt;&lt;li&gt;Using Surface Area Configuration For Features&lt;/li&gt;&lt;li&gt;Using Dependencies&lt;/li&gt;&lt;li&gt;Using SQL Server Management Studio Templates &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5272215075171939138" style="WIDTH: 365px; CURSOR: hand; HEIGHT: 316px" alt="" src="http://3.bp.blogspot.com/_wK9KWrjiI_Y/SSqrrW8VM0I/AAAAAAAAASo/XspuoKsv6wE/s400/001.png" border="0" /&gt;&lt;/p&gt;&lt;p&gt;SQL server 2005 has many tools to help you analyze behavior, enable features, and study and enhance the performance of your server. The following sections will describe some of these tools.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1- Using SQL Server Configuration Manager&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;It is a Microsoft Management Console application that allows you to configure SQL Server 2005’s installed services, network configuration, and network protocols.&lt;br /&gt;&lt;br /&gt;You can perform actions such as starting, pausing, and stopping services as well as defining the SQL Server and SQL Native Client network configuration.&lt;br /&gt;&lt;br /&gt;Open it from&lt;br /&gt;Start menu à choose All Programs à Microsoft SQL Server 2005 à Configuration Tools à SQL Server Configuration Manager&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_wK9KWrjiI_Y/SSqr4Zo90VI/AAAAAAAAASw/o7VEb-0gHi0/s1600-h/1.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5272215299234320722" style="WIDTH: 633px; CURSOR: hand; HEIGHT: 392px" alt="" src="http://3.bp.blogspot.com/_wK9KWrjiI_Y/SSqr4Zo90VI/AAAAAAAAASw/o7VEb-0gHi0/s400/1.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It can be used for running, stopping and restarting SQL Server services which are:&lt;br /&gt;&lt;br /&gt;o SQL Server Integration Services&lt;br /&gt;o SQL Server Full-Text Search Services&lt;br /&gt;o SQL Server&lt;br /&gt;o SQL Server Analysis Services&lt;br /&gt;o SQL Server Reporting Services&lt;br /&gt;o SQL Server BrowserSQL Server Agent&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_wK9KWrjiI_Y/SSqsNx-Vq2I/AAAAAAAAAS4/b0DfzTUwCmE/s1600-h/2.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5272215666543668066" style="WIDTH: 577px; CURSOR: hand; HEIGHT: 394px" alt="" src="http://1.bp.blogspot.com/_wK9KWrjiI_Y/SSqsNx-Vq2I/AAAAAAAAAS4/b0DfzTUwCmE/s400/2.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Using the SQL Server 2005 Network Configuration Node &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;It allows you to configure the network protocols used by each SQL Server instance by enabling or disabling the protocol.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_wK9KWrjiI_Y/SSqsir6KMoI/AAAAAAAAATA/jzmR49L43B8/s1600-h/3.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5272216025692779138" style="WIDTH: 571px; CURSOR: hand; HEIGHT: 365px" alt="" src="http://1.bp.blogspot.com/_wK9KWrjiI_Y/SSqsir6KMoI/AAAAAAAAATA/jzmR49L43B8/s400/3.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;u&gt;Aliases:&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Aliases are alternate names that can be used to connect to a SQL Server instance. Egypt_Server_Test will be the alias name that maps to the SQL Server instance egypt-aeid\Products , using the TCP/IP network protocol with port number 1433&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SSqsye5cYII/AAAAAAAAATI/bgt1ROb3s8s/s1600-h/4.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5272216297078022274" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 282px" alt="" src="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SSqsye5cYII/AAAAAAAAATI/bgt1ROb3s8s/s400/4.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2- Using SQL Server Surface Area Configuration&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;It is a tool that helps you enable, disable, start, or stop the features and services of your local and remote SQL Server 2005 installations. Stopping and disabling unused services allows you to reduce the surface area and makes your system more secure.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Open it from&lt;br /&gt;&lt;/u&gt;--&gt; Start menu --&gt; choose All Programs --&gt; Microsoft SQL Server 2005 --&gt; Configuration Tools --&gt; SQL Server Surface Area Configuration&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SSqs_rYnk3I/AAAAAAAAATQ/6lM2SQ_U0aw/s1600-h/5.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5272216523768304498" style="WIDTH: 579px; CURSOR: hand; HEIGHT: 377px" alt="" src="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SSqs_rYnk3I/AAAAAAAAATQ/6lM2SQ_U0aw/s400/5.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2.1 Using Surface Area Configuration For Services And Connections&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;It allows you to configure the state of SQL Server services. You can stop, pause, resume, and start the SQL Server instance services. Moreover, you are able to configure whether the SQL Server instance will allow remote connections and, if so, which protocols to use&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SSqtM5C20TI/AAAAAAAAATY/0Z8syZJjVgg/s1600-h/6.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5272216750773424434" style="WIDTH: 560px; CURSOR: hand; HEIGHT: 391px" alt="" src="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SSqtM5C20TI/AAAAAAAAATY/0Z8syZJjVgg/s400/6.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Database Engine&lt;br /&gt;- Analysis Services&lt;br /&gt;- Reporting Services&lt;br /&gt;- SQL Agent&lt;br /&gt;- Full-Text Search&lt;br /&gt;- Integration Services&lt;br /&gt;- SQL Server Browser&lt;br /&gt;&lt;br /&gt;All components have Service item for managing service settings: &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Startup type :&lt;/strong&gt; Use to configure how the service starts.&lt;br /&gt;&lt;u&gt;Automatic &lt;/u&gt;specifies that the service starts when the system starts.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Manual &lt;/u&gt;specifies that a user or dependent service can start the service, and that the service does not start when the system starts.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Disabled &lt;/u&gt;prevents the service from being started by the system, a user, or any dependent service.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Service status : &lt;/strong&gt;Shows the status of the service.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Remote Connections for&lt;br /&gt;&lt;/strong&gt;- Database Engine&lt;br /&gt;- Reporting Services&lt;br /&gt;&lt;br /&gt;It is used to change the protocols on which SQL Server listens for incoming client connections. TCP/IP is preferred over named pipes because it requires fewer ports to be opened across the firewall&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_wK9KWrjiI_Y/SSqth52PW6I/AAAAAAAAATg/ojfPpgI77ts/s1600-h/7.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5272217111766195106" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 308px" alt="" src="http://3.bp.blogspot.com/_wK9KWrjiI_Y/SSqth52PW6I/AAAAAAAAATg/ojfPpgI77ts/s400/7.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Local connections only &lt;/u&gt;&lt;br /&gt;If selected, the Database Engine instance will only listen for shared memory connections on the local computer. Connections from remote computers will fail.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Local and remote connections &lt;/u&gt;&lt;br /&gt;If selected, the Database Engine instance will listen for connections from the local computer and from remote computers using the selected protocols.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Using TCP/IP protocol only &lt;/u&gt;&lt;br /&gt;If selected, the Database Engine instance listens for remote connections using TCP/IP, but not named pipes.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Using Named Pipes protocol only &lt;/u&gt;&lt;br /&gt;If selected, the Database Engine instance listens for remote connections using named pipes, but not TCP/IP.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Using both TCP/IP and Named Pipes protocols&lt;br /&gt;&lt;/u&gt;If selected, the Database Engine instance listens for remote connections using TCP/IP and named pipes.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2.2 Using SQL Server Surface Area Configuration for Features&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;It provides a single interface for enabling or disabling many Database Engine, Analysis Services, and Reporting Services features. Disabling unused features helps to secure your Microsoft SQL Server installations by reducing the SQL Server surface area.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_wK9KWrjiI_Y/SSqtw1y8COI/AAAAAAAAATo/DyUYr7cz0xE/s1600-h/8.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5272217368376641762" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 307px" alt="" src="http://4.bp.blogspot.com/_wK9KWrjiI_Y/SSqtw1y8COI/AAAAAAAAATo/DyUYr7cz0xE/s400/8.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;SQL Mail, which is deprecated in favor of Database Mail, is disabled by default. Using this dialog, you can enable SQL Mail for backward compatibility.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3- Using Dependencies&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;Some database objects have dependencies upon other database objects. For example stored procedures may depend on objects like functions, tables, views …etcYou find dependencies by right click on any database object like tables, views, sp , fn ….etc&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_wK9KWrjiI_Y/SSvEkqxLnNI/AAAAAAAAAT4/bin9fqL1VmM/s1600-h/9.png"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_wK9KWrjiI_Y/STFL1Ol8WnI/AAAAAAAAAUw/mArzYerCug4/s1600-h/10.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5274080016449952370" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 334px" alt="" src="http://4.bp.blogspot.com/_wK9KWrjiI_Y/STFL1Ol8WnI/AAAAAAAAAUw/mArzYerCug4/s400/10.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;There are 2 types of dependencies for an object:&lt;br /&gt;&lt;/u&gt;&lt;br /&gt;&lt;strong&gt;a- Objects that depend on &lt;selected&gt;&lt;br /&gt;&lt;selected&gt;&lt;selected&gt;&lt;br /&gt;&lt;/strong&gt;It displays a list of those objects that are dependency-tracked and that depend on the selected object.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_wK9KWrjiI_Y/STFHHnN_lgI/AAAAAAAAAUI/MVYtji72nnM/s1600-h/11.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5274074834739893762" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 360px" alt="" src="http://1.bp.blogspot.com/_wK9KWrjiI_Y/STFHHnN_lgI/AAAAAAAAAUI/MVYtji72nnM/s400/11.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;b- Objects on which &lt;selected&gt;depends &lt;selected&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;It displays a list of those objects that are dependency-tracked, on which the selected object depends.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_wK9KWrjiI_Y/STFHN-A82UI/AAAAAAAAAUQ/oMtJow_6yfE/s1600-h/12.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5274074943938419010" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 359px" alt="" src="http://3.bp.blogspot.com/_wK9KWrjiI_Y/STFHN-A82UI/AAAAAAAAAUQ/oMtJow_6yfE/s400/12.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Using SQL Server Management Studio Templates&lt;br /&gt;&lt;br /&gt;Templates are files that contain SQL scripts to help you create objects in the database.&lt;br /&gt;You can create objects such as&lt;br /&gt;o Databases&lt;br /&gt;o Tables&lt;br /&gt;o Views&lt;br /&gt;o Indexes&lt;br /&gt;o Stored procedures&lt;br /&gt;o Triggers&lt;br /&gt;o Statistics&lt;br /&gt;o Functions&lt;br /&gt;&lt;u&gt;&lt;br /&gt;Open it from&lt;br /&gt;&lt;/u&gt;&lt;br /&gt;Open SQL Server Management Studio --&gt; View Menu --&gt; Template Explorer&lt;br /&gt;Find the sql files on hard disk from&lt;br /&gt;&lt;br /&gt;"C:\Documents and Settings\&lt;username&gt;\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell\Templates"&lt;/p&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_wK9KWrjiI_Y/STFHvGDvl2I/AAAAAAAAAUY/b4XVjYZubD0/s1600-h/13.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5274075513033299810" style="WIDTH: 167px; CURSOR: hand; HEIGHT: 400px" alt="" src="http://3.bp.blogspot.com/_wK9KWrjiI_Y/STFHvGDvl2I/AAAAAAAAAUY/b4XVjYZubD0/s400/13.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Lets Create Stored Procedure ( New Menu )&lt;br /&gt;&lt;br /&gt;Note: you can do the same step from the object explorer to a database, under programmability Stored Procedure, then by right click on that node&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_wK9KWrjiI_Y/STFH18bCTQI/AAAAAAAAAUg/EKTmoDveuTY/s1600-h/14.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5274075630705724674" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 400px; CURSOR: hand; HEIGHT: 262px" alt="" src="http://1.bp.blogspot.com/_wK9KWrjiI_Y/STFH18bCTQI/AAAAAAAAAUg/EKTmoDveuTY/s400/14.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&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;u&gt;Note: &lt;/u&gt;the created template contains many params and names needed to renamed, you can do that by the use of wizard (Ctrl + Shift + M)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_wK9KWrjiI_Y/STFIUT-2zfI/AAAAAAAAAUo/8MgsbrWz6SI/s1600-h/15.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5274076152426057202" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 288px" alt="" src="http://3.bp.blogspot.com/_wK9KWrjiI_Y/STFIUT-2zfI/AAAAAAAAAUo/8MgsbrWz6SI/s400/15.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note: if you press OK, you won’t modify the names by wizard again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-9095538985772129651?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SCTPaPZfu6cR5u5Mwsx2teLTUqs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SCTPaPZfu6cR5u5Mwsx2teLTUqs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SCTPaPZfu6cR5u5Mwsx2teLTUqs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SCTPaPZfu6cR5u5Mwsx2teLTUqs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/X58OkMKzqn4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/X58OkMKzqn4/microsoft-sql-server-2005-issues.html</link><author>noreply@blogger.com (Bairam.!)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_wK9KWrjiI_Y/SSqrrW8VM0I/AAAAAAAAASo/XspuoKsv6wE/s72-c/001.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/11/microsoft-sql-server-2005-issues.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-2293058922401916957</guid><pubDate>Mon, 10 Nov 2008 07:56:00 +0000</pubDate><atom:updated>2008-11-10T01:15:13.175-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Visual Studio.NET</category><category domain="http://www.blogger.com/atom/ns#">C#</category><category domain="http://www.blogger.com/atom/ns#">Architecture / Design</category><category domain="http://www.blogger.com/atom/ns#">OOP</category><category domain="http://www.blogger.com/atom/ns#">SQL Server</category><title>Provider Design Patterns in NET 2.0</title><description>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;I posted that article to CodeProject.com  &lt;a href="http://www.codeproject.com/KB/architecture/ProviderDesignPattern.aspx"&gt;Read&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/ProviderDesignPattern.zip"&gt;Download ProviderDesignPattern.zip - 4.01 MB &lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Introduction &lt;/li&gt;&lt;li&gt;What are the benefits of the article ? &lt;/li&gt;&lt;li&gt;Application Architecture &lt;/li&gt;&lt;li&gt;Application Configuration &lt;/li&gt;&lt;li&gt;Provider Implementation &lt;/li&gt;&lt;li&gt;Restoring Database &lt;/li&gt;&lt;li&gt;Debugging code &lt;/li&gt;&lt;li&gt;Conclusion &lt;/li&gt;&lt;li&gt;References &lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Introduction &lt;/h2&gt;Provider Design Pattern is a new pattern that Microsoft formalized in ASP.NET Whidbey. The pattern was officially named in the summer of 2002 when Microsoft was designing Whidbey's new Personalization feature.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Benefits of Provider&lt;/strong&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;No need to explicitly instantiate classes. The .NET framework will automatically manage class instantiation, including re-using classes that have already been instantiated. This will greatly improve the memory management of your application. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Switching data sources is much easier. Changing the source of data for your application from the current database to any database, whether SQL Server, Oracle, XML, or other, is a simple as replacing your existing concrete (implementer) class with a new concrete (implementer) class and inheriting from your provider class. That is all. Your presentation and business logic layers remain unchanged, thereby reducing effort required to switch data sources and the amount of regression testing required thereafter. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Learning the Provider Design concept will make it very easy to customize built-in .NET framework providers. &lt;/li&gt;&lt;/ol&gt;A provider implementation must derive from an abstract base class, which is used to define a contract for a particular feature.&lt;br /&gt;&lt;br /&gt;For example, to create a Person provider for SQL, you create a new class &lt;strong&gt;SqlPersonProvider&lt;/strong&gt;, which derives from &lt;strong&gt;PersonProvider&lt;/strong&gt;. The base class of PersonProvider is &lt;strong&gt;ProviderBase&lt;/strong&gt; . The &lt;strong&gt;ProviderBase&lt;/strong&gt; class is used to mark implementers as a provider and forces the implementation of a required method and property common to all providers.&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 635px; height: 133px; " height="133" alt="image32.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image32.png" width="635" /&gt;&lt;br /&gt;&lt;h2&gt;What are the benefits of the article ?&lt;/h2&gt;- Understanding the implementation of Provider Design Pattern&lt;br /&gt;- Understanding the implementation of 3-tier architecture application&lt;br /&gt;- Understanding the application architecture&lt;br /&gt;- Naming Conventions&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Note: &lt;/strong&gt;I strongly suggest that you use the exact names that I use in this document to develop your solution for the purpose of learning this concept. Once you have tested and understand how it works, then you can integrate your own naming conventions. &lt;/p&gt;&lt;h2&gt;Application Implementation &lt;/h2&gt;I developed an application, Phone Book, as desktop application to describe the provider idea.&lt;br /&gt;&lt;br /&gt;The phone book application was developed with the use of 3 tier architecture as shown on application architecture.&lt;br /&gt;&lt;br /&gt;Database objects like tables, fields and stored procedures are represented by object oriented classes, properties and methods on the provider infos of CompanyName library&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 644px; height: 602px; " height="602" alt="image26.JPG" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image26.JPG" width="644" /&gt;&lt;br /&gt;The presentation layer calls the result from business logic layer and then data retrieved from database by the use of providers implemented at data access layer library.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution Projects [ 4 Projects]:&lt;/strong&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;BusinessLogicLayer : &lt;/strong&gt;The business logic layer of the application &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;CompanyName: &lt;/strong&gt;it includes the global classes to all solution's projects &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;DataAccessLayer: &lt;/strong&gt;The data access layer of the application &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;PhoneBookApplication: &lt;/strong&gt;The presentation layer &lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;img style="width: 548px; height: 334px; " height="334" alt="image27.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image27.png" width="548" /&gt;&lt;br /&gt;&lt;h2&gt;Application Architecture &lt;/h2&gt;The following figure depicts the common tiers of a distributed application. This document distinguishes between business data and the business processes that use the data; the business process tier is discussed only where needed for clarification. Likewise, the presentation tier is discussed only where there are direct implications for the way data is represented, such as the way Microsoft® ASP.NET Web pages expose business data.  &lt;a href="http://msdn.microsoft.com/en-us/library/ms978496.aspx" target="_self"&gt;Read More&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 600px; height: 562px; " height="562" alt="image33.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image33.png" width="600" /&gt;&lt;br /&gt;&lt;br /&gt;the following diagram describes the architecture of all solution's projects:&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 635px; height: 389px; " height="389" alt="image28.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image28.png" width="635" /&gt;&lt;br /&gt;&lt;br /&gt;The following diagram, ERD, is the database design of phonebook&lt;br /&gt;&lt;a href="http://www.blogger.com/$image40.png"&gt;&lt;br /&gt;&lt;img style="width: 633px; height: 506px; " height="506" alt="image29.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image29.png" width="633" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The following diagram, &lt;strong&gt;Use-Case diagram&lt;/strong&gt;, describe the main functionality of the application:&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 636px; height: 551px; " height="551" alt="image30.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image30.png" width="636" /&gt;&lt;br /&gt;&lt;br /&gt;Now, we can discuss the implementation of each project:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;(1) &lt;/strong&gt;Open Visual Studio 2005&lt;br /&gt;&lt;br /&gt;1- Create Windows Application and name it &lt;strong&gt;PhoneBookApplication&lt;/strong&gt;&lt;br /&gt;2- Choose File Menu --&amp;gt; Add --&amp;gt; New Project and name it &lt;strong&gt;BusinessLogicLayer&lt;br /&gt;3- &lt;/strong&gt;Choose File Menu --&amp;gt; Add --&amp;gt; New Project and name it &lt;strong&gt;DataAccessLayer&lt;br /&gt;4- &lt;/strong&gt;Choose File Menu --&amp;gt; Add --&amp;gt; New Project and name it &lt;strong&gt;CompanyName &lt;/strong&gt;&lt;strong&gt;CompanyName :&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;this project will include common libraries that are globally used in the development and shared objects among projects&lt;br /&gt;so you will add reference for &lt;strong&gt;CompanyName&lt;/strong&gt; library to all other applications.&lt;br /&gt;&lt;br /&gt;ex. i created the provider info classes to be shared among the "BussinessLogicLayer" and "DataAccessLayer" projects&lt;br /&gt;&lt;br /&gt;&lt;img height="210" alt="image5.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image5.png" width="272" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;(2) &lt;/strong&gt;Add Reference to the below DLLs for the BusinessLogicLayer and DataAccessLayer&lt;br /&gt;&lt;ul&gt;&lt;li&gt;System.Web &lt;/li&gt;&lt;li&gt;System.Configuration &lt;/li&gt;&lt;li&gt;CompanyName &lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;(3) &lt;/strong&gt;Add references of "CompanyName" and "BusinessLogicLayer" to the desktop application&lt;br /&gt;&lt;br /&gt;&lt;img height="673" alt="image6.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image6.png" width="255" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;(4) &lt;/strong&gt;Configuaring the App.config of the "PhoneBookApplication"&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 874px; height: 609px; " height="609" alt="image8.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image8.png" width="874" /&gt; if you look to the xml elments in app.config, we define seciongroup named "PhoneBook" and added 2 sections to it which are "Person" and "Group"&lt;br /&gt;&lt;pre class="csharpcode"&gt;&amp;lt;sectionGroup name="PhoneBook"&amp;gt;&lt;br /&gt;    &amp;lt;section name="Person" type="CompanyName.PhoneBook.DataAccessLayer.SectionConfig, DataAccessLayer" /&amp;gt;&lt;br /&gt;    &amp;lt;section name="Group" type="CompanyName.PhoneBook.DataAccessLayer.SectionConfig, DataAccessLayer" /&amp;gt;&lt;br /&gt;  &amp;lt;/sectionGroup&amp;gt;&lt;/pre&gt;&lt;br /&gt;then define that section group as:&lt;br /&gt;&lt;pre class="csharpcode"&gt;&amp;lt;PhoneBook&amp;gt;&lt;br /&gt;  &amp;lt;Person&amp;gt;&lt;br /&gt;    &amp;lt;providers&amp;gt;&lt;br /&gt;      &amp;lt;add name="SqlPerson" type="CompanyName.PhoneBook.DataAccessLayer.SqlPersonProvider, DataAccessLayer"&lt;br /&gt;           connectionStringName="strcon" /&amp;gt;&lt;br /&gt;      &amp;lt;add name="OraclePerson" type="CompanyName.PhoneBook.DataAccessLayer.OraclePersonProvider, DataAccessLayer"&lt;br /&gt;           connectionStringName="OracleConnection" /&amp;gt;&lt;br /&gt;      &amp;lt;add name="AccessPerson" type="CompanyName.PhoneBook.DataAccessLayer.AccessPersonProvider, DataAccessLayer"&lt;br /&gt;           connectionStringName="AccessConnection" /&amp;gt;&lt;br /&gt;    &amp;lt;/providers&amp;gt;&lt;br /&gt;  &amp;lt;/Person&amp;gt;&lt;br /&gt;  &amp;lt;Group&amp;gt;&lt;br /&gt;    &amp;lt;providers&amp;gt;&lt;br /&gt;      &amp;lt;add name="SqlGroup" type="CompanyName.PhoneBook.DataAccessLayer.SqlGroupProvider, DataAccessLayer"&lt;br /&gt;           connectionStringName="strcon" /&amp;gt;&lt;br /&gt;    &amp;lt;/providers&amp;gt;&lt;br /&gt;  &amp;lt;/Group&amp;gt;&lt;br /&gt;&amp;lt;/PhoneBook&amp;gt;&lt;/pre&gt;&lt;br /&gt;then define the connection strings for data stores of "SQL, Oracle and Access"&lt;br /&gt;&lt;pre class="csharpcode"&gt;&amp;lt;connectionStrings&amp;gt;&lt;br /&gt;  &amp;lt;add name="strcon" connectionString="Data Source=.;Initial Catalog=AhmedEid_PhoneBook;Integrated Security=True" /&amp;gt;&lt;br /&gt;  &amp;lt;add name="OracleConnection" connectionString="oracle_connection_string" /&amp;gt;&lt;br /&gt;  &amp;lt;add name="AccessConnection" connectionString="Access_connection_string" /&amp;gt;&lt;br /&gt;&amp;lt;/connectionStrings&amp;gt;&lt;/pre&gt;&lt;br /&gt;person provider could retrieve data from SQL,Oracle or Access database.&lt;br /&gt;Group provider could retrieve data from SQL only &lt;strong&gt;(5) &lt;/strong&gt;Implementing DataAccessLayer Suppose PhoneBook is a midsize business and the PhoneBookApplicaion contains 2 major sections: - Person : profile management&lt;br /&gt;- Groups : categorization of persons The following code reads all providers defined in your web.config. That is all you have to do to make providers information available to other classes.&lt;br /&gt;&lt;pre class="csharpcode"&gt;using System;&lt;br /&gt;using System.Configuration;&lt;br /&gt;namespace CompanyName.PhoneBook.DataAccessLayer&lt;br /&gt;{&lt;br /&gt;  public class SectionConfig : ConfigurationSection&lt;br /&gt;  {&lt;br /&gt;      [ConfigurationProperty("providers")]&lt;br /&gt;      public ProviderSettingsCollection Providers&lt;br /&gt;      {&lt;br /&gt;          get&lt;br /&gt;          {&lt;br /&gt;              return (ProviderSettingsCollection)base["providers"];&lt;br /&gt;          }&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;We need to create another class to have access to the Framework provider collection and to add our new provider(s) to the provider collection.&lt;br /&gt;&lt;pre class="csharpcode"&gt;using System;&lt;br /&gt;using System.Configuration.Provider;&lt;br /&gt;namespace CompanyName.PhoneBook.DataAccessLayer&lt;br /&gt;{&lt;br /&gt;  public class ProviderList : ProviderCollection&lt;br /&gt;  {&lt;br /&gt;      public override void Add(ProviderBase provider)&lt;br /&gt;      {&lt;br /&gt;          if (provider == null) throw new ArgumentNullException("The provider parameter cannot be null.");&lt;br /&gt;          base.Add(provider);&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Create another class that will initialize the provider by the provider name.&lt;br /&gt;&lt;br /&gt;example: initialize the &lt;strong&gt;Group provider &lt;/strong&gt;for SQLGroupProvider class using provider name of "SQLGroup"&lt;br /&gt;&lt;pre class="csharpcode"&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Web.Configuration;&lt;br /&gt;using System.Configuration;&lt;br /&gt;using CompanyName.PhoneBook.DataAccessLayer;&lt;br /&gt;&lt;br /&gt;namespace CompanyName.PhoneBook.DataAccessLayer&lt;br /&gt;{&lt;br /&gt;  public abstract class InitMember&amp;lt;T&amp;gt;&lt;br /&gt;  {&lt;br /&gt;      public static ProviderList Providers(string _providerSectionName)&lt;br /&gt;      {&lt;br /&gt;          SectionConfig qc = (SectionConfig)ConfigurationManager.GetSection(_providerSectionName);&lt;br /&gt;          providerCollection = new ProviderList();&lt;br /&gt;          // this wl instatiate PersonProvider with the class "personimpl" which inherit it&lt;br /&gt;          ProvidersHelper.InstantiateProviders(qc.Providers, providerCollection, typeof(T));&lt;br /&gt;          providerCollection.SetReadOnly();&lt;br /&gt;          return providerCollection;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      private static ProviderList providerCollection;&lt;br /&gt;  }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;The class takes the provider you want to initialize, i.e PersonProvider, its class and the provider name&lt;br /&gt;&lt;br /&gt;This enum founded on CompanyName.Globals class&lt;br /&gt;&lt;br /&gt;&lt;img height="163" alt="image13.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image13.png" width="281" /&gt;&lt;br /&gt;using that class from the Instance method of PersonProvider Class:&lt;br /&gt;&lt;pre class="csharpcode"&gt;        /// &amp;lt;summary&amp;gt;&lt;br /&gt;      /// This will initialize the provider and add instanse to the providers list&lt;br /&gt;      /// &amp;lt;/summary&amp;gt;&lt;br /&gt;      /// &amp;lt;param name="_Provider"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;      /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;      public static PersonProvider Instance(Globals.Providers _Provider)&lt;br /&gt;      {&lt;br /&gt;          return (DataAccessLayer.PersonProvider)DataAccessLayer.InitMember&lt;br /&gt;              &amp;lt;DataAccessLayer.PersonProvider&amp;gt;.Providers("PhoneBook/Person")[_Provider.ToString()];&lt;br /&gt;      }&lt;/pre&gt;&lt;br /&gt;This method will initialize the provider and add instance to the providers list&lt;br /&gt;&lt;br /&gt;Now our "DataAccessLayer" project has the necessary classes for all providers to be later developed.&lt;br /&gt;&lt;br /&gt;so we are going to develop two providers:&lt;br /&gt;&lt;br /&gt;- PersonProvider&lt;br /&gt;- GroupProvider&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Now, we create our provider model:&lt;br /&gt;&lt;br /&gt;BaseProvider --&amp;gt; xxxProvider --&amp;gt; SQLxxxProvider xxx is the name of entity like Person, Group, ....etc Person Provider Classes:&lt;br /&gt;&lt;br /&gt;&lt;img height="577" alt="image9.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image9.png" width="619" /&gt;&lt;br /&gt;&lt;br /&gt;Group Provider Classes:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 491px; height: 542px; " height="542" alt="image10.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image10.png" width="491" /&gt;&lt;br /&gt;Let me explain the implementation of the PersonProvider and you can create GroupProvider by yourself: first we create a class named &lt;strong&gt;"PersonProvider.cs"&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;using System;&lt;br /&gt;using CompanyName.PhoneBook.Providers;&lt;br /&gt;using System.Configuration.Provider;&lt;br /&gt;using System.Configuration;&lt;br /&gt;using System.Web.Configuration;&lt;br /&gt;&lt;br /&gt;namespace CompanyName.PhoneBook.DataAccessLayer&lt;br /&gt;{&lt;br /&gt;  public abstract class PersonProvider : ProviderBase&lt;br /&gt;  {&lt;br /&gt;      /// &amp;lt;summary&amp;gt;&lt;br /&gt;      /// This will initialize the provider and add instanse to the providers list&lt;br /&gt;      /// &amp;lt;/summary&amp;gt;&lt;br /&gt;      /// &amp;lt;param name="_Provider"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;      /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;      public static PersonProvider Instance(Globals.Providers _Provider)&lt;br /&gt;      {&lt;br /&gt;          return (DataAccessLayer.PersonProvider)DataAccessLayer.InitMember&lt;br /&gt;              &amp;lt;DataAccessLayer.PersonProvider&amp;gt;.Providers("PhoneBook/Person")[_Provider.ToString()];&lt;br /&gt;      }&lt;br /&gt;      /// &amp;lt;summary&amp;gt;&lt;br /&gt;      /// Add new person&lt;br /&gt;      /// &amp;lt;/summary&amp;gt;&lt;br /&gt;      /// &amp;lt;param name="_info"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;      /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;      public abstract bool Add(PersonInfo _info);&lt;br /&gt;      /// &amp;lt;summary&amp;gt;&lt;br /&gt;      /// Modify selected person&lt;br /&gt;      /// &amp;lt;/summary&amp;gt;&lt;br /&gt;      /// &amp;lt;param name="_info"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;      /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;      public abstract bool Modify(PersonInfo _info);&lt;br /&gt;      /// &amp;lt;summary&amp;gt;&lt;br /&gt;      /// Delete selected person&lt;br /&gt;      /// &amp;lt;/summary&amp;gt;&lt;br /&gt;      /// &amp;lt;param name="_PersonId"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;      /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;      public abstract bool Delete(int _PersonId);&lt;br /&gt;      /// &amp;lt;summary&amp;gt;&lt;br /&gt;      /// Get all personns&lt;br /&gt;      /// &amp;lt;/summary&amp;gt;&lt;br /&gt;      /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;      public abstract PersonInfo[] Find();&lt;br /&gt;      /// &amp;lt;summary&amp;gt;&lt;br /&gt;      /// Get info of person&lt;br /&gt;      /// &amp;lt;/summary&amp;gt;&lt;br /&gt;      /// &amp;lt;param name="_PersonId"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;      /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;      public abstract PersonInfo GetInfo(int _PersonId);&lt;br /&gt;      /// &amp;lt;summary&amp;gt;&lt;br /&gt;      /// Get personns that match a given criteria&lt;br /&gt;      /// &amp;lt;/summary&amp;gt;&lt;br /&gt;      /// &amp;lt;param name="_Searchinfo"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;      /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;      public abstract PersonInfo[] Find(SearchCriteriaInfo _Searchinfo);&lt;br /&gt;  }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Instance() method : is responsible for instantiating our concrete (implementer) class (SqlGeneralProvider.cs), which has been defined within Web.config. and "PersonProvider" abstract class, which it inherits from ProviderBase and include person abstracted functions. (6)&lt;br /&gt;&lt;br /&gt;BusinessLogicLayer&lt;br /&gt;&lt;img height="207" alt="image14.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image14.png" width="251" /&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;Note:&lt;/strong&gt; It is a good idea to add a Helper class into your BusinessLogicLayer project. This way, you can expose some common functionality to all of your BusinessLogicLayer classes just by inheriting from this helper class.&lt;br /&gt;&lt;pre class="csharpcode"&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Web;&lt;br /&gt;namespace CompanyName.PhoneBook.BusinessLogicLayer&lt;br /&gt;{&lt;br /&gt;  /// &amp;lt;summary&amp;gt;&lt;br /&gt;  ///  You can use helper to provide common info./data needed OR to massage or add more info.&lt;br /&gt;  ///  to your data before sending it to presentation.&lt;br /&gt;  /// &amp;lt;/summary&amp;gt;&lt;br /&gt;  public abstract class Helper&lt;br /&gt;  {&lt;br /&gt;      protected static string MachineName&lt;br /&gt;      {&lt;br /&gt;          get&lt;br /&gt;          {&lt;br /&gt;              return Environment.MachineName;&lt;br /&gt;          }&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  // Add more methods/properties below&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;then define the business classes for the Person and Group providers.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Person.cs&lt;/strong&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Text;&lt;br /&gt;using CompanyName.PhoneBook.Providers;&lt;br /&gt;using CompanyName.PhoneBook.DataAccessLayer;&lt;br /&gt;&lt;br /&gt;namespace CompanyName.PhoneBook.BusinessLogicLayer&lt;br /&gt;{&lt;br /&gt;  public abstract class Person : Helper&lt;br /&gt;  {&lt;br /&gt;      static PersonProvider objPersonProvider;&lt;br /&gt;      /// &amp;lt;summary&amp;gt;&lt;br /&gt;      /// Person Cnstructor&lt;br /&gt;      /// &amp;lt;/summary&amp;gt;&lt;br /&gt;    &lt;br /&gt;      //Class Constructor: will be invoked 1 time only / Appdomain&lt;br /&gt;      static Person()&lt;br /&gt;      {&lt;br /&gt;          objPersonProvider = PersonProvider.Instance(Globals.Providers.SqlPerson);&lt;br /&gt;      }&lt;br /&gt;      // staticed methods for person&lt;br /&gt;      /// &amp;lt;summary&amp;gt;&lt;br /&gt;      /// Add new person&lt;br /&gt;      /// &amp;lt;/summary&amp;gt;&lt;br /&gt;      /// &amp;lt;param name="_info"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;      /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;      public static bool Add(PersonInfo _info)&lt;br /&gt;      {&lt;br /&gt;          // You can use helper to provide common info./data needed OR to&lt;br /&gt;          // massage or add more info. to your data before sending it to&lt;br /&gt;          // presentation.&lt;br /&gt;          // Here we use helper class to get MachineName and pass it along&lt;br /&gt;          // with data to presentation.&lt;br /&gt;          return objPersonProvider.Add(_info);&lt;br /&gt;      }&lt;br /&gt;      /// &amp;lt;summary&amp;gt;&lt;br /&gt;      /// Modify selected person&lt;br /&gt;      /// &amp;lt;/summary&amp;gt;&lt;br /&gt;      /// &amp;lt;param name="_info"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;      /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;      public static bool Modify(PersonInfo _info)&lt;br /&gt;      {&lt;br /&gt;          return objPersonProvider.Modify(_info);&lt;br /&gt;      }&lt;br /&gt;      /// &amp;lt;summary&amp;gt;&lt;br /&gt;      /// Delete selected person&lt;br /&gt;      /// &amp;lt;/summary&amp;gt;&lt;br /&gt;      /// &amp;lt;param name="_PersonId"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;      /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;      public static bool Delete(int _PersonId) { return objPersonProvider.Delete(_PersonId); }&lt;br /&gt;      /// &amp;lt;summary&amp;gt;&lt;br /&gt;      /// Get all personns&lt;br /&gt;      /// &amp;lt;/summary&amp;gt;&lt;br /&gt;      /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;      public static PersonInfo[] Find() { return objPersonProvider.Find(); }&lt;br /&gt;      /// &amp;lt;summary&amp;gt;&lt;br /&gt;      /// Get info of person&lt;br /&gt;      /// &amp;lt;/summary&amp;gt;&lt;br /&gt;      /// &amp;lt;param name="_PersonId"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;      /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;      public static PersonInfo GetInfo(int _PersonId) { return objPersonProvider.GetInfo(_PersonId); }&lt;br /&gt;      /// &amp;lt;summary&amp;gt;&lt;br /&gt;      /// Get personns that match a given criteria&lt;br /&gt;      /// &amp;lt;/summary&amp;gt;&lt;br /&gt;      /// &amp;lt;param name="_Searchinfo"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;      /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;      public static PersonInfo[] Find(SearchCriteriaInfo _Searchinfo) { return objPersonProvider.Find(_Searchinfo); }&lt;br /&gt;  }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;define &lt;strong&gt;objPersonProvider&lt;/strong&gt; as PersonProvider to be shared among the instances of Person class. Then initialize it on the class constructor which will be invoked for one time/ Appdomain&lt;br /&gt;&lt;pre class="csharpcode"&gt;Person objPerson_1 = new Person();  // on class A&lt;br /&gt;Person objPerson_2 = new Person();  // on class B&lt;br /&gt;Person objPerson_3 = new Person();  // on class C&lt;br /&gt;//Class Constructor: will be invoked 1 time only / Appdomain&lt;br /&gt;static Person()&lt;br /&gt;{&lt;br /&gt;     objPersonProvider = PersonProvider.Instance(Globals.Providers.SqlPerson);&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;The objPersonProvider will be initialized with the objPerson_1 constructor only on the class A, then other instances like objPerson_2 or objPerson_3 will use the static object objPersonProvider. you can add you business logic to every method before calling the data access provider as&lt;br /&gt;&lt;pre class="csharpcode"&gt;public static bool Add(PersonInfo _info)&lt;br /&gt;{&lt;br /&gt;// Here: you can add you business logic to every method before calling the data access provider&lt;br /&gt;return objPersonProvider.Add(_info);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;PhoneBook Application &lt;/h2&gt;&lt;br /&gt;The presentation layer as desktop application for implementing the business logic to the client. &amp;lt;image31&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to use the BL layer from the presentation layer ? sample code&lt;/strong&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;// build the search criteria&lt;br /&gt;SearchCriteriaInfo objSearchInfo = new SearchCriteriaInfo();&lt;br /&gt;objSearchInfo.FilterNameBy = (Globals.FilterNameBy)this.cboName.SelectedValue;&lt;br /&gt;&lt;br /&gt;objSearchInfo.GroupId = (int)cboGroup.SelectedValue;&lt;br /&gt;objSearchInfo.Name = txtName.Text.Trim();&lt;br /&gt;if(chkFrom.Checked)&lt;br /&gt;  objSearchInfo.FromDate = datefrom.Value;&lt;br /&gt;if(chkTo.Checked)&lt;br /&gt;  objSearchInfo.ToDate = dateto.Value;&lt;br /&gt;&lt;br /&gt;objSearchInfo.SortBy = (rdoasc.Checked) ? Globals.SortBy.Asc : Globals.SortBy.Desc;&lt;br /&gt;objSearchInfo.SortByBirthDate = chkbirthdate.Checked; ;&lt;br /&gt;objSearchInfo.SortByGroup = chkGroup.Checked;&lt;br /&gt;objSearchInfo.SortByName = chkName.Checked;&lt;br /&gt;objSearchInfo.SortByTele = chkTele.Checked;&lt;br /&gt;&lt;br /&gt;objSearchInfo.TeleNumber = txtTeleNumber.Text.Trim();&lt;br /&gt;objSearchInfo.TelephoneType = (Globals.TelephoneTypes)this.cboTeleTypes.SelectedValue;&lt;br /&gt;&lt;br /&gt;// get result from bus logic layer&lt;br /&gt;PersonInfo[] objresult = Person.Find(objSearchInfo);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 598px; height: 461px; " height="461" alt="image12.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image12.png" width="598" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 675px; height: 641px; " height="641" alt="image17.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image17.png" width="675" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to save and retrieve image from database ?&lt;/strong&gt;Save to database:&lt;br /&gt;&lt;br /&gt;save the image from the picturebox to MemoryStream and then save it on database as Byte[]&lt;br /&gt;&lt;pre class="csharpcode"&gt;// prapare the image&lt;br /&gt;if (null != imgperson.Image) // picturebox control&lt;br /&gt;{&lt;br /&gt;  MemoryStream stream = new MemoryStream();&lt;br /&gt;  imgperson.Image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);&lt;br /&gt;  info.Image = stream.ToArray();&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Retrieve from database:&lt;br /&gt;&lt;pre class="csharpcode"&gt; // display the image&lt;br /&gt;byte[] PImage = info.Image;&lt;br /&gt;if (null != PImage)&lt;br /&gt;{&lt;br /&gt;   MemoryStream stream = new MemoryStream(PImage);&lt;br /&gt;   imgperson.Image = Image.FromStream(stream);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 759px; height: 593px; " height="593" alt="image18.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image18.png" width="759" /&gt;&lt;br /&gt;&lt;h2&gt;Restoring Database on SQL Server 2005&lt;/h2&gt;&lt;br /&gt;Attach the database AhmedEid_PhoneBook.mdf from the directory DataBase on the root directory to the SQL Server Engine.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Debugging Scenario&lt;/h2&gt;&lt;br /&gt;Let us debug the advanced search button code to retrieve results with criteria from the client&lt;br /&gt;&lt;br /&gt;the following scenario will lead you to understand the Provider implementation&lt;br /&gt;&lt;p&gt;make breakpoints as the following&lt;br /&gt;&lt;br /&gt;1- AdvancedSearch form class ( presentation layer )&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 731px; height: 566px; " height="566" alt="image19.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image19.png" width="731" /&gt;&lt;br /&gt;2- Person class of BusinessLogicLayer ( BLL layer )&lt;br /&gt;&lt;br /&gt;&lt;img height="472" alt="image20.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image20.png" width="770" /&gt;&lt;br /&gt;3- PersonProvider Class of DataAccessLayer ( DAL layer )&lt;br /&gt;&lt;br /&gt;&lt;img height="412" alt="image21.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image21.png" width="868" /&gt;&lt;br /&gt;&lt;br /&gt;4- InittMember&amp;lt;T&amp;gt; class of DataAccessLayer ( DAL layer )&lt;br /&gt;&lt;br /&gt;&lt;img height="271" alt="image22.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image22.png" width="837" /&gt;&lt;br /&gt;&lt;br /&gt;the above code will provide and add the SqlPersonProvider class to the providers list to be available for any usage.&lt;br /&gt;&lt;br /&gt;&lt;img height="189" alt="image24.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image24.png" width="954" /&gt;&lt;br /&gt;&lt;br /&gt;5- SqlGroupProvider class of DataAccesslayer ( DAL layer )&lt;br /&gt;&lt;br /&gt;&lt;img height="463" alt="image23.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image23.png" width="852" /&gt; &lt;/p&gt;&lt;br /&gt;Note: After debugging the code for 1st time , the providers (PersonProvider and groupProvider) will be added to the System.Configuration.Provider.ProviderCollection and for 2nd time the results will be retrieved without instantiating the classes again.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;img height="255" alt="image25.png" src="http://www.codeproject.com/KB/architecture/ProviderDesignPattern/image25.png" width="801" /&gt;&lt;br /&gt;&lt;strong&gt;References&lt;br /&gt;- &lt;/strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms972319.aspx"&gt;&lt;strong&gt;http://msdn.microsoft.com/en-us/library/ms972319.aspx&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;br /&gt;- &lt;/strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms972370.aspx"&gt;&lt;strong&gt;http://msdn.microsoft.com/en-us/library/ms972370.aspx&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;br /&gt;- &lt;a href="http://msdn.microsoft.com/en-us/library/ms978496.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms978496.aspx&lt;/a&gt;&lt;br /&gt;- &lt;/strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Design_Patterns"&gt;&lt;strong&gt;http://en.wikipedia.org/wiki/Design_Patterns&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;br /&gt;- &lt;/strong&gt;&lt;a href="http://www.c-sharpcorner.com/UploadFile/webmaster3/ProviderPattern12242007184126PM/ProviderPattern.aspx"&gt;&lt;strong&gt;http://www.c-sharpcorner.com/UploadFile/webmaster3/ProviderPattern12242007184126PM/ProviderPattern.aspx&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;/strong&gt;&lt;h2&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 13px; font-weight: normal; "&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;here, I tried to describe the topic briefly so please don't hesitate to contact me for more information&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Thanks&lt;/span&gt;&lt;/h2&gt;&lt;/li&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-2293058922401916957?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wW--mM-kdAjvQ8j4-n0nl_VEsX0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wW--mM-kdAjvQ8j4-n0nl_VEsX0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wW--mM-kdAjvQ8j4-n0nl_VEsX0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wW--mM-kdAjvQ8j4-n0nl_VEsX0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/GmzxYWFMhQs" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/GmzxYWFMhQs/provider-design-patterns-in-net-20.html</link><author>noreply@blogger.com (Bairam.!)</author><thr:total>0</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/11/provider-design-patterns-in-net-20.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-5832652178714626432</guid><pubDate>Sun, 02 Nov 2008 08:30:00 +0000</pubDate><atom:updated>2008-11-02T01:34:27.105-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Exams and Certifications</category><title>Microsoft SQL Server 2005 Certification from Micrsoft</title><description>The last certification from microsoft is :&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Microsoft SQL Server 2005 Implementation and Maintainance &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;img src="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SQ1ltaZdYiI/AAAAAAAAARU/ueEWYk6-hDk/s400/MyCertifications.png" style="cursor:pointer; cursor:hand;width: 400px; height: 372px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5263975370320601634" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-5832652178714626432?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5HLu0hOqz1bLzMxjXIf1eaWooTk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5HLu0hOqz1bLzMxjXIf1eaWooTk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5HLu0hOqz1bLzMxjXIf1eaWooTk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5HLu0hOqz1bLzMxjXIf1eaWooTk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/fdFzeKuXlH8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/fdFzeKuXlH8/microsoft-sql-server-2005-certification.html</link><author>noreply@blogger.com (Bairam.!)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SQ1ltaZdYiI/AAAAAAAAARU/ueEWYk6-hDk/s72-c/MyCertifications.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/11/microsoft-sql-server-2005-certification.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-5533778495315322681</guid><pubDate>Sun, 28 Sep 2008 09:50:00 +0000</pubDate><atom:updated>2008-09-28T02:58:06.111-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Community</category><category domain="http://www.blogger.com/atom/ns#">Exams and Certifications</category><title>Project Euler Level 1 Congratulations .!</title><description>&lt;a href="http://1.bp.blogspot.com/_wK9KWrjiI_Y/SN9Tfli90HI/AAAAAAAAAQ8/TCYUPxDZqPY/s1600-h/ProjectEuler-Level1.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5251007492657107058" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 565px; CURSOR: hand; HEIGHT: 210px; TEXT-ALIGN: center" height="192" alt="" src="http://1.bp.blogspot.com/_wK9KWrjiI_Y/SN9Tfli90HI/AAAAAAAAAQ8/TCYUPxDZqPY/s400/ProjectEuler-Level1.JPG" width="499" border="0" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span"   style="  ;font-family:'Trebuchet MS';font-size:14px;"&gt;&lt;h3 style="text-align: center;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(102, 102, 102); font-family: 'Courier New', monospace; "&gt;&lt;a href="http://www.projecteuler.net/" target="new"&gt;www.projecteuler.net&lt;/a&gt;&lt;br /&gt;&lt;/h3&gt;&lt;h3  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(102, 102, 102);  font-family:'Courier New', monospace;"&gt;&lt;span class="Apple-style-span" style="color: rgb(85, 26, 139); text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h3&gt;&lt;h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(102, 102, 102); font-family: 'Courier New', monospace; "&gt;What is Project Euler?&lt;/h3&gt;&lt;p&gt;Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.&lt;br /&gt;&lt;br /&gt;The motivation for starting Project Euler, and its continuation, is to provide a platform for the inquiring mind to delve into unfamiliar areas and learn new concepts in a fun and recreational context.&lt;/p&gt;&lt;br /&gt;&lt;h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(102, 102, 102); font-family: 'Courier New', monospace; "&gt;Who are the problems aimed at?&lt;/h3&gt;&lt;p&gt;The intended audience include students for whom the basic curriculum is not feeding their hunger to learn, adults whose background was not primarily mathematics but had an interest in things mathematical, and professionals who want to keep their problem solving and mathematics on the edge.&lt;/p&gt;&lt;br /&gt;&lt;h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(102, 102, 102); font-family: 'Courier New', monospace; "&gt;Can anyone solve the problems?&lt;/h3&gt;&lt;p&gt;The problems range in difficulty and for many the experience is inductive chain learning. That is, by solving one problem it will expose you to a new concept that allows you to undertake a previously inaccessible problem. So the determined participant will slowly but surely work his/her way through every problem.&lt;/p&gt;&lt;/span&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-5533778495315322681?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CstMnLSkEZCu2RybE-E3ZxMtLNw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CstMnLSkEZCu2RybE-E3ZxMtLNw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CstMnLSkEZCu2RybE-E3ZxMtLNw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CstMnLSkEZCu2RybE-E3ZxMtLNw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/HNthjatxUf4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/HNthjatxUf4/project-euler-level-1-congratulations.html</link><author>noreply@blogger.com (Bairam.!)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_wK9KWrjiI_Y/SN9Tfli90HI/AAAAAAAAAQ8/TCYUPxDZqPY/s72-c/ProjectEuler-Level1.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/09/project-euler-level-1-congratulations.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-2542075109467634544</guid><pubDate>Sat, 27 Sep 2008 07:41:00 +0000</pubDate><atom:updated>2008-10-04T02:30:41.269-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java</category><category domain="http://www.blogger.com/atom/ns#">Mobile</category><category domain="http://www.blogger.com/atom/ns#">Technology News</category><title>T-Mobile G1™ with Google™ - Black</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SN3j_qakKNI/AAAAAAAAAQc/RoXs2n4JaAg/s1600-h/370x400_1.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SN3j_qakKNI/AAAAAAAAAQc/RoXs2n4JaAg/s400/370x400_1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5250603423440840914" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="color: rgb(51, 51, 51);   line-height: 18px; font-family:'Trebuchet MS';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Today was a huge day for Google and T-Mobile with the announcement of the first phone to come loaded with Android. The official release date of the &lt;/span&gt;&lt;a href="http://androidcommunity.com/g1-hits-october-22nd-for-179-20080923/" style="color: rgb(68, 85, 102); "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;T-Mobile G1&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; will be Wednesday October 22nd. &lt;/span&gt;&lt;a href="http://androidcommunity.com/t-mobile-g1-as-low-as-179-could-be-as-high-as-299-20080923/" style="color: rgb(68, 85, 102); "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Pre-sales started&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; immediately after the announcement for the upgrade price of $179.  The G1 has a 3.2-inch 320 x 480 (HVGA) resolution capacitive touchscreen, a flip-out full QWERTY keyboard, dual-band UMTS HSPA, quadband GSM/GPRS/EDGE, WiFi, GPS and Bluetooth.  There’s also a 3.2-megapixel fixed-focus camera, microSD slot (with a 1GB card provided and up to 8GB supported) and a trackball for navigation.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(51, 51, 51);   line-height: 18px;font-family:'Trebuchet MS';font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(51, 51, 51);   line-height: 18px;font-family:'Trebuchet MS';font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(51, 51, 51);   line-height: 18px;font-family:'Trebuchet MS';font-size:48px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(51, 51, 51);  line-height: 18px;font-family:'Trebuchet MS';"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Check that video: &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(51, 51, 51);  font-weight: bold; line-height: 18px;font-family:'Trebuchet MS';"&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UFN5cNpo7p4&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/UFN5cNpo7p4&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/hVHcybbuKCo&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/hVHcybbuKCo&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/MgkSZS6o050&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/MgkSZS6o050&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(51, 51, 51);  font-weight: bold; line-height: 18px;font-family:'Trebuchet MS';"&gt;&lt;a href="http://www.t-mobileg1.com/?WT.mc_t=OnsiteAd&amp;amp;WT.mc_n=G1PreRegProspect_home1"&gt;http://www.t-mobileg1.com/?WT.mc_t=OnsiteAd&amp;amp;WT.mc_n=G1PreRegProspect_home1&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(51, 51, 51);  font-weight: bold; line-height: 18px;font-family:'Trebuchet MS';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(51, 51, 51);  font-weight: bold; line-height: 18px;font-family:'Trebuchet MS';"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;Overview and Features:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(51, 51, 51);  font-weight: bold; line-height: 18px; text-decoration: underline;font-family:'Trebuchet MS';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(51, 51, 51);  font-weight: bold; line-height: 18px; text-decoration: underline;font-family:'Trebuchet MS';"&gt;&lt;a href="http://www.t-mobile.com/shop/phones/Cell-Phone-Detail.aspx?tp=tb1&amp;amp;cell-phone=T-Mobile-G1-with-Google---Black"&gt;http://www.t-mobile.com/shop/phones/Cell-Phone-Detail.aspx?tp=tb1&amp;amp;cell-phone=T-Mobile-G1-with-Google---Black&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(51, 51, 51);  font-weight: bold; line-height: 18px; text-decoration: underline;font-family:'Trebuchet MS';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(51, 51, 51);  font-weight: bold; line-height: 18px; font-family:'Trebuchet MS';"&gt;&lt;span class="Apple-style-span"   style="  font-weight: normal; line-height: normal; font-family:arial;font-size:12px;"&gt;&lt;img src="http://4.bp.blogspot.com/_wK9KWrjiI_Y/SN3pIW9Xn8I/AAAAAAAAAQk/rzl8LSGerdQ/s400/g1officialnewnew.jpg" style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" border="0" alt="" id="BLOGGER_PHOTO_ID_5250609070395072450" /&gt;&lt;div class="secondary_headline"  style="text-align: left; color: rgb(0, 51, 102);  width: 300px; padding-top: 15px; font-size:18px;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;Be in the know&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;Discover when the T-Mobile G1 hits the shelves s you can pick one up. Register now and be the first on your block to find out when it's available. &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="secondary_headline"  style="text-align: left; color: rgb(0, 51, 102);  width: 300px; padding-top: 15px; font-size:18px;"&gt;&lt;span class="Apple-style-span"  style="font-size:16px;"&gt;go to : &lt;/span&gt;&lt;/div&gt;&lt;div class="secondary_headline"  style="text-align: left; color: rgb(0, 51, 102);  width: 300px; padding-top: 15px; font-size:18px;"&gt;&lt;span class="Apple-style-span"  style="font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(51, 51, 51);  font-weight: bold; line-height: 18px;font-family:'Trebuchet MS';"&gt;&lt;a href="http://www.t-mobileg1.com/pre-order-g1-form.aspx"&gt;http://www.t-mobileg1.com/pre-order-g1-form.aspx&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(51, 51, 51);  font-weight: bold; line-height: 18px;font-family:'Trebuchet MS';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(51, 51, 51);  font-weight: bold; line-height: 18px;font-family:'Trebuchet MS';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(51, 51, 51);  font-weight: bold; line-height: 18px;font-family:'Trebuchet MS';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-2542075109467634544?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hq_UtBkXlNXvCWGge06VugWDdjM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hq_UtBkXlNXvCWGge06VugWDdjM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hq_UtBkXlNXvCWGge06VugWDdjM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hq_UtBkXlNXvCWGge06VugWDdjM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/4O5Q0ymo9Ec" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/4O5Q0ymo9Ec/t-mobile-g1-with-google-black.html</link><author>noreply@blogger.com (Bairam.!)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SN3j_qakKNI/AAAAAAAAAQc/RoXs2n4JaAg/s72-c/370x400_1.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/09/t-mobile-g1-with-google-black.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-400735137863176019</guid><pubDate>Tue, 26 Aug 2008 13:28:00 +0000</pubDate><atom:updated>2008-08-26T07:09:34.182-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Visual Studio.NET</category><category domain="http://www.blogger.com/atom/ns#">Tricks</category><category domain="http://www.blogger.com/atom/ns#">C#</category><category domain="http://www.blogger.com/atom/ns#">OOP</category><title>Shallow Copy vs Deep Copy in .NET</title><description>&lt;p&gt;hi Developers , &lt;/p&gt;&lt;p&gt;in that post, i am describing the difference between shallow and deep copy by the use of C# language.&lt;/p&gt;&lt;p&gt;shallow and deep copy are used for copying data between objects.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color:#0000ff;"&gt;&lt;u&gt;Shallow Copy:&lt;/u&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;creating a new object, and then copying the &lt;em&gt;nonstatic fields&lt;/em&gt; of the current object to the new object. &lt;/p&gt;&lt;p&gt;If a field is a &lt;strong&gt;value type &lt;/strong&gt;--&amp;gt; a bit-by-bit copy of the field is performed&lt;br /&gt;&lt;br /&gt;If a field is a &lt;strong&gt;reference type&lt;/strong&gt; --&amp;gt; the reference is copied but the referred object is not; therefore, the original object and its clone refer to the same object.&lt;/p&gt;&lt;p&gt;in C# and VB.NET, shallow copy is done by the object method &lt;strong&gt;&lt;span style="color:#008000;"&gt;MemberwiseClone()&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Example:&lt;/u&gt;&lt;/p&gt;&lt;p&gt;the following are clsShallow class to be cloned which include value types (like Age) and ref types (like EmpSalary is a class)&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span style="color:#009900;"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; clsShallow&lt;br /&gt;{&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; CompanyName = &lt;span class="str"&gt;"My Company"&lt;/span&gt;;&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; Age;&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; EmployeeName;&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; clsRefSalary EmpSalary;&lt;br /&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; clsShallow CreateShallowCopy(clsShallow inputcls)&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;return&lt;/span&gt; (clsShallow)inputcls.MemberwiseClone();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; clsRefSalary&lt;br /&gt;{&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; clsRefSalary(&lt;span class="kwrd"&gt;int&lt;/span&gt; _salary)&lt;br /&gt;    {&lt;br /&gt;        Salary = _salary;&lt;br /&gt;    }&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; Salary;&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;now, let us debug and trace the outputs to do the shallow copy by the use of &lt;strong&gt;CreateShallowCopy() &lt;/strong&gt;method&lt;/p&gt;&lt;p&gt;first, use the following code to call the CreateShallowCopy method from other classes&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;// Creates an instance of clsShallow and assign values to its fields.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;clsShallow objshallow = &lt;span class="kwrd"&gt;new&lt;/span&gt; clsShallow();&lt;br /&gt;objshallow.Age = 25;&lt;br /&gt;objshallow.EmployeeName = &lt;span class="str"&gt;"Ahmed Eid"&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;// add the ref value to the objshallow &lt;/span&gt;&lt;br /&gt;clsRefSalary clsref = &lt;span class="kwrd"&gt;new&lt;/span&gt; clsRefSalary(1000);&lt;br /&gt;objshallow.EmpSalary = clsref;&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;// Performs a shallow copy of m1 and assign it to m2.&lt;/span&gt;&lt;br /&gt;clsShallow m2 = objshallow.CreateShallowCopy(objshallow);&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;// then modify the clsref salary value to be 2000&lt;/span&gt;&lt;br /&gt;clsref.Salary = 2000;&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;// so the m1 object salary value become 2000&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;int&lt;/span&gt; EmpSalary = objshallow.EmpSalary.Salary;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;After assigning the values (value and ref types ones) to the object &lt;strong&gt;objShallow &lt;/strong&gt;and before doing the shallow copy&lt;br /&gt;&lt;u&gt;the values are :&lt;/u&gt; (for the current object value)&lt;br /&gt;Age : 25 (value type)&lt;br /&gt;EmpSalry: has salary value of 1000 (ref type)&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/Ahmad.Eed/SLQE0rhFhjI/AAAAAAAAAPw/9IpKrZzbhmg/s1600-h/shal1%5B5%5D.jpg"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="240" alt="shal1" src="http://lh5.ggpht.com/Ahmad.Eed/SLQE1o6eNGI/AAAAAAAAAP0/GM40qoeSBfQ/shal1_thumb%5B3%5D.jpg?imgmax=800" width="437" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;then do the shallow copy and modify the value of &lt;strong&gt;&lt;span style="color:#008000;"&gt;clsref.salary&lt;/span&gt;&lt;/strong&gt; ,reference field type, then check the values of &lt;strong&gt;m2 , &lt;/strong&gt;new created object.&lt;strong&gt; &lt;/strong&gt;(ref and value fields) again&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/Ahmad.Eed/SLQE2gclumI/AAAAAAAAAP4/3unYb2YaCG0/s1600-h/shal2%5B8%5D.jpg"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="268" alt="shal2" src="http://lh5.ggpht.com/Ahmad.Eed/SLQE3RAbicI/AAAAAAAAAP8/19H6h00t65s/shal2_thumb%5B6%5D.jpg?imgmax=800" width="436" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;u&gt;the values are : &lt;/u&gt;(for the new created object)&lt;br /&gt;Age : 25 (value type) a new copy of the objShallow object&lt;br /&gt;EmpSalry: has salary value of 2000 (ref type) a refernce to objShallow.EmpSalry object, which is also referenced to the &lt;strong&gt;clsref &lt;/strong&gt;object.&lt;/p&gt;&lt;p&gt;&lt;u&gt;Note:&lt;/u&gt; values of m2.EmpSalry and clsref are the same after modifying the clsref values. (&lt;u&gt;reference type concept&lt;/u&gt;)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color:#0000ff;"&gt;&lt;u&gt;Deep Copy:&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/strong&gt;creating a new object, and then copying the &lt;em&gt;nonstatic fields&lt;/em&gt; of the current object to the new object. &lt;/p&gt;&lt;p&gt;If a field is a &lt;strong&gt;value type &lt;/strong&gt;--&amp;gt; a bit-by-bit copy of the field is performed&lt;br /&gt;If a field is a &lt;strong&gt;reference type&lt;/strong&gt; --&amp;gt; a new copy of the referred object is performed.&lt;/p&gt;&lt;p&gt;&lt;u&gt;Note: &lt;/u&gt;the classes to be cloned must be flagged as [&lt;span style="color:#008000;"&gt;Serializable&lt;/span&gt;]&lt;/p&gt;&lt;p&gt;&lt;u&gt;Example:&lt;/u&gt;&lt;/p&gt;&lt;p&gt;the following are clsDeep class to be cloned which include value types (like Age) and ref types (like EmpSalary is a class)&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span style="color:#009900;"&gt;[Serializable]&lt;br /&gt;&lt;span class="rem"&gt;// serialize the classes in case of deep copy&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; clsDeep&lt;br /&gt;{&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; CompanyName = &lt;span class="str"&gt;"My Company"&lt;/span&gt;;&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; Age;&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; EmployeeName;&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; clsRefSalary EmpSalary;&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; clsDeep CreateDeepCopy(clsDeep inputcls)&lt;br /&gt;    {&lt;br /&gt;        MemoryStream m = &lt;span class="kwrd"&gt;new&lt;/span&gt; MemoryStream();&lt;br /&gt;        BinaryFormatter b = &lt;span class="kwrd"&gt;new&lt;/span&gt; BinaryFormatter();&lt;br /&gt;        b.Serialize(m, inputcls);&lt;br /&gt;        m.Position = 0;&lt;br /&gt;        &lt;span class="kwrd"&gt;return&lt;/span&gt; (clsDeep)b.Deserialize(m);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;[Serializable]&lt;br /&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; clsRefSalary&lt;br /&gt;{&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; clsRefSalary(&lt;span class="kwrd"&gt;int&lt;/span&gt; _salary)&lt;br /&gt;    {&lt;br /&gt;        Salary = _salary;&lt;br /&gt;    }&lt;br /&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; Salary;&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;now, let us debug and trace the outputs to do the deep copy by the use of &lt;strong&gt;CreateDeepCopy() &lt;/strong&gt;method&lt;/p&gt;&lt;p&gt;first, use the following code to call the CreateDeepCopy method from other classes&lt;br /&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span style="color:#009900;"&gt;&lt;span class="rem"&gt;// Creates an instance of clsDeep and assign values to its fields.&lt;/span&gt;&lt;br /&gt;clsDeep objdeep = &lt;span class="kwrd"&gt;new&lt;/span&gt; clsDeep();&lt;br /&gt;objdeep.Age = 25;&lt;br /&gt;objdeep.EmployeeName = &lt;span class="str"&gt;"Ahmed Eid"&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;// add the ref value&lt;/span&gt;&lt;br /&gt;clsRefSalary clsref = &lt;span class="kwrd"&gt;new&lt;/span&gt; clsRefSalary(1000);&lt;br /&gt;objdeep.EmpSalary = clsref;&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;// Performs a shallow copy of m1 and assign it to m2.&lt;/span&gt;&lt;br /&gt;clsDeep m2 = objdeep.CreateDeepCopy(objdeep);&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;// then modify the clsref salary value to be 2000 &lt;/span&gt;&lt;br /&gt;clsref.Salary = 2000;&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;// so the m1 object salary value become 2000&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;int&lt;/span&gt; EmpSalary = objdeep.EmpSalary.Salary;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;After assigning the values (value and ref types ones) to the object &lt;strong&gt;objDeep &lt;/strong&gt;and before doing the deep copy &lt;/p&gt;&lt;p&gt;&lt;u&gt;the values are :&lt;/u&gt; (for the current object value)&lt;br /&gt;Age : 25 (value type)&lt;br /&gt;EmpSalry: has salary value of 1000 (ref type)&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/Ahmad.Eed/SLQE4l1wPeI/AAAAAAAAAQA/NR_1NorvF-k/s1600-h/deep1%5B6%5D.jpg"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="283" alt="deep1" src="http://lh6.ggpht.com/Ahmad.Eed/SLQE6ZYUXyI/AAAAAAAAAQE/e_KL1pV5c1w/deep1_thumb%5B4%5D.jpg?imgmax=800" width="460" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;then do the deep copy and modify the value of &lt;strong&gt;&lt;span style="color:#008000;"&gt;clsref.salary&lt;/span&gt;&lt;/strong&gt; ,reference field type, then check the values of &lt;strong&gt;m2 , &lt;/strong&gt;new created object.&lt;strong&gt; &lt;/strong&gt;(ref and value fields) again&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/Ahmad.Eed/SLQE7JvQ03I/AAAAAAAAAQI/hYuaM7s1GP0/s1600-h/deep2%5B6%5D.jpg"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="282" alt="deep2" src="http://lh6.ggpht.com/Ahmad.Eed/SLQE8JSZqOI/AAAAAAAAAQM/LPKyvRULhhU/deep2_thumb%5B4%5D.jpg?imgmax=800" width="473" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;u&gt;the values are : &lt;/u&gt;(for the new created object)&lt;br /&gt;Age : 25 (value type) a new copy of the objDeep object&lt;br /&gt;EmpSalry: has salary value of 1000, a new copy of the objDeep object &lt;/p&gt;&lt;p&gt;&lt;u&gt;Note:&lt;/u&gt; values of m2.EmpSalry and objDeep.EmpSalary are not the same as deep copy creates a new object of the reference type (objDeep.EmpSalary) in m2.EmpSalry. but clsref and objDeep.EmpSalary are the same (Refernce type concept)&lt;/p&gt;&lt;p&gt;&lt;u&gt;With the help of Google&lt;/u&gt; I found a very smart method for performing deep copy. Its performance is good than the one i used on that post.&lt;/p&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// Using generics will solve some performance issues&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// &amp;lt;typeparam name="T"&amp;gt;&amp;lt;/typeparam&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// &amp;lt;param name="item"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; T DeepCopy&amp;lt;T&amp;gt;(T item)&lt;br /&gt;{&lt;br /&gt;    BinaryFormatter formatter = &lt;span class="kwrd"&gt;new&lt;/span&gt; BinaryFormatter();&lt;br /&gt;    MemoryStream stream = &lt;span class="kwrd"&gt;new&lt;/span&gt; MemoryStream();&lt;br /&gt;    formatter.Serialize(stream, item);&lt;br /&gt;    stream.Seek(0, SeekOrigin.Begin);&lt;br /&gt;    T result = (T)formatter.Deserialize(stream);&lt;br /&gt;    stream.Close();&lt;br /&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; result;&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt&lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;p&gt;i hope that post help you to deeply understand the difference b/w shallw and deep copy in .NET&lt;/p&gt;&lt;p dir="ltr" align="left"&gt;&lt;/p&gt;&lt;p&gt;Ahmed Eid&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-400735137863176019?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iE8DuFtBtUGlE721E1-vrzmNLrI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iE8DuFtBtUGlE721E1-vrzmNLrI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iE8DuFtBtUGlE721E1-vrzmNLrI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iE8DuFtBtUGlE721E1-vrzmNLrI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/iL8eYzYCYcw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/iL8eYzYCYcw/shallow-copy-vs-deep-copy-in-net.html</link><author>noreply@blogger.com (Bairam.!)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/Ahmad.Eed/SLQE1o6eNGI/AAAAAAAAAP0/GM40qoeSBfQ/s72-c/shal1_thumb%5B3%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/08/shallow-copy-vs-deep-copy-in-net.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-6285087855746520299</guid><pubDate>Sun, 24 Aug 2008 11:43:00 +0000</pubDate><atom:updated>2008-08-24T04:58:04.223-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Visual Studio.NET</category><category domain="http://www.blogger.com/atom/ns#">Coding Standards</category><category domain="http://www.blogger.com/atom/ns#">Architecture / Design</category><title>Code Review Checklist</title><description>&lt;div&gt;By the use of coding standards as i disscussed here &lt;a href="http://www.ahmadeed.blogspot.com/2008/08/net-coding-standards.html"&gt;View&lt;/a&gt; , developers can review their tasks using the following check list:&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SLFMrRqRgII/AAAAAAAAAPo/Xl7rHvOsPzY/s1600-h/checklist.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5238052147967393922" style="WIDTH: 506px; CURSOR: hand; HEIGHT: 502px" height="400" alt="" src="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SLFMrRqRgII/AAAAAAAAAPo/Xl7rHvOsPzY/s400/checklist.JPG" width="506" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-6285087855746520299?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NNGWedSB97lovFXwWrHKy0MX5ao/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NNGWedSB97lovFXwWrHKy0MX5ao/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NNGWedSB97lovFXwWrHKy0MX5ao/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NNGWedSB97lovFXwWrHKy0MX5ao/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/YrKQhMe18XU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/YrKQhMe18XU/code-review-checklist.html</link><author>noreply@blogger.com (Bairam.!)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SLFMrRqRgII/AAAAAAAAAPo/Xl7rHvOsPzY/s72-c/checklist.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/08/code-review-checklist.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-6507963937563666615</guid><pubDate>Sun, 24 Aug 2008 09:00:00 +0000</pubDate><atom:updated>2008-08-24T03:05:41.447-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Visual Studio.NET</category><category domain="http://www.blogger.com/atom/ns#">Coding Standards</category><category domain="http://www.blogger.com/atom/ns#">Architecture / Design</category><category domain="http://www.blogger.com/atom/ns#">SQL Server</category><title>.NET Coding Standards</title><description>&lt;p&gt;Hi .NET developers and team leaders,&lt;/p&gt;&lt;p&gt;According to my practical work on &lt;strong&gt;Microsoft Visual Studio.NET&lt;/strong&gt;, it were obligated to use standards for coding, design and implementation. I readed carefully about standards and naming conventions from multiple sources and summarized it then added some modifications to unify our .NET development among the team.&lt;/p&gt;&lt;p&gt;This topic defines some of the standards related to the formatting, naming conventions, and organization for any code written for software development.&lt;/p&gt;&lt;p&gt;All developers implementing HTML, Active Server Pages (ASP) and .NET application should comply with the standards outlined below. Also, each Development manager should strictly enforce these standards during all phases of application development. This document should be used as a guiding principle during all source code reviews and sign-off.&lt;/p&gt;&lt;p&gt;the following are some headlines of our coding standards to be discussed here:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Documentation &lt;ul&gt;&lt;li&gt;&lt;a name="_Toc119822766"&gt;File Header&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a name="_Toc119822765"&gt;In line Comments&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Naming Conventions &lt;ul&gt;&lt;li&gt;visual studio.NET &lt;ul&gt;&lt;li&gt;&lt;a name="_Toc119822768"&gt;Files Name&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a name="_Toc119822769"&gt;Files Structure&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a name="_Toc119822770"&gt;Class Names&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a name="_Toc119822771"&gt;Methods Names&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a name="_Toc119822772"&gt;&lt;/a&gt;&lt;a name="_Toc445275230"&gt;&lt;/a&gt;&lt;a name="_Toc445170009"&gt;&lt;/a&gt;&lt;a name="_Toc416770857"&gt;&lt;/a&gt;&lt;a name="_Toc404151394"&gt;&lt;/a&gt;&lt;a name="_Toc398715555"&gt;&lt;/a&gt;&lt;a name="_Toc398715372"&gt;Variable&lt;/a&gt;s&lt;/li&gt;&lt;li&gt;&lt;a name="_Toc119822773"&gt;Control Names&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Database &lt;ul&gt;&lt;li&gt;&lt;a name="_Toc119822774"&gt;Tables&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a name="_Toc119822774"&gt;Table&lt;/a&gt; &lt;a name="_Toc119822775"&gt;Fields&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a name="_Toc119822776"&gt;Views&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a name="_Toc119822777"&gt;Stored Procedures&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a name="_Toc119822778"&gt;Triggers&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Hints and Remarks&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;OK, lets start describing the following items:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="color:#0000ff;"&gt;Documentation&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ol&gt;&lt;blockquote&gt;&lt;p&gt;You should know that work on a team and may be you leave them for another company, so you should document your work task by task. I followed a lot of problems to understand friends' code on my team after moving to another company. &lt;strong&gt;&lt;u&gt;Story&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I were working on &lt;strong&gt;Human resource management system &lt;/strong&gt;on my company, and after movement of some colleagues to another company i faced difficulty to understand their codes especially the ones which are not documented. so i asked from my team leader to re-implement some works of it and he approved my point.&lt;/p&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;a name="_Toc119822766"&gt;File Header&lt;/a&gt; The File header should include:&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;///////////////////////////////////////&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// creator name: Ahmed Eid&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// creation date: 1 jan 2008&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// description  : Handles the submittion of Adduser.aspx&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// edited By    : Hany Mohamed&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// updated date: 2 feb 2003&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// reason for update: fixing number over flow bug&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;///////////////////////////////////////&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;u&gt;Note&lt;/u&gt;: if developers use visual source safe or TFS , it will be easy to track the changes of file modifications.&lt;/p&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;a name="_Toc119822765"&gt;In line Comments&lt;/a&gt; developers should document methods and each line code need to documented within classes.&lt;br /&gt;&lt;br /&gt;Method documentation:&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// Here is the description of method functionality&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// &amp;lt;param name="Param1"&amp;gt;describe each param usage&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// &amp;lt;param name="Param2"&amp;gt;describe each param usage&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;/// &amp;lt;param name="Param3"&amp;gt;describe each param usage&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; DoSomeThing(&lt;span class="kwrd"&gt;int&lt;/span&gt; Param1,&lt;span class="kwrd"&gt;string&lt;/span&gt; Param2,&lt;span class="kwrd"&gt;out&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; Param3)&lt;br /&gt;{&lt;br /&gt;    &lt;span class="rem"&gt;// do somethiong method&lt;/span&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;u&gt;Note&lt;/u&gt;: if you finished method signature, only write &lt;span class="rem"&gt;///&lt;/span&gt; on the line above your method to prepare the documentation as above.&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Inline documentation:&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;if the code lines need to be described, you must do to be reference for all of reviewing that code ( &lt;u&gt;may be you return back to your code but you could not understand it&lt;/u&gt; &lt;img alt="smile_regular" src="http://spaces.live.com/rte/emoticons/smile_regular.gif" /&gt; ) &lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2. &lt;span style="color:#0000ff;"&gt;Naming Conventions&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;u&gt;visual studio.NET&lt;/u&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a name="_Toc119822768"&gt;Files Name&lt;/a&gt; Files should be named a descriptive name and they should not be named with numbers for example: submitorder1.asp , submitorder2.asp … &lt;u&gt;Descriptive file name samples:&lt;/u&gt; &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;adduser.aspx&lt;/li&gt;&lt;li&gt;viewUserDetails.aspx&lt;/li&gt;&lt;li&gt;viewAccoutStatus.aspx&lt;/li&gt;&lt;li&gt;reportUsersPerCountry.aspx&lt;/li&gt;&lt;li&gt;For shadow pages(pages that execute code on the server and redirects the user) acAdduser.aspx (ac is for action)reGenerateAccessXML.aspx &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;According to the use of DNN we will add a prefix [ &lt;span style="color:#008040;"&gt;mod_ &lt;/span&gt;] to user controls names if this UC will be defined as DNN module Ex. Mod_ adduser.ascx &lt;/p&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a name="_Toc119822769"&gt;Files Structure&lt;/a&gt; A well structure should always be in place; the files should not all be under one folder. Structure can be defined according to factors:&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Based on application business purpose normally for public site &lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;/ (Root)&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;Product-X&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;Admin&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;AddUser.aspx&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;EditUser.aspx&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;....&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;Registeration&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;Register.aspx&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;Confirm.aspx&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;EditUser.aspx&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;....&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;Product-Y&lt;/span&gt; &lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;...&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;Component-X (&lt;u&gt;may be other .NET application added to solution&lt;/u&gt;)&lt;/span&gt; &lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;...&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;Reports&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;...&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;...etc &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Class Name: Class Names should be Nouns and the First letter of the class name should be Caps and the rest of the name should be small. &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;u&gt;Samples:&lt;/u&gt;&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;Connection (good old ADO connection)&lt;/li&gt;&lt;li&gt;User&lt;/li&gt;&lt;li&gt;Product This class names shows that a class is an entity that performs an action. Not the action itself.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Hence class names like these&lt;/p&gt;&lt;ul&gt;&lt;li&gt;ManageUsers &lt;/li&gt;&lt;li&gt;DbFunctions &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;p&gt;Naming above gives the idea of something wrong in the design/implementation itself.&lt;br /&gt;Correct naming is:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Users or UserManagement&lt;/li&gt;&lt;li&gt;DbAccessLayer&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;This case pplies on everything (almost) except for the static classes like those who has global functionality. And supports other class&lt;/p&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a name="_Toc119822771"&gt;Methods Names&lt;/a&gt; Methods Names should be verbs and it should be written with the Camel Naming convention system which is to write every first letter of the name with CAPS and the rest small without the verb itself example: GetUserInfo(), GetUserPassword()&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a name="_Toc119822772"&gt;&lt;/a&gt;&lt;a name="_Toc445275230"&gt;&lt;/a&gt;&lt;a name="_Toc445170009"&gt;&lt;/a&gt;&lt;a name="_Toc416770857"&gt;&lt;/a&gt;&lt;a name="_Toc404151394"&gt;&lt;/a&gt;&lt;a name="_Toc398715555"&gt;&lt;/a&gt;&lt;a name="_Toc398715372"&gt;Variable&lt;/a&gt;s&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;p&gt;° Variables name should never be x , y, z or i or any other chars that are not descriptive.&lt;/p&gt;&lt;p&gt;° Variables names should consists of the first letter of the variable type and the rest should be the use of the variable&lt;/p&gt;&lt;p&gt;° Variables name should be written using the Camel Naming convention system. Example: iUserId, sUserName&lt;/p&gt;&lt;p&gt;° Boolean Variables should be Positive sense Names example: isEmpty, isActive&lt;/p&gt;&lt;p&gt;&lt;span style="color:#0000ff;"&gt;integer&lt;/span&gt; --&amp;gt; iUserId&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;double&lt;/span&gt; --&amp;gt; dBasicSalary&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; --&amp;gt; sName&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;float&lt;/span&gt; --&amp;gt; fPercent&lt;br /&gt;..... and so on&lt;/p&gt;&lt;p&gt;&lt;u&gt;Note:&lt;/u&gt; you can customize your naming conventions as you like you must keep that standard among team. you may write &lt;span style="color:#0000ff;"&gt;string &lt;/span&gt;as strName&lt;/p&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;a name="_Toc119822773"&gt;Control Names&lt;/a&gt; The following list of Control Names is to be used when creating names for HTML elements, Control names. When naming an element, the prefix is concatenated with a unique name for the element.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Label  --&gt; LblCountryName&lt;br /&gt;TextBox --&gt; txtCountryName&lt;br /&gt;CheckBox --&gt; chkCountry&lt;br /&gt;Optionbox --&gt; optCountry&lt;br /&gt;drobdownlist --&gt; ddlCountry&lt;br /&gt;Combobox --&gt; cmbCountry&lt;br /&gt;ListBox --&gt; lstCountry&lt;br /&gt;Button --&gt; btnCountry&lt;br /&gt;TreeView--&gt;  trvCountry&lt;br /&gt;ListView --&gt; lstvCountry&lt;br /&gt;Progressbar --&gt; pbCountry&lt;br /&gt;DataGrid --&gt; dgCountry&lt;br /&gt;Repeater --&gt; rptCountry&lt;br /&gt;DataList --&gt; dlCountry&lt;br /&gt;Image --&gt; imgCountr&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;strong&gt;Database&lt;/strong&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a name="_Toc119822774"&gt;Tables&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Tables’ names will not start with any initials but rather with the name right away.&lt;br /&gt;&lt;i&gt;For example&lt;/i&gt;: Customers instead of [Database prefix]_TableName. like : &lt;b&gt;&lt;i&gt;hr_&lt;/i&gt; Employees &lt;/b&gt;- Tables’ names should not contain any spaces whatsoever (all spaces should be replaced with underscores).&lt;br /&gt;- Tables’ names should be plural when applicable. &lt;i&gt;For example&lt;/i&gt;: Users not User, Customers not Customer. · All tables’ names should be descriptive.&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;&lt;a name="_Toc119822774"&gt;Table&lt;/a&gt; &lt;a name="_Toc119822775"&gt;Fields&lt;/a&gt; &lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#008000;"&gt;pfk = primary foreign key &amp;amp; lfk = logical foreign key&lt;/span&gt;&lt;/li&gt;&lt;li&gt;All fields’ names should be descriptive&lt;/li&gt;&lt;li&gt;For the identity it will be AutoId For the foreign key it will be prefix_fieldName &lt;/li&gt;&lt;ul&gt;&lt;li&gt;The foreign key from another table of the current database will be &lt;b&gt;pfk_CustomerId &lt;/b&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The foreign key from another database table or external file structure like XML,..etc will be &lt;b&gt;lfk_userI&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Fields names should not contain any spaces whatsoever (all spaces should be replaced with underscores) &lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a name="_Toc119822776"&gt;Views&lt;/a&gt; &lt;/li&gt;&lt;ul&gt;&lt;li&gt;All views’ names should be descriptive&lt;/li&gt;&lt;li&gt;All views names should start with database prefix &lt;i&gt;For example:&lt;/i&gt; hrvw_Employee&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a name="_Toc119822777"&gt;Stored Procedures&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;All stored procedures’ names should be descriptive&lt;/li&gt;&lt;li&gt;All stored procedure names should start with a database prefix instead of SP since system stored procedures start with sp. &lt;i&gt;For example:&lt;/i&gt; hr_AddEmployee&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;and so on .....&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3. &lt;span style="color:#0000ff;"&gt;Hints and Remarks&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Avoid Late Binding&lt;/li&gt;&lt;li&gt;Use StringBuilder class for string manipulation (don’t use string class)&lt;/li&gt;&lt;li&gt;Web Development should also Cache there Page&lt;/li&gt;&lt;li&gt;Developer has to use the .NET field validation for each of the following validation &lt;/li&gt;&lt;ul&gt;&lt;li&gt;Mandatory&lt;/li&gt;&lt;li&gt;Email format&lt;/li&gt;&lt;li&gt;Phone Format&lt;/li&gt;&lt;li&gt;Range like the age range&lt;/li&gt;&lt;li&gt;Password and password confirmation Comparison&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Errors messages: &lt;/li&gt;&lt;ul&gt;&lt;li&gt;Should be spell checked &lt;/li&gt;&lt;li&gt;Should be in a proper and consistent format&lt;/li&gt;&lt;li&gt;Correct messages are displayed for each condition&lt;/li&gt;&lt;li&gt;Messages useful &amp;amp; meaningful for the user (e.g. “Driver error 80004005” will not be understood by a normal user)&lt;/li&gt;&lt;li&gt;Different errors are handled by different messages (invalid data types &amp;amp; entry length can not have the same message)&lt;/li&gt;&lt;li&gt;All Javascripts and VB scripts should be in one block in the beginning or the end of the file&lt;/li&gt;&lt;li&gt;All HTML tags should be small letters&lt;/li&gt;&lt;li&gt;Any developer using .NET should use regions when ever possible to have a better and easier look at his code&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;p&gt;these are some coding standards we use on .NET environment development. so you could follow them or customize it to match your case.&lt;/p&gt;&lt;p&gt;if you have any inquiry about that topic, please don't hesitate to contact me at &lt;a href="mailto:aes_fci@hotmail.com"&gt;aes_fci@hotmail.com&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Thanks&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-6507963937563666615?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VgZWX8D1Vouzf_2z2U53p1oCZIk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VgZWX8D1Vouzf_2z2U53p1oCZIk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VgZWX8D1Vouzf_2z2U53p1oCZIk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VgZWX8D1Vouzf_2z2U53p1oCZIk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/4IKq2l-h56w" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/4IKq2l-h56w/net-coding-standards.html</link><author>noreply@blogger.com (Bairam.!)</author><thr:total>1</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/08/net-coding-standards.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-8399601017999740377</guid><pubDate>Tue, 19 Aug 2008 14:32:00 +0000</pubDate><atom:updated>2008-08-24T03:06:36.464-07:00</atom:updated><title>SQL Server 2005 - Merge Replication Step by Step Procedure</title><description>&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Replication&lt;/strong&gt; is a set of technologies for copying and distributing data and database objects from one database to another and then synchronizing between databases to maintain consistency. Using replication, you can distribute data to different locations and to remote or mobile users over local and wide area networks, dial-up connections, wireless connections, and the Internet.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Replication&lt;/b&gt; is the process of sharing data between databases in different locations. Using replication, we can create copies of the database and share the copy with different users so that they can make changes to their local copy of database and later synchronize the changes to the source database.&lt;/p&gt;&lt;h4&gt;Terminologies before getting started:&lt;/h4&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Microsoft SQL Server 2000 supports the following types of replication&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;b&gt;Publisher&lt;/b&gt; is a server that makes the data available for subscription to other servers. In addition to that, publisher also identifies what data has changed at the subscriber during the synchronizing process. Publisher contains &lt;b&gt;publication(s)&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Subscriber&lt;/b&gt; is a server that receives and maintains the published data. Modifications to the data at subscriber can be propagated back to the publisher.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Distributor&lt;/b&gt; is the server that manages the flow of data through the replication system. Two types of distributors are present, one is remote distributor and the other one local distributor. Remote distributor is separate from publisher and is configured as distributor for replication. Local distributor is a server that is configured as publisher and distributor.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Agents&lt;/b&gt; are the processes that are responsible for copying and distributing data between publisher and subscriber. There are different types of agents supporting different types of replication.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Snapshot Agent&lt;/strong&gt; is an executable file that prepares snapshot files containing schema and data of published tables and database objects, stores the files in the snapshot folder, and records synchronization jobs in the distribution database.&lt;/p&gt;&lt;p&gt;An &lt;b&gt;article&lt;/b&gt; can be any database object, like Tables (Column filtered or Row filtered), Views, Indexed views, Stored Procedures, and User defined functions.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Publication&lt;/b&gt; is a collection of articles.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Subscription&lt;/b&gt; is a request for copy of data or database objects to be replicated.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/Ahmad.Eed/SKrY6TlyfaI/AAAAAAAAANg/CyWanb5WRm0/arc%5B8%5D.png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="481" alt="arc" src="http://lh3.ggpht.com/Ahmad.Eed/SKrY7-pd_kI/AAAAAAAAANk/6OrGpFVoRF4/arc_thumb%5B6%5D.png" width="474" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;h4&gt;Replication Types&lt;/h4&gt;&lt;p&gt;Microsoft SQL Server 2005 supports the following types of replication:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Snapshot Replication &lt;/li&gt;&lt;li&gt;Transactional Replication &lt;/li&gt;&lt;li&gt;Merge Replication &lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Snapshot Replication&lt;/h5&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;Snapshot replication is also known as static replication. Snapshot replication copies and distributes data and database objects exactly as they appear at the current moment in time. &lt;/li&gt;&lt;li&gt;Subscribers are updated with complete modified data and not by individual transactions, and are not continuous in nature. &lt;/li&gt;&lt;li&gt;This type is mostly used when the amount of data to be replicated is small and data/DB objects are static or does not change frequently. &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;h5&gt;Transactional Replication&lt;/h5&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;Transactional replication is also known as dynamic replication. In transactional replication, modifications to the publication at the publisher are propagated to the subscriber incrementally. &lt;/li&gt;&lt;li&gt;Publisher and the subscriber are always in synchronization and should always be connected. &lt;/li&gt;&lt;li&gt;This type is mostly used when subscribers always need the latest data for processing. &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;h5&gt;Merge replication&lt;/h5&gt;&lt;p&gt;It allows making autonomous changes to replicated data on the Publisher and on the Subscriber. With merge replication, SQL Server captures all incremental data changes in the source and in the target databases, and reconciles conflicts according to rules you configure or using a custom resolver you create. Merge replication is best used when you want to support autonomous changes on the replicated data on the Publisher and on the Subscriber.&lt;/p&gt;&lt;p&gt;Replication agents involved in merge replication are snapshot agent and merge agent.&lt;/p&gt;&lt;p&gt;Implement merge replication if, changes are made constantly at the publisher and subscribing servers, and must be merged in the end.&lt;/p&gt;&lt;p&gt;By default, the publisher wins all conflicts that it has with subscribers because it has the highest priority. Conflict resolver can be customized&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;strong&gt;&lt;u&gt;Before starting the replication process:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;assume that we have 2 server:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;EGYPT-AEID&lt;/strong&gt;: is the publisher server ( contains HRatPublisher )&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SPS&lt;/strong&gt;:&lt;strong&gt; &lt;/strong&gt;is the subscriber server ( contains HRatSubscriber )&lt;br /&gt;&lt;em&gt;use SQL server Authentication mode for login&lt;/em&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;p&gt;on the publisher database i created table: Employees with fields of (ID, Name, Salary) to replicate its data to the subscriber server.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;i will use publisher as subscriber also&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Note: Check that SQL Server Agent is running on the publisher and the subscriber&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;strong&gt;Steps:&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Open SQL Server&lt;strong&gt; &lt;/strong&gt;Management Studio and login with &lt;em&gt;SQL Server Authentication&lt;/em&gt; to configure Publishing, Subscribers, and Distribution&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/Ahmad.Eed/SKrY8likP0I/AAAAAAAAANo/OxytMHIKWuc/1%5B4%5D.png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="381" alt="1" src="http://lh5.ggpht.com/Ahmad.Eed/SKrY-OEatTI/AAAAAAAAANs/uSzK8kTN9AQ/1_thumb%5B2%5D.png" width="293" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;u&gt;a- Configure the appropriate server as publisher or distributor.&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;&lt;a href="http://lh3.ggpht.com/Ahmad.Eed/SKrY_ayjq6I/AAAAAAAAANw/xGXLs8JHHxI/2%5B9%5D.jpg"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="465" alt="2" src="http://lh6.ggpht.com/Ahmad.Eed/SKrZATySalI/AAAAAAAAAN0/oT8R9cKqhVI/2_thumb%5B7%5D.jpg" width="503" border="0" /&gt;&lt;/a&gt; &lt;/u&gt;&lt;/p&gt;&lt;p&gt;b- Enable the appropriate database for merge replication&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/Ahmad.Eed/SKrZBqcUpyI/AAAAAAAAAN4/OGIyTwE4Wqc/pub%20db%5B3%5D.png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="407" alt="pub db" src="http://lh3.ggpht.com/Ahmad.Eed/SKrZCSN3bqI/AAAAAAAAAN8/7-sDd29FIxY/pub%20db_thumb%5B1%5D.png" width="498" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;2- Create new local publication from DB-Server --&amp;gt; Replication --&amp;gt; Local Publications --&amp;gt; Right Click --&amp;gt; New Pub&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/Ahmad.Eed/SKrZDJLsxUI/AAAAAAAAAOA/kvRxPfQ_N8Q/bub1%5B4%5D.jpg"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="353" alt="bub1" src="http://lh3.ggpht.com/Ahmad.Eed/SKrZD1JdHxI/AAAAAAAAAOE/i4hY84VV8hw/bub1_thumb%5B2%5D.jpg" width="496" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;then choose the database that contains the data or objects you want to replicate&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/Ahmad.Eed/SKrZEoX2TZI/AAAAAAAAAOI/6AhVJ0Pf9zc/image%5B39%5D.png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="431" alt="image" src="http://lh5.ggpht.com/Ahmad.Eed/SKrZFIDOD2I/AAAAAAAAAOM/WoEQml1R_NE/image_thumb%5B21%5D.png" width="514" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;then choose the replication type and then specify the SQL server versions that will be used by subscribers to that publication like SQL Server 2005, SQL mobile Edition, SQL for Win CE ....etc&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/Ahmad.Eed/SKrZGpcRlbI/AAAAAAAAAOQ/RDrcMSQnpKo/bub4%5B6%5D.png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="300" alt="bub4" src="http://lh6.ggpht.com/Ahmad.Eed/SKrZIi-FDoI/AAAAAAAAAOU/Q-il9-rhL5c/bub4_thumb%5B4%5D.png" width="529" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;after that manage the replication articles, data and db objects, by choosing objects to be replicated &lt;/p&gt;&lt;p&gt;Note: you can manage the replication properties for selected objects&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/Ahmad.Eed/SKrZJSzVveI/AAAAAAAAAOY/gmj5wh8ll0Q/bub5%5B6%5D.jpg"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="343" alt="bub5" src="http://lh4.ggpht.com/Ahmad.Eed/SKrZKJCtK6I/AAAAAAAAAOc/BYiWoCab-6A/bub5_thumb%5B4%5D.jpg" width="522" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Then add filters to published tables to optimize performance and then configure the &lt;strong&gt;snapshot agent&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/Ahmad.Eed/SKrZLJ4VoQI/AAAAAAAAAOg/eP-TA6VSd9U/bub6%5B8%5D.jpg"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="334" alt="bub6" src="http://lh5.ggpht.com/Ahmad.Eed/SKrZL_evRyI/AAAAAAAAAOk/aLVsEtf9Ees/bub6_thumb%5B6%5D.jpg" width="509" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/Ahmad.Eed/SKrZMhbp6II/AAAAAAAAAOo/lXtt8Ie1MSI/bub7%5B7%5D.png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="454" alt="bub7" src="http://lh4.ggpht.com/Ahmad.Eed/SKrZOHxt6bI/AAAAAAAAAOs/UArvqFeq678/bub7_thumb%5B5%5D.png" width="493" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;and configure the security for snapshot agent &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/Ahmad.Eed/SKrZO_QhzVI/AAAAAAAAAOw/PvtmDzeh5qE/bub8%5B9%5D.jpg"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="392" alt="bub8" src="http://lh3.ggpht.com/Ahmad.Eed/SKrZQIZYwnI/AAAAAAAAAO0/De57O7g-go0/bub8_thumb%5B7%5D.jpg" width="509" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;finally rename the publication and click finish&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/Ahmad.Eed/SKrZRhhT_GI/AAAAAAAAAO4/fj9DP2yMGrQ/bub9%5B4%5D.png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="350" alt="bub9" src="http://lh3.ggpht.com/Ahmad.Eed/SKrZS2p9cBI/AAAAAAAAAO8/XZ6HzG1OWJM/bub9_thumb%5B2%5D.png" width="496" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;3- create a new subscription for the created "&lt;strong&gt;MyPublication01&lt;/strong&gt;" Publication by right click on MyPublication01 --&amp;gt; New Subscription&lt;/p&gt;&lt;p&gt;that to configure the "Merge Agent" for replication on the subscriber database&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/Ahmad.Eed/SKrZTe4yTGI/AAAAAAAAAPA/70qfzfUEPAY/pub10%5B4%5D.jpg"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="270" alt="pub10" src="http://lh5.ggpht.com/Ahmad.Eed/SKrZUMCGG-I/AAAAAAAAAPE/_KMmUodoCOU/pub10_thumb%5B2%5D.jpg" width="471" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/Ahmad.Eed/SKrZU-zTPuI/AAAAAAAAAPI/3qVHBFVhX7A/bub11%5B8%5D.jpg"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="360" alt="bub11" src="http://lh6.ggpht.com/Ahmad.Eed/SKrZVgtVJBI/AAAAAAAAAPM/n3DvyySVO28/bub11_thumb%5B6%5D.jpg" width="464" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;then choose one or more subscriber databases. you can add new &lt;strong&gt;SQL Server subscribers&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/Ahmad.Eed/SKrZWbT5fvI/AAAAAAAAAPQ/3aPlg_d6KEw/image%5B27%5D.png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="331" alt="image" src="http://lh6.ggpht.com/Ahmad.Eed/SKrZXco2FyI/AAAAAAAAAPU/0BlByfv32k0/image_thumb%5B13%5D.png" width="480" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;then specify the Merge Agent security as mentioned above on "Agent Snapshot"&lt;/p&gt;&lt;p&gt;and so specify the synchronization schedule for each agent.&lt;/p&gt;&lt;p&gt;Schedules:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Run Continuously: add schedule times to be auto run continuously &lt;/li&gt;&lt;li&gt;Run on demand only: manually run the synchronization &lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/Ahmad.Eed/SKrZXz5M2oI/AAAAAAAAAPY/2ZH5dRTi-a8/image%5B32%5D.png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="382" alt="image" src="http://lh4.ggpht.com/Ahmad.Eed/SKrZY_oactI/AAAAAAAAAPc/mrd_FgAZ9Tc/image_thumb%5B16%5D.png" width="479" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;and then next up to final step, then click finish&lt;/p&gt;&lt;p&gt;you can check the errors from "Replication Monitor" by right click on Local Replication --&amp;gt; Launch Replication Monitor&lt;/p&gt;&lt;h5&gt;Advantages in Replication:&lt;/h5&gt;&lt;p&gt;Users can avail the following advantages by using replication process:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Users working in different geographic locations can work with their local copy of data thus allowing greater autonomy. &lt;/li&gt;&lt;li&gt;Database replication can also supplement your disaster-recovery plans by duplicating the data from a local database server to a remote database server. If the primary server fails, your applications can switch to the replicated copy of the data and continue operations. &lt;/li&gt;&lt;li&gt;You can automatically back up a database by keeping a replica on a different computer. Unlike traditional backup methods that prevent users from getting access to a database during backup, replication allows you to continue making changes online. &lt;/li&gt;&lt;li&gt;You can replicate a database on additional network servers and reassign users to balance the loads across those servers. You can also give users who need constant access to a database their own replica, thereby reducing the total network traffic. &lt;/li&gt;&lt;li&gt;Database-replication logs the selected database transactions to a set of internal replication-management tables, which can then be synchronized to the source database. Database replication is different from file replication, which essentially copies files.&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Replication Performance Tuning Tips:&lt;/h5&gt;&lt;ul&gt;&lt;li&gt;By distributing partitions of data to different Subscribers. &lt;/li&gt;&lt;li&gt;When running SQL Server replication on a dedicated server, consider setting the minimum memory amount for SQL Server to use from the default value of 0 to a value closer to what SQL Server normally uses. &lt;/li&gt;&lt;li&gt;Don’t publish more data than you need. Try to use Row filter and Column filter options wherever possible as explained above. &lt;/li&gt;&lt;li&gt;Avoid creating triggers on tables that contain subscribed data. &lt;/li&gt;&lt;li&gt;Applications that are updated frequently are not good candidates for database replication. &lt;/li&gt;&lt;li&gt;For best performance, avoid replicating columns in your publications that include &lt;code&gt;TEXT&lt;/code&gt;, &lt;code&gt;NTEXT&lt;/code&gt; or &lt;code&gt;IMAGE&lt;/code&gt; data types. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;if you have any inquiry about that topic, please don't hesitate to contact me at &lt;a href="mailto:aes_fci@hotmail.com"&gt;aes_fci@hotmail.com&lt;/a&gt;&lt;/p&gt;&lt;p&gt;thanks &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-8399601017999740377?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Mmck_HLEeaRswvO0mmiHDhUQKao/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Mmck_HLEeaRswvO0mmiHDhUQKao/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Mmck_HLEeaRswvO0mmiHDhUQKao/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Mmck_HLEeaRswvO0mmiHDhUQKao/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/AY2Dm6aYZ5g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/AY2Dm6aYZ5g/sql-server-2005-merge-replication-step.html</link><author>noreply@blogger.com (Bairam.!)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/Ahmad.Eed/SKrY7-pd_kI/AAAAAAAAANk/6OrGpFVoRF4/s72-c/arc_thumb%5B6%5D.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/08/sql-server-2005-merge-replication-step.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-2747855125306284212</guid><pubDate>Mon, 18 Aug 2008 13:29:00 +0000</pubDate><atom:updated>2008-08-23T03:14:57.122-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PostGraduate</category><category domain="http://www.blogger.com/atom/ns#">Exams and Certifications</category><title>Pre-Master Final Project (Reverse Query Processing)</title><description>&lt;p&gt;Hi, &lt;/p&gt;&lt;p&gt;On Sep 2007, I joined faculty of computers and information at Cairo university for achieving master degree on computer science. This year was full study stage for 6 courses which are:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Information System Development Methodologies&lt;/li&gt;&lt;li&gt;Natural Language Processing&lt;/li&gt;&lt;li&gt;Object Oriented Database&lt;/li&gt;&lt;li&gt;Databases Systems&lt;/li&gt;&lt;li&gt;Data Mining&lt;/li&gt;&lt;li&gt;E-Commerce&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;with these courses there is a final project to pass for master registration.&lt;br /&gt;I started to survey about opened topics on computer science fields like&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Parallel and Distributed Computing&lt;/li&gt;&lt;li&gt;Requirements Engineering&lt;/li&gt;&lt;li&gt;Software Engineering&lt;/li&gt;&lt;li&gt;Web Based Decision Support Systems&lt;/li&gt;&lt;li&gt;Advances in Data and Knowledge Engineering&lt;/li&gt;&lt;li&gt;Data Mining and Computer Modeling in Tourisim&lt;/li&gt;&lt;li&gt;Health and Biomedical Informatics&lt;/li&gt;&lt;li&gt;Multimedia Computing&lt;/li&gt;&lt;li&gt;Natural Language Processing&lt;/li&gt;&lt;li&gt;Networks and Information Security&lt;/li&gt;&lt;li&gt;....etc&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;and to continue proofing that &lt;strong&gt;TOPIC&lt;/strong&gt; for my master degree. after surveying about these fields and opened topics on them, I found set of topics that match my hobbies in software engineering like:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Reverse Query Processing&lt;/li&gt;&lt;li&gt;Morphological Analysis and generation&lt;/li&gt;&lt;li&gt;Text and web content mining&lt;/li&gt;&lt;li&gt;Model-Driven DSS&lt;/li&gt;&lt;li&gt;Radiology structured-reporting&lt;/li&gt;&lt;li&gt;Gene sequence Annotation&lt;/li&gt;&lt;li&gt;Domain-Specific RE Processes&lt;/li&gt;&lt;li&gt;...etc&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;after that, I decided to start on &lt;strong&gt;Reverse Query Processing &lt;/strong&gt;under supervision of &lt;strong&gt;&lt;em&gt;Dr. Ali El Bastawesy&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;, &lt;/strong&gt;the following are some notes after finalizing and discussing the project.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Abstract&lt;/b&gt; &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;p&gt;Nowadays, there are a lot of techniques used for testing a database management system (DBMS) by generating a set of test databases and then execute queries on top of them. However, for DBMS testing, it would be a big advantage if we can control the input and/or the output (e.g., the cardinality) of each individual operator of a test query for a particular test case. RQP gets a query and a result as input and returns a possible database instance that could have produced that result for that query. RQP also has other applications such as testing the performance of DBMS and debugging SQL queries. There are a number of commercial tools to automatically generate test databases. These tools take a database schema (table layouts plus integrity constraints) and table sizes as input in order to generate new database instances with tuples. &lt;p&gt;&lt;br /&gt; &lt;p&gt;&lt;strong&gt;Areas of RQP:&lt;/strong&gt; &lt;p&gt;- Database Testing&lt;br /&gt;- Software quality assurance &lt;p&gt;&lt;b&gt;RQP Applications:&lt;/b&gt; &lt;p&gt;&lt;u&gt;&lt;b&gt;1- Generating Test Databases&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/u&gt; &lt;p&gt;The application that started this work is the generation of test databases for regression tests or to test the specification of an application. If the application code is available (e.g., Java or C# with embedded SQL), then the application code can be analyzed using data flow analysis in order to find all code paths. Based on this information, RQP can be applied to the SQL statements which are embedded in the application in order to generate a test database that will provide data for all possible code paths. &lt;p&gt;For example, consider an application with an &lt;i&gt;if-else &lt;/i&gt;block where the &lt;i&gt;if &lt;/i&gt;condition relies on the result R of a query Q. Given that query Q and different results R (e.g. one R for each branch of the &lt;i&gt;if-else &lt;/i&gt;block), RQP can generate different databases to test all code paths of that application (R can be given by the testers manually or by some code analysis tools&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;foreach price in SELECT price FROM Product do&lt;br /&gt;          if(price&amp;gt;=0 &amp;amp;&amp;amp; price&amp;lt;=10) &lt;/span&gt;&lt;span style="color:green;"&gt;//do something&lt;br /&gt;          &lt;/span&gt;&lt;span style="color:blue;"&gt;else if(price&amp;gt;10) &lt;/span&gt;&lt;span style="color:green;"&gt;//do something else&lt;br /&gt;    end &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;br /&gt;end foreach&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;2- SQL Debugger&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;3- &lt;b&gt;Program Verification&lt;/b&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;b&gt;4- &lt;b&gt;Database Sampling, Compression&lt;/b&gt;&lt;/b&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Some databases are large and query processing might be expensive even if materialization and indexing is used. One requirement might be to provide a compressed, read-only variant of a database that very quickly gives approximate answers to a pre-defined set of parameterized queries&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;a href="http://lh6.ggpht.com/Ahmad.Eed/SKl5JEcImqI/AAAAAAAAAM4/0P70eTAgzLo/sample%5B6%5D.png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="173" alt="sample" src="http://lh5.ggpht.com/Ahmad.Eed/SKl5KhFdFmI/AAAAAAAAAM8/81WVDWln408/sample_thumb%5B4%5D.png" width="465" border="0" /&gt;&lt;/a&gt; &lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Problem Definition:&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The problem of database application testing can be broadly partitioned into the problems of test cases generation, test data preparation and test outcomes verification. Among the three problems, the problem of test cases generation directly affects the effectiveness of testing.&lt;br /&gt;&lt;p&gt;Given an SQL Query Q, the Schema SD of a relational database (including integrity constraints), and a Table R (called RTable), find a database instance D such that: R = Q(D) and D is compliant with SD and its integrity constraints.&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/Ahmad.Eed/SKl5LTmHL7I/AAAAAAAAANA/yb-nM03SxZY/prob%20def%5B6%5D.png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="171" alt="prob def" src="http://lh3.ggpht.com/Ahmad.Eed/SKl5LzEODiI/AAAAAAAAANE/gyTtJkOfx3I/prob%20def_thumb%5B4%5D.png" width="416" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;RQP Architecture&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/Ahmad.Eed/SKl5MjajCXI/AAAAAAAAANI/aEwtjQsCyNE/arc%5B6%5D.png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="279" alt="arc" src="http://lh3.ggpht.com/Ahmad.Eed/SKl5NRLQ5uI/AAAAAAAAANM/s1ND-h-U5w4/arc_thumb%5B4%5D.png" width="456" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Multi Reverse Query Processing:&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;RQP is not capable to support multiple queries and the corresponding expected results as input. Thus, in [6] we studied the problem of Multi-RQP (or MRQP for short). Unlike RQP, MRQP gets a set of SQL SELECT queries, the corresponding expected query results and a database schema as input and tries to generate one test database that returns the expected results for all the given queries&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/Ahmad.Eed/SKl5PBvOB1I/AAAAAAAAANQ/IwxB0kwyhug/multi%5B12%5D.png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="463" alt="multi" src="http://lh4.ggpht.com/Ahmad.Eed/SKl5P26fSmI/AAAAAAAAANU/5g5t-oj1Cl4/multi_thumb%5B10%5D.png" width="464" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lh5.ggpht.com/Ahmad.Eed/SKl5Q9HMO1I/AAAAAAAAANY/9IBQJJqWrOY/mult1%5B6%5D.png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="180" alt="mult1" src="http://lh4.ggpht.com/Ahmad.Eed/SKl5R-fr-3I/AAAAAAAAANc/2sDjRD8yNYU/mult1_thumb%5B4%5D.png" width="467" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;here, I tried to describe the topic briefly so please don't hesitate to contact me for more information&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Thanks&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-2747855125306284212?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Emdu3gLqkP9GncMPBBqH2feT9ig/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Emdu3gLqkP9GncMPBBqH2feT9ig/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Emdu3gLqkP9GncMPBBqH2feT9ig/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Emdu3gLqkP9GncMPBBqH2feT9ig/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/lm_hRbBBXTI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/lm_hRbBBXTI/pre-master-final-project-reverse-query.html</link><author>noreply@blogger.com (Bairam.!)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/Ahmad.Eed/SKl5KhFdFmI/AAAAAAAAAM8/81WVDWln408/s72-c/sample_thumb%5B4%5D.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/08/pre-master-final-project-reverse-query.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-4329503244334103534</guid><pubDate>Sat, 16 Aug 2008 05:44:00 +0000</pubDate><atom:updated>2008-08-15T23:40:56.723-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Jobs</category><title>Software Engineer - Middle East at Google.com</title><description>Hi ,&lt;br /&gt;&lt;br /&gt;i got an E-Mail from &lt;a href="http://www.google.com/"&gt;www.google.com/&lt;/a&gt; about new vacancies for &lt;span style="color:#000099;"&gt;Software Engineers&lt;/span&gt; at Middle-East which is&lt;br /&gt;&lt;br /&gt;"&lt;br /&gt;&lt;span style="color:#006600;"&gt;Hi there!&lt;br /&gt;&lt;br /&gt;Code Jam has let us know that you may be interested in hearing from us about potential roles @ Google.&lt;br /&gt;The good news is that we have offices throughout the world and we're particularly keen to hire Arabic-speaking engineers for our new Google development offices in the Middle East.&lt;br /&gt;&lt;br /&gt;We're not working on simply localising technologies developed in other countries, nor do we seek engineers who want to work on improving infrastructure. Instead, Google software engineers invent whole new technologies from scratch; stuff that will interest &amp;amp; inspire users across the world and affect 100's of 1,000's of people.&lt;br /&gt;&lt;br /&gt;"We are not simply looking for engineers to solve the problems they already know the answers to; we are interested in engineers who can work out the answers to questions they have not come across before."&lt;br /&gt;&lt;br /&gt;If this is something that might interest you, please let us know!&lt;br /&gt;&lt;br /&gt;Make sure that you have the words "Code Jam 2008" on your CV and apply via the online application here:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;u&gt;&lt;span style="color:#660000;"&gt;Job Description:&lt;/span&gt;&lt;/u&gt;&lt;br /&gt;------------------------------------------------------------------------&lt;br /&gt;&lt;strong&gt;Software Engineer - Middle East&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This position will be available at a Google site in the Middle East.&lt;br /&gt;&lt;br /&gt;The area: &lt;strong&gt;Software Engineering&lt;/strong&gt;&lt;br /&gt;Google's software engineers develop the next-generation technologies for which we've become world-renowned. In addition to revolutionizing search technology, we use our world-class programming skills to innovate in a number of other areas as well. Our projects include working on advanced information-retrieval algorithms, massive scalability and storage solutions, and large-scale applications that enrich the user experience. We also work extensively on networking systems, advertising systems and complex transaction systems in consumer applications.&lt;br /&gt;&lt;br /&gt;The role: &lt;strong&gt;Software Engineer - Middle East&lt;br /&gt;&lt;/strong&gt;Software Engineers at Google are developers who yearn to create and implement full product life-cycles – not just code solutions. This means you need to have a solid foundation in computer science, you consistently come up with new ideas and you would naturally strive for a deep understanding of your products in order to be able to continually improve upon them. With the bigger picture in mind, you will seek to code elegant systems. Our teams develop massively scalable, distributed software systems and also collaborate on multitudes of smaller projects that have universal appeal – which requires research, awareness, interactivity and asking questions. You bring strong competencies in data structures and algorithms, along with a technical fascination for how stuff fits together. You're motivated to experiment and take chances in order to make a difference in your field, unafraid to stand up for your ideas and eager to embrace change. As a Google engineer, you will work on problems in a number of areas, including cutting-edge information retrieval algorithms, scalability issues related to dealing with huge amounts of data and a rapidly increasing user population, and developing Google's portfolio of Arab specific products. You'll be comfortable within an agile software development environment, where engineers each handle all aspects of system architecture, design, coding and testing, without a job hierarchy.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;Responsibilities:&lt;br /&gt;&lt;/span&gt;- Research, conceive and develop software applications to extend and improve on Google's Arab specific product offering.&lt;br /&gt;- Contribute to a wide variety of projects utilising natural language processing, artificial intelligence, data compression, machine learning and search technologies.&lt;br /&gt;- Collaborate on scalability issues involving access to massive amounts of data and information. - Solve all problems that come your way.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;Requirements:&lt;/span&gt;&lt;br /&gt;- MS in Computer Science/Computer Engineering or PhD (preferred) with an exceptionally strong record of academic achievement.&lt;br /&gt;- Strong C/C++/Java programming skills and several years of software development experience.&lt;br /&gt;- Software background and success developing large scale, web-based applications, ideally launched in the Arab market.&lt;br /&gt;- Substantial knowledge of Unix/Linux or Windows environments.&lt;br /&gt;- Extensive experience with designing and programming distributed systems.&lt;br /&gt;- Enthusiasm for finding and solving interesting technical problems from a globally scaled perspective.&lt;br /&gt;- Fluency in English and Arabic (both classical and modern) as well as good knowledge and understanding of Arab culture&lt;br /&gt;&lt;br /&gt;------------------------------------------------------------------------&lt;br /&gt;&lt;a href="http://www.google.com/support/jobs/bin/answer.py?answer=96739" target="self"&gt;Apply Here&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I look forward to hearing from you!!&lt;br /&gt;Jenny&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;Jenny Brown&lt;br /&gt;Technical Recruiter, Google, Inc.&lt;br /&gt;jennybrown@google.com&lt;br /&gt;+44(0)2078814417&lt;br /&gt;&lt;br /&gt;*Tips to interviewing at Google*&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=w887NIa_V9w"&gt;http://www.youtube.com/watch?v=w887NIa_V9w&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;*** Currently hiring experienced engineers for the ARAB region, to invent &amp;amp; develop specialist Arabic Google products: &lt;a href="http://www.google.com/support/jobs/bin/answer.py?answer=96739"&gt;http://www.google.com/support/jobs/bin/answer.py?answer=96739&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=6rkPwCYkbas"&gt;http://www.youtube.com/watch?v=6rkPwCYkbas&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-4329503244334103534?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/FPj43kt0Ro35S2dVZV5gvkSPHP0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FPj43kt0Ro35S2dVZV5gvkSPHP0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/FPj43kt0Ro35S2dVZV5gvkSPHP0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FPj43kt0Ro35S2dVZV5gvkSPHP0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/cmDANil7_jA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/cmDANil7_jA/software-engineer-middle-east-at.html</link><author>noreply@blogger.com (Bairam.!)</author><thr:total>1</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/08/software-engineer-middle-east-at.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-3917220791972635460</guid><pubDate>Fri, 15 Aug 2008 04:59:00 +0000</pubDate><atom:updated>2008-08-16T03:10:55.193-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Axapta</category><category domain="http://www.blogger.com/atom/ns#">Exams and Certifications</category><title>MB6-503 Exam Questions [Sample]</title><description>Hi , i worked as &lt;em&gt;Microsoft Application developer&lt;/em&gt; using &lt;strong&gt;Microsoft Dynamics Axapta 4.0&lt;/strong&gt; and be certified from microsoft on that technology&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt;&lt;strong&gt;&lt;span style="color:#660000;"&gt;Microsoft Dynamics AX 4.0 Installation and Configuration&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000099;"&gt;Training Materials:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;- &lt;span style="color:#3333ff;"&gt;&lt;u&gt;8626: Installation and Configuration for Microsoft Dynamics AX 4.0&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000099;"&gt;Skills Being Measured:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;• Understand and articulate how to set up and configure Microsoft Dynamics AX 4.0, including understanding the components used in a Microsoft Dynamics AX 4.0 deployment.&lt;br /&gt;&lt;br /&gt;• Install and set up those components, including supporting components such as Active Directory, SQL Server 2005, and IIS, as well as the Microsoft Dynamics AX 4.0 components that include Microsoft Dynamics AX 4.0 Database, Application Object Server, Application File Server, and Client.&lt;br /&gt;&lt;br /&gt;• Understand how to configure Microsoft Dynamics AX 4.0 Enterprise Portal, Reporting Services, and Application Integration Se&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;span style="color:#660000;"&gt;Time Requirements and Questions:&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;- 90 minutes to complete the exam&lt;br /&gt;- 50 questions with a passing rate of 70%&lt;br /&gt;- Multiple Choice and Multiple Answer questions&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#990000;"&gt;The following questions are demo ones from the exam &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Question: 1&lt;br /&gt;&lt;br /&gt;Database improvements to Microsoft Dynamics 4.0 include: Choose the 3 that apply.&lt;br /&gt;&lt;br /&gt;A - A change to Unicode to help support data in more languages than Microsoft Dynamics AX&lt;br /&gt;&lt;br /&gt;3.0.&lt;br /&gt;B - RecID improvements that help increase performance and scalability.&lt;br /&gt;C - A change in the Database Wizard to help make creating the database an easier task.&lt;br /&gt;D - A change to optimistic concurrency that helps shorten the amount of time that database&lt;br /&gt;objects are locked.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: A, B, D&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 2&lt;br /&gt;&lt;br /&gt;A system implementer working with a customer on moving from Microsoft Dynamics AX 3.0 to&lt;br /&gt;Microsoft Dynamics AX 4.0. What important effect to the database must be considered before&lt;br /&gt;upgrading to Microsoft Dynamics AX 4.0?&lt;br /&gt;&lt;br /&gt;A - The database can be converted without any special consideration.&lt;br /&gt;B - The Microsoft Dynamics AX 3.0 database must be converted to Unicode before upgrading the&lt;br /&gt;data to Microsoft Dynamics AX 4.0.&lt;br /&gt;C - The database cannot be upgraded but instead all the data must be manually exported from&lt;br /&gt;the old database and manually imported to the new database.&lt;br /&gt;D - The upgrade checklist will automatically handle any needed changes to the database.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: B&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Question: 3&lt;br /&gt;&lt;br /&gt;A customer asks the implementer to install their production Microsoft Dynamics AX 4.0 on a&lt;br /&gt;single computer, in order to save money. What response would be appropriate for the&lt;br /&gt;implementer to give to the customer? Choose the 2 that apply.&lt;br /&gt;&lt;br /&gt;A - The single computer install should not be used in a production environment because of&lt;br /&gt;potential performance issues.&lt;br /&gt;B - The only appropriate place for a single computer install at a customer site is for development&lt;br /&gt;&lt;br /&gt;and testing.&lt;br /&gt;C - The single computer install would be the optimal install in a production environment.&lt;br /&gt;D - The single computer install is for Partners only and should never be used at a customer site.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: A, B&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 4&lt;br /&gt;&lt;br /&gt;Which of the following is true in relation to the Help languages in Microsoft Dynamics AX 4.0?&lt;br /&gt;Choose the 2 that apply.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A - It is possible to install help in multiple languages.&lt;br /&gt;B - The Help files for all languages are now installed by default.&lt;br /&gt;C - It is possible to view the Help files in multiple languages at one time on a Microsoft Dynamics&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;AX 4.0 client.&lt;br /&gt;D - Users can switch between Help languages by changing the user settings in the Microsoft&lt;br /&gt;Dynamics AX 4.0 client.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: A, D&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Question: 5&lt;br /&gt;&lt;br /&gt;The Application Object Server (AOS) has been changed to a true Windows Service. What are the&lt;br /&gt;advantages of this change? Choose the 3 that apply.&lt;br /&gt;&lt;br /&gt;A - Improved server status reporting to the Windows event log. This lets administrators view&lt;br /&gt;errors and warnings that can help in troubleshooting problems.&lt;br /&gt;B - Eliminating the dependency on the Microsoft Dynamics AX 4.0 Server Manager removes a&lt;br /&gt;security threat by which an attacker can send a command to the AOS to shut it down.&lt;br /&gt;C - Changing to a true Windows Service means that the AOS service will always run as&lt;br /&gt;Administrator.&lt;br /&gt;D - The AOS service can be configured to start at system startup and continue to run even when&lt;br /&gt;no user is logged into the system.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: A, B, D&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Question: 6&lt;br /&gt;&lt;br /&gt;The application file server contains the files in which the Microsoft Dynamics AX 4.0 business&lt;br /&gt;logic is stored. Because of the sensitive nature of the customer data stored in these files, which of&lt;br /&gt;the following is true?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A - This directory must not be accessible by the Application Object Server computers.&lt;br /&gt;B - Only the AOS service should have write access to these files&lt;br /&gt;C - Only the Microsoft Dynamics AX 4.0 administrator should have write access to these files.&lt;br /&gt;D - Only the AOS service and the Microsoft Dynamics AX 4.0 administrator should have write&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;access to these files.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: D&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Question: 7&lt;br /&gt;&lt;br /&gt;The system implementer is preparing to install Microsoft Dynamics AX 4.0 at a customer site.&lt;br /&gt;Before starting the install the implementer needs to know if the customers network infrastructure&lt;br /&gt;has the ability to handle the requirements for Microsoft Dynamics AX 4.0. What are the minimum&lt;br /&gt;bandwidth and latency numbers required for Microsoft Dynamics AX 4.0?&lt;br /&gt;&lt;br /&gt;A - Bandwidth = 100 MB per second&lt;br /&gt;Latency = Less than 50 milliseconds&lt;br /&gt;B - Bandwidth = 10 MB per second&lt;br /&gt;Latency = Less than 5 milliseconds&lt;br /&gt;C - Bandwidth = 100 MB per second&lt;br /&gt;Latency = less than 5 milliseconds&lt;br /&gt;D - Bandwidth = 100 MB per second&lt;br /&gt;Latency = more than 5 milliseconds&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: C&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Question: 8&lt;br /&gt;&lt;br /&gt;What are the critical areas of knowledge required by a Microsoft Dynamics AX 4.0 system&lt;br /&gt;implementer? Choose the 3 that apply.&lt;br /&gt;&lt;br /&gt;A - Networking&lt;br /&gt;B - Microsoft SQL Server&lt;br /&gt;C - Active Directory&lt;br /&gt;D - Version Control System&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: A, B, C&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 9&lt;br /&gt;&lt;br /&gt;The core computer roles for Microsoft Dynamics AX 4.0 are? Choose the 3 that apply.&lt;br /&gt;&lt;br /&gt;A - Database server&lt;br /&gt;B - Enterprise Portal server&lt;br /&gt;C - Object server&lt;br /&gt;D - Client&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: A, C, D&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 10&lt;br /&gt;&lt;br /&gt;The system implementer is preparing to install the Application Object Server on a computer at a&lt;br /&gt;customer site but finds that this computer has a 64-bit operating system installed. What is the&lt;br /&gt;proper procedure in this case?&lt;br /&gt;&lt;br /&gt;A - Microsoft Dynamics AX 4.0 cannot be installed on a computer with a 64-bit operating system.&lt;br /&gt;B - Microsoft Dynamics AX 4.0 can be installed on a computer with a 64-bit operating system, but&lt;br /&gt;it will run in 32-bit mode.&lt;br /&gt;C - Microsoft Dynamics AX 4.0 can be installed on a computer with a 64-bit operating system and&lt;br /&gt;will run in 64-bit mode.&lt;br /&gt;D - Microsoft Dynamics AX 4.0 can be installed on a computer with a 64-bit operating system but&lt;br /&gt;only after making modifications in the AOT.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: B&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Question: 11&lt;br /&gt;&lt;br /&gt;The VAR is working with a customer to gather information necessary to evaluate the customer’s&lt;br /&gt;infrastructure for installing Microsoft Dynamics AX 4.0. What information about the current&lt;br /&gt;infrastructure is important to know for the Microsoft Dynamics AX 4.0 installation?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A - Network bandwidth&lt;br /&gt;B - Any existing databases.&lt;br /&gt;C - Operating systems currently installed&lt;br /&gt;D - All of the above.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: D&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 12&lt;br /&gt;&lt;br /&gt;At a customer site, the system implementer is confronted with a problem. The IT Operations&lt;br /&gt;Manager wants to install the application files on one of the Application Object Server (AOS). What&lt;br /&gt;proper response can the system implementer give to the IT Operations Manager?&lt;br /&gt;&lt;br /&gt;A - Installing the application file server on an AOS is acceptable but because there can only be&lt;br /&gt;one application file server in the Microsoft Dynamics AX 4.0 environment it need only be&lt;br /&gt;installed on a single AOS computer.&lt;br /&gt;&lt;br /&gt;B - Installing the application file server on an AOS is acceptable but the application file server&lt;br /&gt;should be installed on every AOS computer that is installed in the Microsoft Dynamics AX 4.0&lt;br /&gt;environment.&lt;br /&gt;&lt;br /&gt;C - The application file server should not be installed on an AOS computer.&lt;br /&gt;D - It is mandatory to install the application file server on a AOS computer. Otherwise the AOS&lt;br /&gt;will not be able to find the location of the application files.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: A&lt;/span&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-3917220791972635460?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/H5MrpY_chp_EQELgfsO_1Kp9W08/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/H5MrpY_chp_EQELgfsO_1Kp9W08/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/H5MrpY_chp_EQELgfsO_1Kp9W08/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/H5MrpY_chp_EQELgfsO_1Kp9W08/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/Me-bs-I9FMM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/Me-bs-I9FMM/mb6-503-exam-questions-sample.html</link><author>noreply@blogger.com (Bairam.!)</author><thr:total>2</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/08/mb6-503-exam-questions-sample.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-8383097050540691802</guid><pubDate>Tue, 12 Aug 2008 06:04:00 +0000</pubDate><atom:updated>2008-08-12T23:18:31.290-07:00</atom:updated><title>.NET Framework 3.5 Enhancements Training Kit</title><description>&lt;p&gt;&lt;strong&gt;Hi .NET Developers,&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Published date of Training kit : 11-8-2008&lt;/u&gt;                    &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=355C80E9-FDE0-4812-98B5-8A03F5874E96&amp;amp;displaylang=en" target="self"&gt;Download&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The .NET Framework 3.5 Enhancements Training Kit includes presentations, hands-on labs, demos, and event materials. This content is designed to help you learn how to utilize the .NET 3.5 Enhancement features including:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;The following features had their labs updated in this release: &lt;/span&gt;&lt;br /&gt;• ASP.NET AJAX History&lt;br /&gt;• ASP.NET MVC&lt;br /&gt;• ASP.NET Dynamic Data&lt;br /&gt;• ADO.NET Data Services&lt;br /&gt;• ADO.NET Entity Framework &lt;/p&gt;&lt;p&gt;&lt;span style="color:#000099;"&gt;The following features had labs added in this release:&lt;br /&gt;&lt;/span&gt;• .NET Framework Client Profile&lt;br /&gt;• WCF 3.5 SP1&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;The following features have supporting presentations included in this release:&lt;br /&gt;&lt;/span&gt;• ASP.NET AJAX 3.5 SP1&lt;br /&gt;• ASP.NET MVC&lt;br /&gt;• ASP.NET Dynamic Data&lt;br /&gt;• ASP.NET Routing&lt;br /&gt;• ADO.NET Data Services&lt;br /&gt;• ADO.NET Entity Framework&lt;br /&gt;• WCF 3.5 SP1&lt;br /&gt;• Visual Studio 2008 SP1&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;The following features have supporting demos included in this release:&lt;br /&gt;&lt;/span&gt;• ASP.NET AJAX 3.5 SP1&lt;br /&gt;• ASP.NET Dynamic Data&lt;br /&gt;• ADO.NET Data Services&lt;br /&gt;• ADO.NET Entity Framework &lt;/p&gt;&lt;p&gt;so you can download the training kit source from &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=355C80E9-FDE0-4812-98B5-8A03F5874E96&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=355C80E9-FDE0-4812-98B5-8A03F5874E96&amp;amp;displaylang=en&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&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/5989219860267189708-8383097050540691802?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3GgTK9yVrkZwupaEKjdqN19SALk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3GgTK9yVrkZwupaEKjdqN19SALk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3GgTK9yVrkZwupaEKjdqN19SALk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3GgTK9yVrkZwupaEKjdqN19SALk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/QgrX98n905c" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/QgrX98n905c/net-framework-35-enhancements-training.html</link><author>noreply@blogger.com (Bairam.!)</author><thr:total>2</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/08/net-framework-35-enhancements-training.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-4432722973120793226</guid><pubDate>Mon, 11 Aug 2008 17:52:00 +0000</pubDate><atom:updated>2008-08-12T22:49:47.957-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Miscellaneous</category><category domain="http://www.blogger.com/atom/ns#">Tricks</category><title>HTML Application (HTA)</title><description>if you want to open HTML page or website as an C++ appl&lt;a href="http://1.bp.blogspot.com/_wK9KWrjiI_Y/SKGpJ2wewOI/AAAAAAAAAJI/t_HVZkuJZ3A/s1600-h/HTA.png"&gt;&lt;/a&gt;ication,Windows Application or any .Exe application, just rename the HTML file from &lt;strong&gt;&lt;span style="color:#000099;"&gt;.html&lt;/span&gt; to &lt;span style="color:#000099;"&gt;.hta&lt;/span&gt; . HTA &lt;/strong&gt;can be used for prototyping, making wizards, or building full-scale applications.&lt;br /&gt;&lt;br /&gt;By the use of HTA, you will focus on the html page or website content and thereby you won't find the browser toolbars, address bar, menus, buttons ...etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;u&gt;HTA for internal applications usage:&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;if you have internal tools, Web-Based applications, like attendance module for all employees, development team portals, collaboration portals, time tracker system ...etc. you need the employees or colleagues to dont care about explorer bars and focus on the core of your application, it will be useful to use the HTA&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5233650644743216082" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 546px; CURSOR: hand; HEIGHT: 426px; TEXT-ALIGN: center" height="426" alt="" src="http://1.bp.blogspot.com/_wK9KWrjiI_Y/SKGpiEZp29I/AAAAAAAAAJY/tuZSxnijBmI/s400/HTA.png" width="400" border="0" /&gt;&lt;br /&gt;&lt;span style="color:#993300;"&gt;&lt;u&gt;How can you do that:&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;just, you can rename the .html files to be .hta&lt;br /&gt;&lt;br /&gt;OR,&lt;br /&gt;&lt;br /&gt;you can use the following code:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5233655702669365154" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_wK9KWrjiI_Y/SKGuIepOD6I/AAAAAAAAAJ4/YzavnXMeC3Q/s400/hta1.png" border="0" /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5233655470484082482" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SKGt69r7zzI/AAAAAAAAAJw/Gxv9HVEcPDE/s400/hta2.JPG" border="0" /&gt;&lt;br /&gt;&lt;p&gt;&lt;u&gt;references:&lt;br /&gt;&lt;/u&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms536496.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms536496.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/HTML_Application"&gt;http://en.wikipedia.org/wiki/HTML_Application&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-4432722973120793226?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CZzIxNexVfiAd-GpXT3VsYaoOWw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CZzIxNexVfiAd-GpXT3VsYaoOWw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CZzIxNexVfiAd-GpXT3VsYaoOWw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CZzIxNexVfiAd-GpXT3VsYaoOWw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/VZ5u4NnON0s" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/VZ5u4NnON0s/html-application-hta.html</link><author>noreply@blogger.com (Bairam.!)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_wK9KWrjiI_Y/SKGpiEZp29I/AAAAAAAAAJY/tuZSxnijBmI/s72-c/HTA.png" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/08/html-application-hta.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-6478362913575944313</guid><pubDate>Sun, 10 Aug 2008 23:15:00 +0000</pubDate><atom:updated>2008-08-17T04:55:45.594-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Axapta</category><category domain="http://www.blogger.com/atom/ns#">Architecture / Design</category><title>Naming Conventions for AX 4.0</title><description>&lt;u&gt;Hi AX developers ,&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;According to my practical work on &lt;strong&gt;Microsoft Dynamics Ax 4.0&lt;/strong&gt; (Morphx IDE), it were obligated to use naming conventions for coding, design and implementation standards. I readed carefully "&lt;em&gt;Best Practices for Microsoft Dynamics AX Development&lt;/em&gt;" &lt;a href="http://msdn.microsoft.com/en-us/library/aa658028.aspx" target="self"&gt;View&lt;/a&gt; and summarized it then added some modifications to unify our development.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#990000;"&gt;Naming Conventions for AOT&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SKgPS8EID7I/AAAAAAAAAMA/hB73dITZVOM/s1600-h/1.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5235451384853696434" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SKgPS8EID7I/AAAAAAAAAMA/hB73dITZVOM/s400/1.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SKgPPMl_yPI/AAAAAAAAAL4/8UdDGzw5kF8/s1600-h/2.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5235451320571250930" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SKgPPMl_yPI/AAAAAAAAAL4/8UdDGzw5kF8/s400/2.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_wK9KWrjiI_Y/SKgPLgIu-vI/AAAAAAAAALw/H0Mbe68VQsA/s1600-h/3.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5235451257097747186" style="CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_wK9KWrjiI_Y/SKgPLgIu-vI/AAAAAAAAALw/H0Mbe68VQsA/s400/3.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_wK9KWrjiI_Y/SKgPHV0nFmI/AAAAAAAAALo/1XaJarZToIA/s1600-h/4.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5235451185609512546" style="CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_wK9KWrjiI_Y/SKgPHV0nFmI/AAAAAAAAALo/1XaJarZToIA/s400/4.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#990000;"&gt;Naming Conventions for MorphX Controls&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_wK9KWrjiI_Y/SKgPAxZvOtI/AAAAAAAAALg/qMdyuMBDqVk/s1600-h/5.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5235451072753908434" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_wK9KWrjiI_Y/SKgPAxZvOtI/AAAAAAAAALg/qMdyuMBDqVk/s400/5.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_wK9KWrjiI_Y/SKgO8tyEuMI/AAAAAAAAALY/ubWUYOGebMI/s1600-h/6.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5235451003062761666" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_wK9KWrjiI_Y/SKgO8tyEuMI/AAAAAAAAALY/ubWUYOGebMI/s400/6.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#990000;"&gt;Naming Conventions for X++&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_wK9KWrjiI_Y/SKgO43HaFXI/AAAAAAAAALQ/OY-ZVQ7_WQA/s1600-h/7.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5235450936848684402" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_wK9KWrjiI_Y/SKgO43HaFXI/AAAAAAAAALQ/OY-ZVQ7_WQA/s400/7.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SKgO1cVqs9I/AAAAAAAAALI/Fg5PVr8Wb_c/s1600-h/8.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5235450878121128914" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SKgO1cVqs9I/AAAAAAAAALI/Fg5PVr8Wb_c/s400/8.png" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;these are some of naming conventions we used on ax development, you may customize naming conventions to your development state.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;u&gt;References:&lt;/u&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa658028.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa658028.aspx&lt;/a&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-6478362913575944313?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0cnkeg-URKb3p7igVnUJ6b2fGT4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0cnkeg-URKb3p7igVnUJ6b2fGT4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0cnkeg-URKb3p7igVnUJ6b2fGT4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0cnkeg-URKb3p7igVnUJ6b2fGT4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/M5KkiRNTvwY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/M5KkiRNTvwY/coding-design-and-implementation.html</link><author>noreply@blogger.com (Bairam.!)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SKgPS8EID7I/AAAAAAAAAMA/hB73dITZVOM/s72-c/1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/08/coding-design-and-implementation.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-124776167532511868</guid><pubDate>Sun, 10 Aug 2008 08:08:00 +0000</pubDate><atom:updated>2008-08-10T01:14:03.909-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Exams and Certifications</category><title>Microsoft Certified.!</title><description>&lt;a href="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SJ6jJPgdKpI/AAAAAAAAAJA/Pr8TyiFpbH0/s1600-h/Transcript.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5232799196227906194" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SJ6jJPgdKpI/AAAAAAAAAJA/Pr8TyiFpbH0/s400/Transcript.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SJ6iZLNVBfI/AAAAAAAAAI4/4l5F9vtcb1g/s1600-h/Transcript.png"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-124776167532511868?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Z16_R3_1Ca1zLkXPwB21Jotex2E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Z16_R3_1Ca1zLkXPwB21Jotex2E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Z16_R3_1Ca1zLkXPwB21Jotex2E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Z16_R3_1Ca1zLkXPwB21Jotex2E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/_Hfywtu9QV0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/_Hfywtu9QV0/microsoft-certified.html</link><author>noreply@blogger.com (Bairam.!)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SJ6jJPgdKpI/AAAAAAAAAJA/Pr8TyiFpbH0/s72-c/Transcript.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/08/microsoft-certified.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-8742693507647858654</guid><pubDate>Sat, 09 Aug 2008 08:54:00 +0000</pubDate><atom:updated>2008-08-09T02:00:30.092-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Axapta</category><title>Microsoft Dynamics AX 2009 demos</title><description>Hi, Microsoft Dynamics AX 2009 can help you meet the needs of your people as well as the evolving demands of your business. Watch the videos and learn more from resources that relate to four key business challenges&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/xpaTB1DHIDs&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/xpaTB1DHIDs&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;other videos at :&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;strong&gt;using SilverLight:&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/dynamics/ax/product/demos.mspx"&gt;http://www.microsoft.com/dynamics/ax/product/demos.mspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;strong&gt;Using Windows Media Player:&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/dynamics/ax/product/demos_wmv.mspx"&gt;http://www.microsoft.com/dynamics/ax/product/demos_wmv.mspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-8742693507647858654?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xdnExO0Oump7TcL8iK2LUmJcACc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xdnExO0Oump7TcL8iK2LUmJcACc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xdnExO0Oump7TcL8iK2LUmJcACc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xdnExO0Oump7TcL8iK2LUmJcACc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/BIvE8JIvOQA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/BIvE8JIvOQA/microsoft-dynamics-ax-2009-demos.html</link><author>noreply@blogger.com (Bairam.!)</author><thr:total>0</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/08/microsoft-dynamics-ax-2009-demos.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-7932732372886208629</guid><pubDate>Sat, 09 Aug 2008 00:09:00 +0000</pubDate><atom:updated>2008-08-17T05:22:49.205-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SQL Server</category><title>Split string as Array in SQL</title><description>Hi,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;i was in need to split &lt;span style="color:#3333ff;"&gt;string&lt;/span&gt; in T-sql but i can't find built-in function to do that, thereby i wrote a function to do the following:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;By the use of T-SQL:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if you have &lt;span style="color:#3333ff;"&gt;string &lt;/span&gt;like "Ahmed,Eid,Salim" or Ids like "120,234,123,546"&lt;br /&gt;&lt;br /&gt;and you need deal with that &lt;span style="color:#3333ff;"&gt;string&lt;/span&gt; as array on SQL DB Engine and find items of it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SKgW_QIeF7I/AAAAAAAAAMI/sUOrGdIx49A/s1600-h/sql2.PNG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5235459842736265138" style="WIDTH: 416px; CURSOR: hand; HEIGHT: 162px" height="163" alt="" src="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SKgW_QIeF7I/AAAAAAAAAMI/sUOrGdIx49A/s400/sql2.PNG" width="491" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;&lt;u&gt;The SQL Function like:&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SKgXVpBx0aI/AAAAAAAAAMQ/skjPJ6Gq_rk/s1600-h/fun.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5235460227376206242" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SKgXVpBx0aI/AAAAAAAAAMQ/skjPJ6Gq_rk/s400/fun.png" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-7932732372886208629?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8ldmiBhbX2zkOtpzA4BiLfd6IUY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8ldmiBhbX2zkOtpzA4BiLfd6IUY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8ldmiBhbX2zkOtpzA4BiLfd6IUY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8ldmiBhbX2zkOtpzA4BiLfd6IUY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/b-D1o4pJKaw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/b-D1o4pJKaw/split-string-as-array-in-sql.html</link><author>noreply@blogger.com (Bairam.!)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_wK9KWrjiI_Y/SKgW_QIeF7I/AAAAAAAAAMI/sUOrGdIx49A/s72-c/sql2.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/08/split-string-as-array-in-sql.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5989219860267189708.post-2013848607183221444</guid><pubDate>Tue, 05 Aug 2008 11:23:00 +0000</pubDate><atom:updated>2008-08-15T23:57:37.771-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Visual Studio.NET</category><category domain="http://www.blogger.com/atom/ns#">Exams and Certifications</category><title>MCTS Exam 70-536 Microsoft® .NET Framework 2.0—Application Development Foundation  [Sample]</title><description>Hi friends, I got MCTS certification&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000099;"&gt;MCTS: Microsoft Certified Technology Specialist &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;It enables professionals to target specific technologies and distinguish themselves by demonstrating in-depth knowledge and expertise in their specialized technologies.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#660000;"&gt;To earn the MCTS: .NET Framework 2.0 :&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;- Exam 70–536 TS: Microsoft .NET Framework 2.0–Application Development Foundation&lt;br /&gt;- Exam 70–528 TS: Microsoft .NET Framework 2.0 – Web-Based Client Development&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000099;"&gt;The following questions are samples of Exam 70-536&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Question: 1&lt;br /&gt;&lt;br /&gt;You are writing a custom dictionary. The custom-dictionary class is named MyDictionary. You&lt;br /&gt;need to ensure that the dictionary is type safe.&lt;br /&gt;Which code segment should you use?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A. Class MyDictionaryImplements Dictionary(Of String, String)&lt;br /&gt;B. Class MyDictionary Inherits HashTable&lt;br /&gt;C. Class MyDictionary Implements IDictionary&lt;br /&gt;D. Class MyDictionary&lt;br /&gt;End Class&lt;br /&gt;Dim t As New Dictionary(Of String, String)&lt;br /&gt;Dim dict As MyDictionary = CType(t, MyDictionary)&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: A&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 2&lt;br /&gt;&lt;br /&gt;You write a class named Employee that includes the following code segment.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Private m_EmployeeId As String&lt;br /&gt;Private m_EmployeeName As String&lt;br /&gt;Private m_JobTitleName As String&lt;br /&gt;Public Function GetName() As String&lt;br /&gt;Return m_EmployeeName&lt;br /&gt;End Function&lt;br /&gt;Public Function GetTitle() As String&lt;br /&gt;Return m_JobTitleName&lt;br /&gt;End Function&lt;br /&gt;End Class&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You need to expose this class to COM in a type library. The COM interface must also facilitate&lt;br /&gt;forward-compatibility across new versions of the Employee class. You need to choose a method&lt;br /&gt;for generating the COM interface.&lt;br /&gt;What should you do?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A. Add the following attribute to the class definition.&lt;classinterface(classinterfacetype.none)&gt;&lt;br /&gt;_Public Class Employee&lt;br /&gt;B. Add the following attribute to the class&lt;br /&gt;definition.&lt;classinterface(classinterfacetype.autodual)&gt; _Public Class Employee&lt;br /&gt;C. Add the following attribute to the class definition.&lt;comvisible(true)&gt; _Public Class Employee&lt;br /&gt;D. Define an interface for the class and add the following attribute to the class&lt;br /&gt;definition.&lt;classinterface(classinterfacetype.none)&gt; _Public Class EmployeeImplements&lt;br /&gt;IEmployee&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: &lt;span style="color:#C3D9FF;"&gt;D &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 3&lt;br /&gt;&lt;br /&gt;You are developing a custom event handler to automatically print all open documents.&lt;br /&gt;The event handler helps specify the number of copies to be printed. You need to develop a&lt;br /&gt;custom event arguments class to pass as a parameter to the event handler.&lt;br /&gt;Which code segment should you use?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A. public class PrintingArgs {&lt;br /&gt;private int copies;&lt;br /&gt;public PrintingArgs(int numberOfCopies) {&lt;br /&gt;this.copies = numberOfCopies;&lt;br /&gt;}&lt;br /&gt;public int Copies {&lt;br /&gt;get { return this.copies; }&lt;br /&gt;}}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;B. public class PrintingArgs : EventArgs {&lt;br /&gt;private int copies;&lt;br /&gt;public PrintingArgs(int numberOfCopies) {&lt;br /&gt;this.copies = numberOfCopies;&lt;br /&gt;}&lt;br /&gt;public int Copies {&lt;br /&gt;get { return this.copies; }&lt;br /&gt;}}&lt;br /&gt;C. public class PrintingArgs {&lt;br /&gt;private EventArgs eventArgs;&lt;br /&gt;public PrintingArgs(EventArgs ea) {&lt;br /&gt;this.eventArgs = ea;&lt;br /&gt;}public EventArgs Args {get { return eventArgs; }}}&lt;br /&gt;D. public class PrintingArgs : EventArgs {&lt;br /&gt;private int copies;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: B&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 4&lt;br /&gt;&lt;br /&gt;You use Reflection to obtain information about a method named MyMethod.&lt;br /&gt;You need to ascertain whether MyMethod is accessible to a derived class. What should you do?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A. Call the IsAssembly property of the MethodInfo class.&lt;br /&gt;B. Call the IsVirtual property of the MethodInfo class.&lt;br /&gt;C. Call the IsStatic property of the MethodInfo class.&lt;br /&gt;D. Call the IsFamily property of the MethodInfo class.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: D&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 5&lt;br /&gt;&lt;br /&gt;You are creating a class that uses unmanaged resources. This class maintains references to&lt;br /&gt;managed resources on other objects. You need to ensure that users of this class can explicitly&lt;br /&gt;release resources when the class instance ceases to be needed. Which three actions should you&lt;br /&gt;perform? (Each correct answer presents part of the solution. Choose three.)&lt;br /&gt;&lt;br /&gt;A.&lt;br /&gt;Define the class such that it inherits from the WeakReference class.&lt;br /&gt;B.&lt;br /&gt;Define the class such that it implements the IDisposable interface.&lt;br /&gt;C. Create a class destructor that calls methods on other objects to release the managed&lt;br /&gt;resources.&lt;br /&gt;D.Create a class destructor that releases the unmanaged resources.&lt;br /&gt;E.Create a Dispose method that calls System.GC.Collect to force garbage collection.&lt;br /&gt;F.Create a Dispose method that releases unmanaged resources and calls methods on other&lt;br /&gt;objects to release the managed resources.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: &lt;/span&gt;&lt;span style="color:#C3D9FF;"&gt;B, D, F&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 6&lt;br /&gt;&lt;br /&gt;You are working on a debug build of an application.&lt;br /&gt;You need to find the line of code that caused an exception to be thrown. Which property of the&lt;br /&gt;Exception class should you use to achieve this goal?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A. Data&lt;br /&gt;B. Message&lt;br /&gt;C. StackTrace&lt;br /&gt;D. Source&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: C&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 7&lt;br /&gt;&lt;br /&gt;You need to write a code segment that performs the following tasks:&lt;br /&gt;&lt;br /&gt;* Retrieves the name of each paused service.&lt;br /&gt;* Passes the name to the Add method of Collection1.&lt;br /&gt;Which code segment should you use?&lt;br /&gt;&lt;br /&gt;A. ManagementObjectSearcher^ searcher =&lt;br /&gt;gcnew ManagementObjectSearcher(&lt;br /&gt;“Select * from Win32_Service where State = ‘Paused’”);for each (ManagementObject^&lt;br /&gt;svc in searcher-&gt;Get()) {&lt;br /&gt;Collection1-&gt;Add(svc[“DisplayName”]);}&lt;br /&gt;B. ManagementObjectSearcher^ searcher =&lt;br /&gt;gcnew ManagementObjectSearcher(&lt;br /&gt;“Select * from Win32_Service”, “State = ‘Paused’”);for each (ManagementObject^ svc in&lt;br /&gt;searcher-&gt;Get()) {&lt;br /&gt;Collection1-&gt;Add(svc[“DisplayName”]);}&lt;br /&gt;C. ManagementObjectSearcher^ searcher =&lt;br /&gt;gcnew ManagementObjectSearcher(&lt;br /&gt;“Select * from Win32_Service”);for each (ManagementObject^ svc in searcher-&gt;Get()) {&lt;br /&gt;if ((String^) svc["State"] == "'Paused'") {&lt;br /&gt;Collection1-&gt;Add(svc[“DisplayName”]);&lt;br /&gt;}}&lt;br /&gt;D. ManagementObjectSearcher^ searcher =&lt;br /&gt;gcnew ManagementObjectSearcher();searcher-&gt;Scope = gcnew&lt;br /&gt;ManagementScope(“Win32_Service”);for each (ManagementObject^ svc in&lt;br /&gt;searcher-&gt;Get()) {&lt;br /&gt;if ((String^)svc["State"] == "Paused") {&lt;br /&gt;Collection1-&gt;Add(svc[“DisplayName”]);&lt;br /&gt;}}&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: A&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 8&lt;br /&gt;&lt;br /&gt;You need to serialize an object of type List(Of Integer) in a binary format. The object is named&lt;br /&gt;data. Which code segment should you use?&lt;br /&gt;&lt;br /&gt;A. Dim formatter As New BinaryFormatter()Dim ms As New&lt;br /&gt;MemoryStream()formatter.Serialize(ms, data)&lt;br /&gt;B. Dim formatter As New BinaryFormatter()Dim ms As New MemoryStream() For i As&lt;br /&gt;Integer = 1 To 20&lt;br /&gt;formatter.Serialize(ms, data(i - 1))Next&lt;br /&gt;C. Dim formatter As New BinaryFormatter()Dim buffer As New Byte(data.Count) {}Dim ms As&lt;br /&gt;New MemoryStream(buffer, True)formatter.Serialize(ms, data)&lt;br /&gt;D. Dim formatter As New BinaryFormatter()Dim ms As New MemoryStream()While&lt;br /&gt;ms.CanRead formatter.Serialize(ms, data)End While\&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: A&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 9&lt;br /&gt;&lt;br /&gt;You are developing an application that dynamically loads assemblies from an application&lt;br /&gt;directory.&lt;br /&gt;You need to write a code segment that loads an assembly named Company1.dll into the current&lt;br /&gt;application domain. Which code segment should you use?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A. AppDomain^ domain = AppDomain::CurrentDomain;String^ myPath =&lt;br /&gt;Path::Combine(domain-&gt;BaseDirectory,&lt;br /&gt;“Company1.dll”);Assembly^ assm = Assembly::LoadFrom(myPath);&lt;br /&gt;B. AppDomain ^ domain = AppDomain::CurrentDomain;String^ myPath =&lt;br /&gt;Path::Combine(domain-&gt;BaseDirectory,&lt;br /&gt;“Company1.dll”);Assembly^ assm = Assembly::Load(myPath);&lt;br /&gt;C.AppDomain^ domain = AppDomain::CurrentDomain;String^ myPath =&lt;br /&gt;Path::Combine(domain-&gt;DynamicDirectory,&lt;br /&gt;“Company1.dll”);Assembly^ assm = AppDomain::CurrentDomain::Load(myPath);&lt;br /&gt;&lt;br /&gt;D. AppDomain^ domain = AppDomain::CurrentDomain;Assembly^ assm =&lt;br /&gt;Domain-&gt;GetData(“Company1.dll”);&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: A&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 10&lt;br /&gt;&lt;br /&gt;You are testing a newly developed method named PersistToDB. This method accepts a&lt;br /&gt;parameter of type EventLogEntry. This method does not return a value. You need to create a&lt;br /&gt;code segment that helps you to test the method. The code segment must read entries from the&lt;br /&gt;application log of local computers and then pass the entries on to the PersistToDB method. The&lt;br /&gt;code block must pass only events of type Error or Warning from the source MySource to the&lt;br /&gt;PersistToDB method.&lt;br /&gt;Which code segment should you use?&lt;br /&gt;&lt;br /&gt;A. EventLog myLog = new EventLog(“Application”, “.”);&lt;br /&gt;foreach (EventLogEntry entry in myLog.Entries)&lt;br /&gt;{&lt;br /&gt;if (entry.Source == "MySource")&lt;br /&gt;{&lt;br /&gt;PersistToDB(entry);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;B. EventLog myLog = new EventLog(“Application”, “.”);&lt;br /&gt;myLog.Source = “MySource”;&lt;br /&gt;foreach (EventLogEntry entry in myLog.Entries)&lt;br /&gt;{&lt;br /&gt;if (entry.EntryType == (EventLogEntryType.Error &amp;amp;&lt;br /&gt;EventLogEntryType.Warning))&lt;br /&gt;{&lt;br /&gt;PersistToDB(entry);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;C. EventLog myLog = new EventLog(“Application”, “.”);&lt;br /&gt;foreach (EventLogEntry entry in myLog.Entries)&lt;br /&gt;{&lt;br /&gt;if (entry.Source == "MySource")&lt;br /&gt;{&lt;br /&gt;if (entry.EntryType == EventLogEntryType.Error&lt;br /&gt;entry.EntryType == EventLogEntryType.Warning)&lt;br /&gt;{&lt;br /&gt;PersistToDB(entry);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;D. EventLog myLog = new EventLog(“Application”, “.”);&lt;br /&gt;myLog.Source = “MySource”;&lt;br /&gt;foreach (EventLogEntry entry in myLog.Entries)&lt;br /&gt;{&lt;br /&gt;if (entry.EntryType == EventLogEntryType.Error&lt;br /&gt;entry.EntryType == EventLogEntryType.Warning)&lt;br /&gt;{&lt;br /&gt;PersistToDB(entry);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: C&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 11&lt;br /&gt;&lt;br /&gt;You are developing a class library. Portions of your code need to access system environment&lt;br /&gt;variables.&lt;br /&gt;You need to force a runtime SecurityException only when callers that are higher in the call stack&lt;br /&gt;do not have the necessary permissions.&lt;br /&gt;Which call method should you use?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A. Set-&gt;Demant();&lt;br /&gt;B. Set-&gt;Assert();&lt;br /&gt;C. Set-&gt;PermitOnly();&lt;br /&gt;D. Set-&gt;Deny();&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: &lt;/span&gt;&lt;span style="color:#C3D9FF;"&gt;A &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Question: 12&lt;br /&gt;&lt;br /&gt;You create the definition for a Vehicle class by using the following code segment.&lt;br /&gt;&lt;br /&gt;Public Class Vehicle&lt;br /&gt;&lt;?XML:NAMESPACE PREFIX = XmlAttribute(AttributeName /&gt;&lt;xmlattribute(attributename:="category")&gt;_&lt;br /&gt;Public vehicleType As String&lt;br /&gt;Public model As String&lt;br /&gt;&lt;xmlignore&gt;_&lt;br /&gt;Public year As Integer&lt;br /&gt;&lt;?XML:NAMESPACE PREFIX = XmlElement(ElementName /&gt;&lt;xmlelement(elementname:="mileage")&gt;_&lt;br /&gt;Public miles As Integer&lt;br /&gt;Public condition As ConditionType&lt;br /&gt;Public Sub New()&lt;br /&gt;End Sub&lt;br /&gt;Public Enum ConditionType&lt;br /&gt;&lt;xmlenum("poor")&gt;BelowAverage&lt;br /&gt;&lt;xmlenum("good")&gt;Average&lt;br /&gt;&lt;xmlenum("excellent")&gt;AboveAverage&lt;br /&gt;End Enum&lt;br /&gt;End Class&lt;br /&gt;&lt;br /&gt;You create an instance of the Vehicle class. You populate the public fields of the Vehicle class&lt;br /&gt;instance as shown in the following table:&lt;br /&gt;&lt;br /&gt;MemberValuevehicleTypecarmodelraceryear2002miles15000conditionAboveAverage&lt;br /&gt;You need to identify the XML block that is produced when this Vehicle class instance is&lt;br /&gt;serialized.&lt;br /&gt;Which block of XML represents the output of serializing the Vehicle instance?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A. &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;br /&gt;&lt;vehicle vehicletype="car" xsd="http://www.w3.org/2001/XMLSchema" xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;&lt;br /&gt;&lt;model&gt;racer&lt;/model&gt;&lt;br /&gt;&lt;miles&gt;15000&lt;/miles&gt;&lt;br /&gt;&lt;condition&gt;AboveAverage&lt;/condition&gt;&lt;br /&gt;&lt;/vehicle&gt;&lt;br /&gt;B. &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;br /&gt;&lt;vehicle xsd="http://www.w3.org/2001/XMLSchema" xsi="http://www.w3.org/2001/XMLSchema-instance" category="car"&gt;&lt;br /&gt;&lt;model&gt;racer&lt;/model&gt;&lt;br /&gt;&lt;mileage&gt;15000&lt;/mileage&gt;&lt;br /&gt;&lt;condition&gt;Excellent&lt;/condition&gt;&lt;br /&gt;&lt;/vehicle&gt;&lt;br /&gt;C. &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;br /&gt;&lt;vehicle xsd="http://www.w3.org/2001/XMLSchema" xsi="http://www.w3.org/2001/XMLSchema-instance" category="car"&gt;&lt;br /&gt;&lt;model&gt;racer&lt;/model&gt;&lt;br /&gt;&lt;mileage&gt;15000&lt;/mileage&gt;&lt;br /&gt;&lt;conditiontype&gt;Excellent&lt;/conditiontype&gt;&lt;br /&gt;&lt;/vehicle&gt;&lt;br /&gt;D. &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;br /&gt;&lt;vehicle xsd="http://www.w3.org/2001/XMLSchema" xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;&lt;br /&gt;&lt;category&gt;car&lt;/category&gt;&lt;br /&gt;&lt;model&gt;racer&lt;/model&gt;&lt;br /&gt;&lt;mileage&gt;15000&lt;/mileage&gt;&lt;br /&gt;&lt;condition&gt;Excellent&lt;/condition&gt;&lt;br /&gt;&lt;/vehicle&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Answer: B&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Question: 13&lt;br /&gt;&lt;br /&gt;You are developing an application for a client residing in Hong Kong.&lt;br /&gt;You need to display negative currency values by using a minus sign. Which code segment should&lt;br /&gt;you use?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A. Dim objCulture As NumberFormatInfo = _&lt;br /&gt;New CultureInfo("zh-HK").NumberFormatobjCulture.NumberNegativePattern = 1&lt;br /&gt;Return NumberToPrint.ToString("C", objCulture)&lt;br /&gt;B. Dim objCulture As NumberFormatInfo = _&lt;br /&gt;New CultureInfo("zh-HK").NumberFormatobjCulture.CurrencyNegativePattern =&lt;br /&gt;1Return NumberToPrint.ToString("C", objCulture)&lt;br /&gt;&lt;br /&gt;C. Dim objCulture As NumberFormatInfo = _&lt;br /&gt;New CultureInfo("zh-HK").NumberFormatReturn NumberToPrint.ToString("-{0}",&lt;br /&gt;objCulture)&lt;br /&gt;D. Dim objCulture As NumberFormatInfo = _&lt;br /&gt;New CultureInfo("zh-HK").NumberFormatReturn NumberToPrint.ToString("()",&lt;br /&gt;objCulture)&lt;br /&gt;&lt;/xmlelement(elementname:="mileage")&gt;&lt;/xmlattribute(attributename:="category")&gt;&lt;br /&gt;&lt;xmlattribute(attributename:="category")&gt;&lt;xmlelement(elementname:="mileage")&gt;&lt;span style="color:#006600;"&gt;Answer: &lt;span style="color:#C3D9FF;"&gt;B &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 14&lt;br /&gt;&lt;br /&gt;Your application uses two threads, named thread One and thread Two.&lt;br /&gt;You need to modify the code to prevent the execution of thread One until thread Two completes&lt;br /&gt;execution.&lt;br /&gt;What should you do?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A. Configure threadOne to run at a lower priority.&lt;br /&gt;B. Configure threadTwo to run at a higher priority.&lt;br /&gt;C. Use a WaitCallback delegate to synchronize the threads.&lt;br /&gt;D. Call the Sleep method of threadOne.&lt;br /&gt;E. Call the SpinLock method of threadOne.&lt;br /&gt;&lt;/xmlelement(elementname:="mileage")&gt;&lt;/xmlattribute(attributename:="category")&gt;&lt;br /&gt;&lt;xmlattribute(attributename:="category")&gt;&lt;xmlelement(elementname:="mileage")&gt;&lt;span style="color:#006600;"&gt;Answer: C&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 15&lt;br /&gt;&lt;br /&gt;You are developing a method to hash data with the Secure Hash Algorithm. The data is passed&lt;br /&gt;to your method as a byte array named message. You need to compute the hash of the incoming&lt;br /&gt;parameter by using SHA1. You also need to place the result into a byte array named hash. Which&lt;br /&gt;code segment should you use?&lt;br /&gt;&lt;br /&gt;A. Dim objSHA As New SHA1CryptoServiceProviderDim hash() As Byte =&lt;br /&gt;NothingobjSHA.TransformBlock(message, 0, message.Length, hash, 0)&lt;br /&gt;B. Dim objSHA As New SHA1CryptoServiceProviderDim hash() As Byte =&lt;br /&gt;BitConverter.GetBytes(objSHA.GetHashCode)&lt;br /&gt;C. Dim objSHA As New SHA1CryptoServiceProviderDim hash() As Byte =&lt;br /&gt;objSHA.ComputeHash(message)&lt;br /&gt;D. Dim objSHA As New SHA1CryptoServiceProviderobjSHA.GetHashCode()Dim&lt;br /&gt;hash() As Byte = objSHA.Hash&lt;br /&gt;&lt;/xmlelement(elementname:="mileage")&gt;&lt;/xmlattribute(attributename:="category")&gt;&lt;br /&gt;&lt;xmlattribute(attributename:="category")&gt;&lt;xmlelement(elementname:="mileage")&gt;&lt;span style="color:#006600;"&gt;Answer: &lt;/span&gt;&lt;span style="color:#C3D9FF;"&gt;C&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Question: 16&lt;br /&gt;&lt;br /&gt;You are writing a custom dictionary. The custom-dictionary class is named MyDictionary. You&lt;br /&gt;need to ensure that the dictionary is type safe.&lt;br /&gt;Which code segment should you use?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A. class MyDictionary : Dictionary&lt;string,&gt;&lt;br /&gt;B. class MyDictionary : HashTable&lt;br /&gt;C. class MyDictionary : IDictionary&lt;br /&gt;D. class MyDictionary { ... }&lt;br /&gt;Dictionary&lt;string,&gt; t = new Dictionary&lt;string,&gt;();MyDictionary dictionary =&lt;br /&gt;(MyDictionary)t;&lt;br /&gt;&lt;/xmlelement(elementname:="mileage")&gt;&lt;/xmlattribute(attributename:="category")&gt;&lt;br /&gt;&lt;xmlattribute(attributename:="category")&gt;&lt;xmlelement(elementname:="mileage")&gt;&lt;span style="color:#006600;"&gt;Answer: &lt;span style="color:#C3D9FF;"&gt;A &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 17&lt;br /&gt;&lt;br /&gt;You work as a developer at Company.com. You are creating an application that provides&lt;br /&gt;information about the local computer. The application contains a form that lists each logical drive&lt;br /&gt;with the drive properties, such as type, volume label, and capacity.&lt;br /&gt;You are required to write a procedure that retrieves properties of each logical drive on the local&lt;br /&gt;computer.&lt;br /&gt;What should you do?&lt;br /&gt;Arrange the appropriate actions in the correct order.&lt;br /&gt;&lt;/xmlelement(elementname:="mileage")&gt;&lt;/xmlattribute(attributename:="category")&gt;&lt;br /&gt;&lt;xmlattribute(attributename:="category")&gt;&lt;xmlelement(elementname:="mileage")&gt;&lt;span style="color:#006600;"&gt;Answer:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Question: 18&lt;br /&gt;&lt;br /&gt;You are developing an application for a client residing in Hong Kong.&lt;br /&gt;You need to display negative currency values by using a minus sign. Which code segment should&lt;br /&gt;you use?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A. NumberFormatInfo^ culture =&lt;br /&gt;gcnew CultureInfo(“zh-HK”)::NumberFormat; culture-&gt;NumberNegativePattern = 1;&lt;br /&gt;return numberToPrint-&gt;ToString(“C”, culture);&lt;br /&gt;B. NumberFormatInfo^ culture =&lt;br /&gt;gcnew CultureInfo(“zh-HK”)::NumberFormat; culture-&gt;CurrencyNegativePattern = 1;&lt;br /&gt;return numberToPrint-&gt;ToString(“C”, culture);&lt;br /&gt;C. CultureInfo^ culture =&lt;br /&gt;gcnew CultureInfo(“zh-HK”); return numberToPrint-&gt;ToString(“-(0)”, culture);&lt;br /&gt;D. CultureInfo^ culture =&lt;br /&gt;gcnew CultureInfo(“zh-HK”); return numberToPrint-&gt;ToString(“()”, culture);&lt;br /&gt;&lt;/xmlelement(elementname:="mileage")&gt;&lt;/xmlattribute(attributename:="category")&gt;&lt;br /&gt;&lt;xmlattribute(attributename:="category")&gt;&lt;xmlelement(elementname:="mileage")&gt;&lt;span style="color:#006600;"&gt;Answer: B&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 19&lt;br /&gt;&lt;br /&gt;You are developing a method to hash data with the Secure Hash Algorithm. The data is passed&lt;br /&gt;to your method as a byte array named message. You need to compute the hash of the incoming&lt;br /&gt;parameter by using SHA1. You also need to place the result into a byte array named hash. Which&lt;br /&gt;code segment should you use?&lt;br /&gt;&lt;br /&gt;A. SHA1 ^sha = gcnew SHA1CryptoServiceProvider();array&lt;byte&gt;^hash = nullptr;sha&gt;&lt;br /&gt;TransformBlock(message, 0, message-&gt;Length, hash, 0);&lt;br /&gt;B. SHA1 ^sha = gcnew SHA1CryptoServiceProvider();array&lt;byte&gt;^hash =&lt;br /&gt;BitConverter::GetBytes(sha-&gt;GetHashCode());&lt;br /&gt;C. SHA1 ^sha = gcnew SHA1CryptoServiceProvider();array&lt;byte&gt;^hash = sha&gt;&lt;br /&gt;ComputeHash(message);&lt;br /&gt;D. SHA1 ^sha = gcnew&lt;br /&gt;SHA1CryptoServiceProvider();sha-&gt;GetHashCode();array&lt;byte&gt;^hash = sha-&gt;Hash;&lt;br /&gt;&lt;/xmlelement(elementname:="mileage")&gt;&lt;/xmlattribute(attributename:="category")&gt;&lt;br /&gt;&lt;xmlattribute(attributename:="category")&gt;&lt;xmlelement(elementname:="mileage")&gt;&lt;span style="color:#006600;"&gt;Answer: C &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Question: 20&lt;br /&gt;&lt;br /&gt;You are writing an application that uses SOAP to exchange data with other applications.&lt;br /&gt;You use a Department class that inherits from ArrayList to send objects to another application.&lt;br /&gt;The Department object is named dept.&lt;br /&gt;You need to ensure that the application serializes the Department object for transport by using&lt;br /&gt;SOAP. Which code should you use?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A. SoapFormatter^ formatter = gcnew SoapFormatter();array&lt;byte&gt;^ buffer = gcnew&lt;br /&gt;array&lt;byte&gt;(dept-&gt;Capacity);MemoryStream^ stream = gcnew MemoryStream(buffer);&lt;br /&gt;for each (Object^ o in dept) {&lt;br /&gt;formatter-&gt;Serialize(stream, o);}&lt;br /&gt;B. SoapFormatter^ formatter = gcnew SoapFormatter();array&lt;byte&gt;^ buffer = gcnew&lt;br /&gt;array&lt;byte&gt;(dept-&gt;Capacity);MemoryStream^ stream = gcnew MemoryStream(buffer);&lt;br /&gt;formatter-&gt;Serialize(stream, dept);&lt;br /&gt;C. SoapFormatter^ formatter = gcnew SoapFormatter();MemoryStream^ stream = gcnew&lt;br /&gt;MemoryStream();for each (Object^ o in dept) {&lt;br /&gt;formatter-&gt;Serialize(stream, o);}&lt;br /&gt;D. SoapFormatter^ formatter = gcnew SoapFormatter();MemoryStream^ stream = gcnew&lt;br /&gt;MemoryStream();formatter-&gt;Serialize(stream, dept);&lt;br /&gt;&lt;/xmlelement(elementname:="mileage")&gt;&lt;/xmlattribute(attributename:="category")&gt;&lt;br /&gt;&lt;xmlattribute(attributename:="category")&gt;&lt;xmlelement(elementname:="mileage")&gt;&lt;span style="color:#006600;"&gt;Answer: D&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Question: 21&lt;br /&gt;&lt;br /&gt;You need to write a code segment that will create a common language runtime (CLR) unit of&lt;br /&gt;isolation within an application. Which code segment should you use?&lt;br /&gt;&lt;br /&gt;A. Dim mySetup As AppDomainSetup = _&lt;br /&gt;AppDomain.CurrentDomain.SetupInformationmySetup.ShadowCopyFiles = "true"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.................. and so on so far&lt;br /&gt;&lt;/xmlelement(elementname:="mileage")&gt;&lt;/xmlattribute(attributename:="category")&gt;&lt;xmlattribute(attributename:="category")&gt;&lt;xmlelement(elementname:="mileage")&gt;&lt;/xmlelement(elementname:="mileage")&gt;&lt;/xmlattribute(attributename:="category")&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5989219860267189708-2013848607183221444?l=ahmadeed.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mBgO4vU_6t8n51qopuMDLFCocW8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mBgO4vU_6t8n51qopuMDLFCocW8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mBgO4vU_6t8n51qopuMDLFCocW8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mBgO4vU_6t8n51qopuMDLFCocW8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Ahmadeed/~4/j9mQ5WekTW4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Ahmadeed/~3/j9mQ5WekTW4/mcts-exam-70-536-microsoft-net.html</link><author>noreply@blogger.com (Bairam.!)</author><thr:total>2</thr:total><feedburner:origLink>http://ahmadeed.blogspot.com/2008/08/mcts-exam-70-536-microsoft-net.html</feedburner:origLink></item></channel></rss>

