<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><channel><title>MSDN Blogs</title><link>http://blogs.msdn.com/b/</link><description>from ideas to solutions</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>انتج أول برنامج لك في ويندوز 8</title><link>http://blogs.msdn.com/b/msgulfcommunity/archive/2013/05/19/10419924.aspx</link><pubDate>Sun, 19 May 2013 09:56:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419924</guid><dc:creator>Amna Mangoosh Al Ali</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;السلام عليكم و رحمة الله و بركاته &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;كم من برامج كثيرة صنعناها و لم تنشر؟ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;ويندوز 8 يعطيك الفرصة لإنتاج و نشر برامجك بكل سهولة و بساطة&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;في هذه المدونة، سوف اعرض كيفية انتاج برنامج لويندوز 8&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;قبل البدء بذلك، يجب توافر أحدث نظام تشغيل على حواسبكم و برنامج "فيشول ستوديو "2012 و برنامج "بلند فور فيشول ستوديو "2012&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;يمكنكم تحميل هذه البرامج من &lt;a href="http://www.microsoft.com/visualstudio/eng/downloads#d-2012-editions"&gt;&lt;span style="color: #0563c1;"&gt;هنا&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;1)&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/7418.1.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/7418.1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;2)&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/4578.2.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/4578.2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="right"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;3)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;على سطح المكتب، افتح الايقونة التالية&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/8688.3.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/8688.3.jpg" alt="" width="119" height="116" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;4)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;ثم استكمل عملية التحميل&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/7827.4.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/7827.4.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;5)&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;سوف نستخدم لغة سي شارب لانتاج هذا البرنامج .احرص على اختيار سي شارب كلغة البرمجة عند الاعداد&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;بعد أن قمنا بتحميل البرنامج بالكامل، سنبدأ الآن بإنتاج البرنامج&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;1)&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/2376.5.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/2376.5.jpg" alt="" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;هذه هي صفحة البداية&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;2)&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/0083.6.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/0083.6.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;3)&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/2627.7.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/2627.7.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;ستصادفك هذه الصفحة. تأكد من كتابة اسم برنامجك باللغة الإنجليزية حتى لا يحدث اي عطل في البرنامج في المراحل اللاحقة&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;4)&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/4265.8.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/4265.8.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="right"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;قبل البدأ بالبرمجة، لابد من توافر الأدوات الأساسيه التي ستسهل علينا عملية البرمجة. من أهم هذه الأدوات هو صندوق الأدوات و مستكشف الحلول و نافذة الخصائص. ستكون الصفحة تشبه هذه&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/7571.9.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/7571.9.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;5)&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/5618.10.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/5618.10.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="line-height: 107%; font-family: 'Arial','sans-serif'; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi; mso-bidi-language: AR-AE; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US;" lang="AR-AE" dir="RTL"&gt;افتح هذه الصفحة لتتغير الشاشة و تصبح هكذا&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="line-height: 107%; font-family: 'Arial','sans-serif'; font-size: 11pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi; mso-bidi-language: AR-AE; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US;" lang="AR-AE" dir="RTL"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/8741.11.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/8741.11.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;هذه هي الصفحة الرئيسية، و حالياً هي فارغة لكن بامكانك تشغيل البرنامج و رؤية ما يبدو عليه. على لوحة المفاتيح اضغط على اف&lt;/span&gt; 5&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/8546.12.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/8546.12.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;في البداية ستظهر لك هذه الصفحة و بعدها صفحة سوداء فارغة&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/7128.13.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/7128.13.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align: right;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;هذه الصفحة هي ما يسمى بال"سبلاش سكرين" و يمكن تغييرها فيما بعد إلى ما نرغب به و ما يناسب برنامجنا&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: right;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;الجدير بالذكر هنا أنه كمل لاحظنا بأن شاشة الحاسب بأكملها تكون مخصصة للبرنامج فقط، بما معناه أننا لن نرى البرامج الأخرى التي تكون في الشريط السفلي من الشاشة عادة. هذه خاصة من خواص ويندوز 8 الرائعة، و هي خاصية جعل الأولوية للبرنامج المستخدم حاليا و التركيز عليه بلا مقاطعات من برامج أخرى&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: right;"&gt;&lt;span style="font-size: medium;"&gt;6)&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: right;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/4857.14.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/4857.14.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;في هذه الصورة نرى برنامج الفيشول ستوديو أثناء تشغيل البرنامج اللي نعمل عليه. لا يمكن العمل في تطوير اي برنامج في الفيشول ستوديو و هو في حالة التشغيل&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;7)&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/6012.15.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/6012.15.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;في هذه الخطوة سنحذف الصفحة الرئيسية&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/6545.16.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/6545.16.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;8)&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/7418.17.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/7418.17.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/6765.18.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/6765.18.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/5342.19.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/5342.19.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;9)&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/1256.20.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/1256.20.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;ستظهر لك الصفحة هكذا. على لوحة المفاتيح اضغط على "اف 6". بعد الضغط على "اف 6" ستتغير الصفحة لتصبح على هذا الشكل&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/6837.21.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/6837.21.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;لتتمكن من رؤية الصفحة بأكملها، على لوحة المفاتيح اضغط على زر "كنترول" و "0" في الوقت نفسه. تأكد من أن الفأرة في المساحة الخالية كما هو مبين في الصورة السابقة. ستتغير الصفحة لتصبح هكذا&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/7534.22.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09/7534.22.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;10)&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;أصبحت الآن جاهزاً للبدأ بالبرمجة. في المدونة التعليمية التالية شوف أشرح كيفية انتاج برنامج ويندوز 8&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;span style="font-size: medium;"&gt;اذا استفدت من هذه المدونة، الرجاء ترك تعليق في الأسفل&lt;/span&gt;&lt;/p&gt;
&lt;p align="right"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="right"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419924" width="1" height="1"&gt;</description></item><item><title>Windows Phone Toolkit: Context Menu getting selected item within a long list selector</title><link>http://blogs.msdn.com/b/msgulfcommunity/archive/2013/05/19/windows-phone-toolkit-context-menu-getting-selected-item-within-a-long-list-selector.aspx</link><pubDate>Sun, 19 May 2013 09:14:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419923</guid><dc:creator>Neha Goel</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Windows Phone Toolkit: Context Menu getting selected item within a long list selector&lt;/p&gt;  &lt;p&gt;Now you can add touch-sensitive menus to your Windows Phone 8 apps by using Context menus. One of the new components in the &lt;a href="http://phone.codeplex.com/"&gt;Windows Phone Toolkit&lt;/a&gt;&lt;a href="http://silverlight.codeplex.com/releases/view/55034"&gt;&lt;/a&gt; is Context Menu. Basically when the user taps and holds on any item the context menu appears. It is used in areas like for example the application list, where if you tap and hold an application you get the option to pin it to the start menu, uninstall, etc. Similarly, You can easily display a context menu over a long list selector and make the context menu do a set of actions over each item without having to specify that every time.&lt;/p&gt;  &lt;p&gt;For Example: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09-metablogapi/3731.clip_5F00_image001_5F00_66EF77D9.jpg"&gt;&lt;img title="clip_image001" style="display: inline;" border="0" alt="clip_image001" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-35-09-metablogapi/3000.clip_5F00_image001_5F00_thumb_5F00_52F5E543.jpg" width="244" height="216" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To begin using the Context Menus (like in the image above) over a long list selector in your app:-&lt;/p&gt;  &lt;p&gt;1. Add nugget Windows Phone Toolkit - http://nuget.org/packages/WPToolkit/&lt;/p&gt;  &lt;p&gt;To add nuget &lt;/p&gt;  &lt;p&gt;- Right click on References&lt;/p&gt;  &lt;p&gt;- Manage Nuget Packages&lt;/p&gt;  &lt;p&gt;- With the online option chosen on the left panel, search for the nuget&lt;/p&gt;  &lt;p&gt;- Install &lt;/p&gt;  &lt;p&gt;2. Add the &amp;quot;toolkit&amp;quot; prefix declaration. Make sure that your page declaration includes the &amp;quot;toolkit&amp;quot; namespace:&lt;/p&gt;  &lt;p&gt;xmlns:toolkit=&amp;quot;clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit&amp;quot;&lt;/p&gt;  &lt;p&gt;3. Add the Context Menu to the data template of your long list selector&lt;/p&gt;  &lt;p&gt;&amp;lt;toolkit:ContextMenuService.ContextMenu&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;lt;toolkit:ContextMenu IsZoomEnabled=&amp;quot;True&amp;quot;x:Name=&amp;quot;ContextMenu&amp;quot; &amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;lt;toolkit:MenuItem x:Name=”Watch&amp;quot; Header=”Watch Trailer&amp;quot; Click=&amp;quot;Watch_Click&amp;quot;/&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;lt;toolkit:MenuItem x:Name=&amp;quot;Buy&amp;quot; Header=&amp;quot;Buy&amp;quot; Click=&amp;quot;Buy_Click&amp;quot;/&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;lt;toolkit:MenuItem x:Name=&amp;quot;Share&amp;quot; Header=&amp;quot;Share&amp;quot; Click=&amp;quot;Share_Click&amp;quot;/&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;lt;/toolkit:ContextMenu&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;lt;/toolkit:ContextMenuService.ContextMenu&amp;gt;&lt;/p&gt;  &lt;p&gt;4. Finally, write click event code in code behind. Also you can use Command to bind action and use MVVM patern:&lt;/p&gt;  &lt;p&gt;private void Watch_Click(object sender, RoutedEventArgs e)&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;var selected =(sender as MenuItem).DataContext as MainPageViewModel;&lt;/p&gt;  &lt;p&gt;//Do something&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;And now you have a very cool way to add commands in your app!&lt;/p&gt;  &lt;p&gt;References&lt;/p&gt;  &lt;p&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/wpdevelop/thread/9ef36d6c-09c6-47dc-a479-cbbedeacd2e1"&gt;http://social.msdn.microsoft.com/Forums/en-US/wpdevelop/thread/9ef36d6c-09c6-47dc-a479-cbbedeacd2e1&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://myprogrammingdial.blogspot.com/2011/12/introduction-of-using-windows-phone_666.html"&gt;http://myprogrammingdial.blogspot.com/2011/12/introduction-of-using-windows-phone_666.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.geekchamp.com/articles/wp7-contextmenu-in-depth--part1-key-concepts-and-api"&gt;http://www.geekchamp.com/articles/wp7-contextmenu-in-depth--part1-key-concepts-and-api&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419923" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/msgulfcommunity/archive/tags/app+development/">app development</category><category domain="http://blogs.msdn.com/b/msgulfcommunity/archive/tags/Windows+Phone+8/">Windows Phone 8</category></item><item><title>You are invited to attend May HERO Sessions</title><link>http://blogs.msdn.com/b/egtechtalk/archive/2013/05/19/you-are-invited-to-attend-may-hero-sessions.aspx</link><pubDate>Sun, 19 May 2013 09:08:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419922</guid><dc:creator>DPE Egypt</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1025" src="http://click.email.microsoftemail.com/open.aspx?ffcb10-fe8816747d610c797d-fe21177675620d74731370-fec415787263077c-fec21c767365017e-fe1b117870610174701d71-ff901279&amp;amp;d=10024" alt="" width="1" height="1" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div class="WordSection1" style="text-align: left;"&gt;
&lt;div align="center"&gt;
&lt;table class="MsoNormalTable" style="width: 600px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes; height: 15.0pt;"&gt;
&lt;td style="width: 20.25pt; background: #CACACA; padding: 0in 0in 0in 0in; height: 15.0pt;" width="27"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1026" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="27" height="1" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 409.5pt; padding: 0in 0in 0in 0in; height: 15.0pt;" valign="top" width="546"&gt;
&lt;table class="MsoNormalTable" style="width: 546px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; height: 30.0pt;"&gt;
&lt;td style="background: #CACACA; padding: 0in 0in 0in 0in; height: 30.0pt;" colspan="3"&gt;
&lt;p class="MsoNormal" style="text-align: center; line-height: 14.25pt;" align="center"&gt;&lt;span style="font-size: 7.5pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: #505050;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 1; height: 15.0pt;"&gt;
&lt;td style="background: white; padding: 0in 0in 0in 0in; height: 15.0pt;" colspan="3"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1027" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="1" height="20" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 2;"&gt;
&lt;td style="width: 15.0pt; background: white; padding: 0in 0in 0in 0in;" width="20"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1028" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="20" height="1" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 394.5pt; background: white; padding: 0in 0in 0in 0in;" colspan="2" width="526"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1029" style="display: block;" title="Microsoft" src="http://www.microsoft.com/middleeast/email/2012/11/08-HERO/images/logo.png" alt="Microsoft" width="144" height="32" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 3; height: 15.0pt;"&gt;
&lt;td style="background: white; padding: 0in 0in 0in 0in; height: 15.0pt;" colspan="3"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1030" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="1" height="20" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 4;"&gt;
&lt;td style="padding: 0in 0in 0in 0in;" colspan="3"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1031" style="display: block;" title="HERO" src="http://www.microsoft.com/middleeast/email/2012/11/08-HERO/images/header.png" alt="HERO" width="546" height="316" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 5;"&gt;
&lt;td style="padding: 0in 0in 0in 0in;" colspan="3"&gt;
&lt;table class="MsoNormalTable" style="mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; height: 15.0pt;"&gt;
&lt;td style="background: #E81123; padding: 0in 0in 0in 0in; height: 15.0pt;" colspan="2"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1032" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="1" height="20" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 1;"&gt;
&lt;td style="width: 15.0pt; background: #E81123; padding: 0in 0in 0in 0in;" width="20"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1033" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="20" height="1" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 292.5pt; background: #E81123; padding: 0in 0in 0in 0in;" width="390"&gt;
&lt;p class="MsoNormal" style="line-height: 34.5pt;"&gt;&lt;span style="font-size: 23.5pt; font-family: 'Segoe UI Light','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: white;"&gt;Join our latest Hero sessions.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 2; mso-yfti-lastrow: yes; height: 15.0pt;"&gt;
&lt;td style="background: #E81123; padding: 0in 0in 0in 0in; height: 15.0pt;" colspan="2"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1034" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="1" height="20" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 6; height: 22.5pt;"&gt;
&lt;td style="background: white; padding: 0in 0in 0in 0in; height: 22.5pt;" colspan="3"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1035" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="1" height="30" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 7;"&gt;
&lt;td style="width: 15.0pt; background: white; padding: 0in 0in 0in 0in;" width="20"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1036" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="20" height="1" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 357.0pt; background: white; padding: 0in 0in 0in 0in;" width="476"&gt;
&lt;p class="MsoNormal" style="line-height: 14.25pt;"&gt;&lt;span style="font-size: 10.0pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: #505050;"&gt;IT Heroes, our aim is to keep you updated on anything and everything IT-related in the region, from the latest news on Microsoft products and services, to new innovations and tools. Now you can get all this and more through:&lt;br /&gt; &lt;br /&gt; - Monthly HERO events and sessions.&lt;br /&gt; - Monthly technical newsletter with latest technology updates.&lt;a href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a074131c02b4629ac6fc978afba0e3d7f134625d752a5228743c10ee99c644edaf"&gt; Subscribe Here&lt;/a&gt; &lt;br /&gt; - HERO Portal. &lt;a href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a09762475614beb4d8e7e2c520beefebf8d127cc05b7cf0dd7547982d9aa0b9215"&gt;Get in Touch.&lt;/a&gt; &lt;br /&gt; &lt;br /&gt; &amp;nbsp;Make sure to clear your schedule so you can catch up on what IT Pros and Developers like yourself have been buzzing about and waiting for. Register for the sessions that interest you and be sure to join us on the day through phone or online meeting. &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 37.5pt; background: white; padding: 0in 0in 0in 0in;" width="50"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1037" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="50" height="1" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 8; height: 22.5pt;"&gt;
&lt;td style="background: white; padding: 0in 0in 0in 0in; height: 22.5pt;" colspan="3"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1038" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="1" height="30" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 9; height: 15.0pt;"&gt;
&lt;td style="background: #EFEFEF; padding: 0in 0in 0in 0in; height: 15.0pt;" colspan="3"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1039" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="1" height="20" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 10;"&gt;
&lt;td style="width: 15.0pt; background: #EFEFEF; padding: 0in 0in 0in 0in;" width="20"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1040" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="20" height="1" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 357.0pt; background: #EFEFEF; padding: 0in 0in 0in 0in;" valign="top" width="476"&gt;
&lt;table class="MsoNormalTable" style="width: 476px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;"&gt;
&lt;td style="background: #EFEFEF; padding: 0in 0in 0in 0in;"&gt;
&lt;p class="MsoNormal" style="margin-bottom: 12.0pt; mso-line-height-alt: 14.25pt;"&gt;&lt;span style="font-size: 17.5pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: #e81123;"&gt;First Session: Continuous Integration with TFS&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: #505050;"&gt;&lt;br /&gt; &lt;br /&gt; In this session, you will discover more about the promised value of continuous integration and some war stories. You will see some demos on how you can get the most value from setting up your continuous integration environment using TFS and Visual Studio 2012. &lt;br /&gt; &lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;Date:&lt;/span&gt;&lt;/strong&gt; Monday 27th of May 2013 &lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;Time:&lt;/span&gt;&lt;/strong&gt; 10:30 AM &amp;ndash; 1:30 PM&lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;Session:&lt;/span&gt;&lt;/strong&gt; &amp;ldquo;Continuous Integration with TFS&amp;rdquo; &lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;Speaker:&lt;/span&gt;&lt;/strong&gt; Mohamed Samy &lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;Venue:&lt;/span&gt;&lt;/strong&gt; Microsoft building &amp;ndash; Smart Village&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 1;"&gt;
&lt;td style="padding: 0in 0in 0in 0in;" valign="top"&gt;
&lt;table class="MsoNormalTable" style="width: 308px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"&gt;
&lt;td style="width: 99.75pt; background: #505050; padding: 0in 0in 0in 0in;" width="133"&gt;
&lt;table class="MsoNormalTable" style="width: 133px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"&gt;
&lt;td style="width: 6.0pt; padding: 0in 0in 0in 0in;" width="8"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1041" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="8" height="30" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 18.75pt; padding: 0in 0in 0in 0in;" width="25"&gt;
&lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1042" style="display: block;" src="http://www.microsoft.com/middleeast/email/2012/11/08-HERO/images/arrow.png" alt="" width="19" height="18" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 75.0pt; padding: 0in 0in 0in 0in;" width="100"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11.5pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: white;"&gt;&lt;a title="Register now" href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a057aea4df773769eebabf4b1244047b3682948f76006bead11989648a972cb021" target="_blank"&gt;&lt;span style="color: white; text-decoration: none; text-underline: none;"&gt;Register now&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;td style="width: 15.0pt; padding: 0in 0in 0in 0in;" width="20"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1043" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="20" height="1" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 125.25pt; background: #505050; padding: 0in 0in 0in 0in;" width="167"&gt;
&lt;table class="MsoNormalTable" style="width: 167px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"&gt;
&lt;td style="width: 6.0pt; padding: 0in 0in 0in 0in;" width="8"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1044" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="8" height="1" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 18.75pt; padding: 0in 0in 0in 0in;" width="25"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1045" style="display: block;" src="http://www.microsoft.com/middleeast/email/2012/11/08-HERO/images/arrow.png" alt="" width="19" height="18" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 100.5pt; padding: 0in 0in 0in 0in;" width="134"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11.5pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: white;"&gt;&lt;a title="Join online meeting" href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a0ddc302563ed506349a18613d81cba7e8a7b8d403aecfca6445d4ab26ef511aa0" target="_blank"&gt;&lt;span style="color: white; text-decoration: none; text-underline: none;"&gt;Join online meeting&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 2; height: 15.0pt;"&gt;
&lt;td style="padding: 0in 0in 0in 0in; height: 15.0pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1046" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="1" height="20" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 3;"&gt;
&lt;td style="background: #EFEFEF; padding: 0in 0in 0in 0in;"&gt;
&lt;table class="MsoNormalTable" style="width: 476px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"&gt;
&lt;td style="width: 30.0pt; padding: 0in 0in 0in 0in;" valign="top" width="40"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1047" style="display: block; float: left;" title="" src="http://www.microsoft.com/middleeast/email/2012/11/08-HERO/images/phone.png" alt="" width="20" height="19" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="background: #EFEFEF; padding: 0in 0in 0in 0in;"&gt;
&lt;p class="MsoNormal" style="margin-bottom: 12.0pt; line-height: 16.5pt;"&gt;&lt;span style="font-size: 11.5pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: #505050;"&gt;Join by Phone: +20235393330 &lt;br /&gt; &lt;a href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a021c8bbb9ca8cde700d84991e555af2c8b0e5d9fbf3a5d0801bed98a5731313f6" target="_blank"&gt;&lt;span style="color: #505050;"&gt;Find a local number&lt;/span&gt;&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes;"&gt;
&lt;td style="background: #EFEFEF; padding: 0in 0in 0in 0in;"&gt;
&lt;p class="MsoNormal" style="margin-bottom: 12.0pt; line-height: 14.25pt;"&gt;&lt;span style="font-size: 10.0pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: #505050;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Conference ID: &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;66127341&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt; &lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a021c8bbb9ca8cde700d84991e555af2c8b0e5d9fbf3a5d0801bed98a5731313f6" target="_blank"&gt;&lt;span style="color: #505050;"&gt;Forgot your dial-in PIN?&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt; | &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;&lt;a href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a0834568c6d36bd98b227149a35ea2c6a4ac53464060ec15ecb2acfe6d0592dfde" target="_blank"&gt;&lt;span style="color: #505050;"&gt;First online meeting&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br style="mso-special-character: line-break;" /&gt; &lt;br style="mso-special-character: line-break;" /&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;td style="width: 37.5pt; background: #EFEFEF; padding: 0in 0in 0in 0in;" width="50"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1048" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="50" height="1" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 11; height: 15.0pt;"&gt;
&lt;td style="background: white; padding: 0in 0in 0in 0in; height: 15.0pt;" colspan="3"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1049" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="1" height="20" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 12;"&gt;
&lt;td style="width: 15.0pt; background: white; padding: 0in 0in 0in 0in;" width="20"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1050" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="20" height="1" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 357.0pt; background: white; padding: 0in 0in 0in 0in;" valign="top" width="476"&gt;
&lt;table class="MsoNormalTable" style="width: 476px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;"&gt;
&lt;td style="background: white; padding: 0in 0in 0in 0in;"&gt;
&lt;p class="MsoNormal" style="margin-bottom: 12.0pt; mso-line-height-alt: 14.25pt;"&gt;&lt;span class="style11"&gt;&lt;span style="font-size: 17.5pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman';"&gt;Second Session: SQL Server 2012 AlwaysOn: Availability Groups Drilldown&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: #505050;"&gt;&lt;br /&gt; &lt;br /&gt; Know more about the AlwaysOn Availability Groups introduced in SQL Server 2012, support mission-critical high availability and disaster recovery. Get ready to drill down into their architecture and technical details to understand how they work while seeing multiple demos covering this deep technical content. &lt;br /&gt; &lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;Date:&lt;/span&gt;&lt;/strong&gt; Tuesday 28th of May 2013&lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;Time:&lt;/span&gt;&lt;/strong&gt; 10:30 AM &amp;ndash; 1:30 PM&lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;Session:&lt;/span&gt;&lt;/strong&gt; &amp;ldquo;SQL Server 2012 AlwaysOn: Availability Groups Drilldown&amp;rdquo;&lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;Speaker:&lt;/span&gt;&lt;/strong&gt; Mohammad Hassan &lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;Venue: &lt;/span&gt;&lt;/strong&gt;Microsoft building &amp;ndash; Smart Village&lt;br style="mso-special-character: line-break;" /&gt; &lt;br style="mso-special-character: line-break;" /&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 1;"&gt;
&lt;td style="padding: 0in 0in 0in 0in;" valign="top"&gt;
&lt;table class="MsoNormalTable" style="width: 308px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"&gt;
&lt;td style="width: 99.75pt; background: #505050; padding: 0in 0in 0in 0in;" width="133"&gt;
&lt;table class="MsoNormalTable" style="width: 133px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"&gt;
&lt;td style="width: 6.0pt; padding: 0in 0in 0in 0in;" width="8"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1051" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="8" height="30" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 18.75pt; padding: 0in 0in 0in 0in;" width="25"&gt;
&lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1052" style="display: block;" src="http://www.microsoft.com/middleeast/email/2012/11/08-HERO/images/arrow.png" alt="" width="19" height="18" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 75.0pt; padding: 0in 0in 0in 0in;" width="100"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11.5pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: white;"&gt;&lt;a title="Register now" href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a077aa62be2fc76ef2fa84f33ae9ddc0ca60eb5e2b16144574eb76e083e3133c6f" target="_blank"&gt;&lt;span style="color: white; text-decoration: none; text-underline: none;"&gt;Register now&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;td style="width: 15.0pt; padding: 0in 0in 0in 0in;" width="20"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1053" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="20" height="1" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 125.25pt; background: #505050; padding: 0in 0in 0in 0in;" width="167"&gt;
&lt;table class="MsoNormalTable" style="width: 167px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"&gt;
&lt;td style="width: 6.0pt; padding: 0in 0in 0in 0in;" width="8"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1054" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="8" height="1" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 18.75pt; padding: 0in 0in 0in 0in;" width="25"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1055" style="display: block;" src="http://www.microsoft.com/middleeast/email/2012/11/08-HERO/images/arrow.png" alt="" width="19" height="18" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 100.5pt; padding: 0in 0in 0in 0in;" width="134"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11.5pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: white;"&gt;&lt;a title="Join online meeting" href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a0ddc302563ed506349a18613d81cba7e8a7b8d403aecfca6445d4ab26ef511aa0" target="_blank"&gt;&lt;span style="color: white; text-decoration: none; text-underline: none;"&gt;Join online meeting&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 2; height: 15.0pt;"&gt;
&lt;td style="padding: 0in 0in 0in 0in; height: 15.0pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1056" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="1" height="20" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 3;"&gt;
&lt;td style="background: white; padding: 0in 0in 0in 0in;"&gt;
&lt;table class="MsoNormalTable" style="width: 476px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"&gt;
&lt;td style="width: 30.0pt; padding: 0in 0in 0in 0in;" valign="top" width="40"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1057" style="display: block; float: left;" title="" src="http://www.microsoft.com/middleeast/email/2012/11/08-HERO/images/phone.png" alt="" width="20" height="19" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="background: white; padding: 0in 0in 0in 0in;"&gt;
&lt;p class="MsoNormal" style="margin-bottom: 12.0pt; line-height: 16.5pt;"&gt;&lt;span style="font-size: 11.5pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: #505050;"&gt;Join by Phone: +20235393330 &lt;br /&gt; &lt;a href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a021c8bbb9ca8cde700d84991e555af2c8b0e5d9fbf3a5d0801bed98a5731313f6" target="_blank"&gt;&lt;span style="color: #505050;"&gt;Find a local number&lt;/span&gt;&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes;"&gt;
&lt;td style="background: white; padding: 0in 0in 0in 0in;"&gt;
&lt;p class="MsoNormal" style="margin-bottom: 12.0pt; line-height: 14.25pt;"&gt;&lt;span style="font-size: 10.0pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: #505050;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Conference ID: &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;66127341&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt; &lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a021c8bbb9ca8cde700d84991e555af2c8b0e5d9fbf3a5d0801bed98a5731313f6" target="_blank"&gt;&lt;span style="color: #505050;"&gt;Forgot your dial-in PIN?&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt; | &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;&lt;a href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a0834568c6d36bd98b227149a35ea2c6a4ac53464060ec15ecb2acfe6d0592dfde" target="_blank"&gt;&lt;span style="color: #505050;"&gt;First online meeting&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br style="mso-special-character: line-break;" /&gt; &lt;br style="mso-special-character: line-break;" /&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;td style="width: 37.5pt; background: white; padding: 0in 0in 0in 0in;" width="50"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1058" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="50" height="1" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 13; height: 15.0pt;"&gt;
&lt;td style="background: #EFEFEF; padding: 0in 0in 0in 0in; height: 15.0pt;" colspan="3"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1059" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="1" height="20" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 14;"&gt;
&lt;td style="width: 15.0pt; background: #EFEFEF; padding: 0in 0in 0in 0in;" width="20"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1060" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="20" height="1" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 357.0pt; background: #EFEFEF; padding: 0in 0in 0in 0in;" valign="top" width="476"&gt;
&lt;table class="MsoNormalTable" style="width: 476px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;"&gt;
&lt;td style="background: #EFEFEF; padding: 0in 0in 0in 0in;"&gt;
&lt;p class="MsoNormal" style="margin-bottom: 12.0pt; mso-line-height-alt: 14.25pt;"&gt;&lt;span style="font-size: 17.5pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: #e81123;"&gt;Third Session: Deep Dive in Windows 8 Development&lt;br /&gt; &lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: #505050;"&gt;&lt;br /&gt; In this session we'll learn more about: &lt;br /&gt; - How to use Blend for Visual Studio in order to change User Interface of our applications. &lt;br /&gt; - How to create animations in side of application. &lt;br /&gt; - How to create and register background tasks using the Windows Runtime background task API. &lt;br /&gt; - Microsoft Design Style, and tips &amp;amp; tricks for Snapping &amp;amp; Scaling. &lt;br /&gt; - How to add a cloud-based backend service to a Windows Store app using Windows Azure Mobile Services. &lt;br /&gt; &lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;Date:&lt;/span&gt;&lt;/strong&gt; Wednesday 29th of May 2013 &lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;Time:&lt;/span&gt;&lt;/strong&gt; 10:30 AM &amp;ndash; 3:30 PM&lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;Session:&lt;/span&gt;&lt;/strong&gt; &amp;ldquo;Deep Dive in Windows 8 Development&amp;rdquo; &lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;Speaker:&lt;/span&gt;&lt;/strong&gt; Samah Seddeik and Amr Khamise &lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;Venue:&lt;/span&gt;&lt;/strong&gt; Microsoft building &amp;ndash; Smart Village&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 1;"&gt;
&lt;td style="padding: 0in 0in 0in 0in;" valign="top"&gt;
&lt;table class="MsoNormalTable" style="width: 308px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"&gt;
&lt;td style="width: 99.75pt; background: #505050; padding: 0in 0in 0in 0in;" width="133"&gt;
&lt;table class="MsoNormalTable" style="width: 133px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"&gt;
&lt;td style="width: 6.0pt; padding: 0in 0in 0in 0in;" width="8"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1061" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="8" height="30" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 18.75pt; padding: 0in 0in 0in 0in;" width="25"&gt;
&lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1062" style="display: block;" src="http://www.microsoft.com/middleeast/email/2012/11/08-HERO/images/arrow.png" alt="" width="19" height="18" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 75.0pt; padding: 0in 0in 0in 0in;" width="100"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11.5pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: white;"&gt;&lt;a title="Register now" href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a0c5f5ff161801e03c785b9dccf88d42540b55f43429a23785485d52d773e6c9d0" target="_blank"&gt;&lt;span style="color: white; text-decoration: none; text-underline: none;"&gt;Register now&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;td style="width: 15.0pt; padding: 0in 0in 0in 0in;" width="20"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1063" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="20" height="1" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 125.25pt; background: #505050; padding: 0in 0in 0in 0in;" width="167"&gt;
&lt;table class="MsoNormalTable" style="width: 167px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"&gt;
&lt;td style="width: 6.0pt; padding: 0in 0in 0in 0in;" width="8"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1064" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="8" height="1" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 18.75pt; padding: 0in 0in 0in 0in;" width="25"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1065" style="display: block;" src="http://www.microsoft.com/middleeast/email/2012/11/08-HERO/images/arrow.png" alt="" width="19" height="18" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 100.5pt; padding: 0in 0in 0in 0in;" width="134"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11.5pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: white;"&gt;&lt;a title="Join online meeting" href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a0ddc302563ed506349a18613d81cba7e8a7b8d403aecfca6445d4ab26ef511aa0" target="_blank"&gt;&lt;span style="color: white; text-decoration: none; text-underline: none;"&gt;Join online meeting&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 2; height: 15.0pt;"&gt;
&lt;td style="padding: 0in 0in 0in 0in; height: 15.0pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1066" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="1" height="20" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 3;"&gt;
&lt;td style="background: #EFEFEF; padding: 0in 0in 0in 0in;"&gt;
&lt;table class="MsoNormalTable" style="width: 476px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"&gt;
&lt;td style="width: 30.0pt; padding: 0in 0in 0in 0in;" valign="top" width="40"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1067" style="display: block; float: left;" title="" src="http://www.microsoft.com/middleeast/email/2012/11/08-HERO/images/phone.png" alt="" width="20" height="19" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="background: #EFEFEF; padding: 0in 0in 0in 0in;"&gt;
&lt;p class="MsoNormal" style="margin-bottom: 12.0pt; line-height: 16.5pt;"&gt;&lt;span style="font-size: 11.5pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: #505050;"&gt;Join by Phone: +20235393330 &lt;br /&gt; &lt;a href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a021c8bbb9ca8cde700d84991e555af2c8b0e5d9fbf3a5d0801bed98a5731313f6" target="_blank"&gt;&lt;span style="color: #505050;"&gt;Find a local number&lt;/span&gt;&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes;"&gt;
&lt;td style="background: #EFEFEF; padding: 0in 0in 0in 0in;"&gt;
&lt;p class="MsoNormal" style="margin-bottom: 12.0pt; line-height: 14.25pt;"&gt;&lt;span style="font-size: 10.0pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: #505050;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Conference ID: &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;66127341&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt; &lt;br /&gt; &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a021c8bbb9ca8cde700d84991e555af2c8b0e5d9fbf3a5d0801bed98a5731313f6" target="_blank"&gt;&lt;span style="color: #505050;"&gt;Forgot your dial-in PIN?&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt; | &lt;strong&gt;&lt;span style="font-family: 'Segoe UI','sans-serif';"&gt;&lt;a href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a0834568c6d36bd98b227149a35ea2c6a4ac53464060ec15ecb2acfe6d0592dfde" target="_blank"&gt;&lt;span style="color: #505050;"&gt;First online meeting&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br style="mso-special-character: line-break;" /&gt; &lt;br style="mso-special-character: line-break;" /&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;td style="width: 37.5pt; background: #EFEFEF; padding: 0in 0in 0in 0in;" width="50"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1068" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="50" height="1" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 15; height: 15.0pt;"&gt;
&lt;td style="background: white; padding: 0in 0in 0in 0in; height: 15.0pt;" colspan="3"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1069" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="1" height="20" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 16;"&gt;
&lt;td style="width: 15.0pt; background: white; padding: 0in 0in 0in 0in;" width="20"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1070" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="20" height="1" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 357.0pt; background: white; padding: 0in 0in 0in 0in;" colspan="2" width="476"&gt;
&lt;p class="MsoNormal" style="margin-bottom: 12.0pt; line-height: 14.25pt;"&gt;&lt;span style="font-size: 10.0pt; font-family: 'Segoe UI','sans-serif'; mso-fareast-font-family: 'Times New Roman'; color: #505050;"&gt;See you there!&lt;br /&gt; &lt;br /&gt; The HERO Team&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 17; mso-yfti-lastrow: yes; height: 15.0pt;"&gt;
&lt;td style="background: #CACACA; padding: 0in 0in 0in 0in; height: 15.0pt;" colspan="3"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1071" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="1" height="20" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;td style="width: 20.25pt; background: #CACACA; padding: 0in 0in 0in 0in; height: 15.0pt;" width="27"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1072" style="display: block;" title="" src="http://www.microsoft.com/middleeast/email/2012/08/02-SOAF130069/images/1-90.gif" alt="" width="27" height="1" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman'; display: none; mso-hide: all;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div align="center"&gt;
&lt;table class="MsoNormalTable" style="width: 600px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"&gt;
&lt;td style="width: 18.75pt; background: white; padding: 0in 0in 0in 0in;" width="25"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1073" style="display: block;" src="http://www.microsoft.com/middleeast/email/2011/01/09-cloud/ar/img/11100_spacer.gif" alt="&amp;amp;nbsp;" width="25" height="1" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width: 412.5pt; background: white; padding: 0in 0in 0in 0in;" valign="top" width="550"&gt;
&lt;div align="center"&gt;
&lt;table class="MsoNormalTable" style="width: 550px; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 1.5pt 1.5pt 1.5pt 1.5pt;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"&gt;
&lt;td style="padding: 1.5pt 1.5pt 1.5pt 1.5pt;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 7.5pt; font-family: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman';"&gt;&lt;br /&gt; Microsoft respects your privacy. Please read our online &lt;a href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a056e2d463680e59a2f25285b2c52aabc45e2ee0932bf9b2f6ffc45f379a292029"&gt;Privacy Statement&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt; If you would prefer not to receive future promotional emails from &lt;strong&gt;Microsoft Corporation&lt;/strong&gt; please click &lt;a href="http://click.email.microsoftemail.com/?qs=7c880a7b47d764a0594db0037cfb5f24bcaa58ae9e4371778ddb8c04c83268955380bce26e029c06"&gt;here&lt;/a&gt;. These settings will not affect any newsletters you've requested or any mandatory service communications that are considered part of certain Microsoft services.&lt;br /&gt; &lt;br /&gt; To set your contact preferences for Microsoft Communications, click &lt;a href="http://click.email.microsoftemail.com/m_hcp.aspx?qs=25d2acf95f51af64189f60a162479ea152eee0dd7f8b582df58415f8f912ecd1fb7e014b19c74cff4410f2933400e68e5a3dd6362ebd7650be0f8527e91a31bf620bdd6331990e697d6b0f4416aeaaa8c220683e4853f304"&gt;here&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt; Microsoft Egypt&lt;br /&gt; 28&lt;br /&gt; Alex Desert Road, Abou Rawash Cairo Egypt &lt;br /&gt; &lt;br /&gt; &amp;copy;2013 Microsoft Corporation. All Rights Reserved. &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style="width: 18.75pt; background: white; padding: 0in 0in 0in 0in;" width="25"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&lt;img id="_x0000_i1074" style="display: block;" src="http://www.microsoft.com/middleeast/email/2011/01/09-cloud/ar/img/11100_spacer.gif" alt="&amp;amp;nbsp;" width="25" height="1" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-fareast-font-family: 'Times New Roman';"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419922" width="1" height="1"&gt;</description></item><item><title>IIS 7.x: No se inicia el IIS de una máquina clonada</title><link>http://blogs.msdn.com/b/desarrolloweb/archive/2013/05/19/iis-7-x-no-se-inicia-el-iis-de-una-maquina-clonada.aspx</link><pubDate>Sun, 19 May 2013 07:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419082</guid><dc:creator>José Ortega Gutiérrez</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;He tenido varios casos en los que tras clonar un servidor con un IIS, el IIS clonado no funciona ocasionado por errores en los valores encriptados. Por seguridad, el IIS guarda los valores sensibles (como las claves de las credenciales de los usuarios) encriptados en el fichero de configuración del IIS ApplicationHost.config ya que es un fichero de texto plano que no tiene más protección que ese contenido encriptado.&lt;/p&gt;  &lt;p&gt;El problema reside en las claves de encriptación de la máquina, al realizar un sysprep sobre la máquina, estas claves cambian por lo que el IIS no es capaz de desencriptar las claves de las credenciales por lo que no puede auntenticar al usuario por lo que o bien no puede iniciar los Application Pools porque no es capaz de leer la clave o bien no podrá autenticar a un usuario con credenciales fijas&amp;#160; en una aplicación.&lt;/p&gt;  &lt;p&gt;Lo primero que debemos saber es que no está soportado el aplicar sysprep en una máquina que tenga un IIS en el que su configuración. Entre otras cosas porque cambia todas las claves de encriptación y por eso no puede funcionar. En este artículo se detalle el soporte de sysprep en una máquina con IIS: &lt;a href="http://technet.microsoft.com/en-us/library/dd744581(WS.10).aspx"&gt;http://technet.microsoft.com/en-us/library/dd744581(WS.10).aspx&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-51-88-metablogapi/8004.clip_5F00_image0027_5F00_5C4A5CFA.jpg"&gt;&lt;img title="clip_image002[7]" style="margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" border="0" alt="clip_image002[7]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-51-88-metablogapi/1184.clip_5F00_image0027_5F00_thumb_5F00_4CC74B2B.jpg" width="559" height="90" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;La mejor opción es la de clonar la máquina sin esas claves de encriptación, porque esto nos evitaría todos estos conflictos. Otras alternativa puede ser el emplear una configuración compartida o usar MSDeploy para exportar la configuración sin los valores encriptados. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Espero que os sirva de ayuda&lt;/p&gt;  &lt;p&gt;- José Ortega Gutiérrez&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419082" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/desarrolloweb/archive/tags/IIS+7/">IIS 7</category><category domain="http://blogs.msdn.com/b/desarrolloweb/archive/tags/IIS+7-5/">IIS 7.5</category></item><item><title>Peeping Out From The Microsoft Matrix</title><link>http://blogs.msdn.com/b/alexhomer/archive/2013/05/19/peeping-out-from-the-microsoft-matrix.aspx</link><pubDate>Sun, 19 May 2013 06:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10418361</guid><dc:creator>Alex Homer</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I suppose it's a bit like that film The Matrix - you realize that you live in an ethereal and closed world only when you actually get to step outside of it. Or, like some people who have never been to another country, your view of the rest of the world is shaped just by what you see on TV. I suppose I've been like that with open source stuff, and particularly Java; looking out incredulously from my little village of Microsoft technologies and products at the wide world beyond.&lt;/p&gt;...(&lt;a href="http://blogs.msdn.com/b/alexhomer/archive/2013/05/19/peeping-out-from-the-microsoft-matrix.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10418361" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/alexhomer/archive/tags/Software/">Software</category><category domain="http://blogs.msdn.com/b/alexhomer/archive/tags/Cloud/">Cloud</category><category domain="http://blogs.msdn.com/b/alexhomer/archive/tags/Azure/">Azure</category><category domain="http://blogs.msdn.com/b/alexhomer/archive/tags/Big+Data/">Big Data</category></item><item><title>Windows Azure Cache - Pessimistic Concurrency Model</title><link>http://blogs.msdn.com/b/cie/archive/2013/05/19/windows-azure-cache-pessimistic-concurrency-model.aspx</link><pubDate>Sun, 19 May 2013 06:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419915</guid><dc:creator>Ravi Verma (MSFT)</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;span style="font-size: small;"&gt;In this model, client application acquires&amp;nbsp;a lock before performing the operations. In order to acquire a lock on an object, you need a lock handle of &lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.applicationserver.caching.datacachelockhandle(v=azure.10).aspx"&gt;DataCacheLockHandle&lt;/a&gt;&lt;/strong&gt;.&amp;nbsp; The same lock handle is needed to unlock the object. It&amp;rsquo;s important to remember that Locked objects in the cache can still be replaced by any cache client with the &lt;strong&gt;Put&lt;/strong&gt; method. Cache-enabled applications are responsible for consistently using &lt;strong&gt;PutAndUnlock&lt;/strong&gt; for items that use the pessimistic concurrency model. In case the client application ends before freeing a locked object, time-outs are provided to release the locks.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: trebuchet ms,geneva; font-size: small;"&gt;Here is a list of methods that you can use to lock and unlock an object:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: trebuchet ms,geneva;"&gt;&lt;strong&gt;&lt;span style="font-size: small;"&gt;GetAndLock&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms,geneva; font-size: small;"&gt;Returns and locks the cached object (if present). Other GetAndLock method calls on the same object fail as long as the lock is valid. Regular Get method calls are not blocked and always access the latest version of the cached object.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: trebuchet ms,geneva;"&gt;&lt;strong&gt;&lt;span style="font-size: small;"&gt;PutAndUnlock&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms,geneva; font-size: small;"&gt;Updates the locked object and then releases the lock. The lock handle obtained from GetAndLock is a required parameter and must match the lock handle of the locked object to succeed.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: trebuchet ms,geneva;"&gt;&lt;strong&gt;&lt;span style="font-size: small;"&gt;Unlock&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms,geneva; font-size: small;"&gt;Explicitly unlocks a cached object, provided that the lock handle parameter matches that of the locked object. Unlock also supports extending the expiration of the current item to help prevent it from expiring as soon as it is unlocked (if it is unlocked past its expiration time).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;&lt;span style="font-family: trebuchet ms,geneva; font-size: small;"&gt;Sample Code&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #008000; font-family: courier new,courier;"&gt;// vars&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; font-family: courier new,courier;"&gt;DataCacheFactory cacheFactory = new DataCacheFactory();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; font-family: courier new,courier;"&gt;DataCacheLockHandle lockHandle;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; font-family: courier new,courier;"&gt;DataCache cacheInstance;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; font-family: courier new,courier;"&gt;TimeSpan timeout = TimeSpan.FromMinutes(1);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; font-family: courier new,courier;"&gt;string strKey = "Employee";&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #008000; font-family: courier new,courier;"&gt;// Make sure the key exist in Cache, before you acquire a lock&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; font-family: courier new,courier;"&gt;cacheInstance.Add(strKey, "value version 1.0");&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #008000; font-family: courier new,courier;"&gt;// This will acquire a lock with a Lock timeout of 1 minute&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; font-family: courier new,courier;"&gt;object objReturnValue = (string)cacheInstance.GetAndLock(strKey, timeout, out lockHandle);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #008000; font-family: courier new,courier;"&gt;// This will put the value back in Cache and release the lock&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; font-family: courier new,courier;"&gt;objReturnValue = "value version 2.0";&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000; font-family: courier new,courier;"&gt;cacheInstance.PutAndUnlock(strKey, objReturnValue, lockHandle);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: trebuchet ms,geneva; font-size: small;"&gt;So what happens when you try to acquire a lock when the object is already locked? Azure will simply throw an error.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #993300; font-family: courier new,courier; font-size: small; font-color: red;"&gt;ErrorCode&amp;lt;ERRCA0011&amp;gt;:SubStatus&amp;lt;ES0001&amp;gt;:Object being referred to is currently locked, and cannot be accessed until it is unlocked by the locking client. Please retry later. &lt;/span&gt;&lt;br /&gt;&lt;span style="color: #993300; font-family: courier new,courier; font-size: small;"&gt;&amp;nbsp; Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #993300; font-family: courier new,courier; font-size: small;"&gt;&amp;nbsp;Exception Details: Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode&amp;lt;ERRCA0011&amp;gt;:SubStatus&amp;lt;ES0001&amp;gt;:Object being referred to is currently locked, and cannot be accessed until it is unlocked by the locking client. Please retry later.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #993300; font-family: courier new,courier; font-size: small;"&gt;[DataCacheException: ErrorCode&amp;lt;ERRCA0011&amp;gt;:SubStatus&amp;lt;ES0001&amp;gt;:Object being referred to is currently locked, and cannot be accessed until it is unlocked by the locking client. Please retry later.]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #993300; font-family: courier new,courier; font-size: small;"&gt;&amp;nbsp;&amp;nbsp; Microsoft.ApplicationServer.Caching.DataCache.ThrowException(ResponseBody respBody) +693&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #993300; font-family: courier new,courier; font-size: small;"&gt;&amp;nbsp;&amp;nbsp; Microsoft.ApplicationServer.Caching.DataCache.ExecuteAPI(RequestBody reqMsg, IMonitoringListener listener) +107&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #993300; font-family: courier new,courier; font-size: small;"&gt;&amp;nbsp;&amp;nbsp; Microsoft.ApplicationServer.Caching.DataCache.InternalGetAndLock(String key, TimeSpan timeout, DataCacheLockHandle&amp;amp; lockHandle, String region, Boolean lockKey, IMonitoringListener listener) +590&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #993300; font-family: courier new,courier; font-size: small;"&gt;&amp;nbsp;&amp;nbsp; Microsoft.ApplicationServer.Caching.&amp;lt;&amp;gt;c__DisplayClass78.&amp;lt;GetAndLock&amp;gt;b__77() +436&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #993300; font-family: courier new,courier; font-size: small;"&gt;&amp;nbsp;&amp;nbsp; Microsoft.ApplicationServer.Caching.EmptyListener.Microsoft.ApplicationServer.Caching.IMonitoringListener.Listen(Func`1 innerDelegate) +57&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #993300; font-family: courier new,courier; font-size: small;"&gt;&amp;nbsp;&amp;nbsp; Microsoft.ApplicationServer.Caching.DataCache.GetAndLock(String key, TimeSpan timeout, DataCacheLockHandle&amp;amp; lockHandle) +369&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #993300; font-family: courier new,courier; font-size: small;"&gt;&amp;nbsp;&amp;nbsp; WebRole1._Default.Button1_Click(Object sender, EventArgs e) in d:\xxx-xxx-xxxxx\Default.aspx.cs:49&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #993300; font-family: courier new,courier; font-size: small;"&gt;&amp;nbsp;&amp;nbsp; System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +155&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #993300; font-family: courier new,courier; font-size: small;"&gt;&amp;nbsp;&amp;nbsp; System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3804&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419915" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/cie/archive/tags/Azure+Concurrency+Model/">Azure Concurrency Model</category><category domain="http://blogs.msdn.com/b/cie/archive/tags/Azure+Cache/">Azure Cache</category><category domain="http://blogs.msdn.com/b/cie/archive/tags/Caching+Locks/">Caching Locks</category><category domain="http://blogs.msdn.com/b/cie/archive/tags/Pessimistic+Concurrency+Model/">Pessimistic Concurrency Model</category><category domain="http://blogs.msdn.com/b/cie/archive/tags/Windows+Azure+Cache/">Windows Azure Cache</category></item><item><title>HealthVault Connectivity Models and Solutions Architectures</title><link>http://blogs.msdn.com/b/philpenn/archive/2013/05/18/healthvault-connectivity-models-and-solutions-architectures.aspx</link><pubDate>Sun, 19 May 2013 03:32:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419906</guid><dc:creator>Phil-Pennington</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Over the past few weeks, we’ve participated in healthcare solution development events at the &lt;a href="http://cajuncodefest.org/" target="_blank"&gt;University of Louisiana&lt;/a&gt; and in &lt;a href="http://www.health2con.com/events/conferences/health-refactored/" target="_blank"&gt;Silicon Valley&lt;/a&gt;.&amp;#160; These events were designed to spark healthcare informatics innovation using team-competition and incentives, including cash prizes.&amp;#160;&amp;#160; We enjoyed many aspects of these events (&lt;a href="http://books.google.com/books/about/Hacking_Healthcare.html?id=mi-JGVS3DNgC" target="_blank"&gt;Fred Trotter’s&lt;/a&gt; soap-box session stands-out) and consider it a privilege to have met so many dedicated and wonderful people.&amp;#160;&amp;#160; As I observed event participants discussing and prototyping their solutions, a key takeaway for me was a perception of confusion about just how to get-started developing for HealthVault.&amp;#160;&amp;#160; In certain respects, the HealthVault platform is a simple XML over HTTP web-service.&amp;#160;&amp;#160; But, there is much more to it than that, and; in practice, perhaps few would choose to use the service without an encapsulating client-side SDK anyway.&amp;#160;&amp;#160; Much of our developer documentation necessarily details the platform’s foundational &lt;a href="http://developer.healthvault.com/pages/sdk/docs/index.html" target="_blank"&gt;XML over HTTP implementation&lt;/a&gt; with perhaps inadequate coverage of corresponding feature-areas as abstracted by our SDK classes and constructs.&amp;#160;&amp;#160; Navigating our platform features from a “getting-started” perspective, and especially during a 48 hour competition, can be challenging.&amp;#160;&amp;#160; Herein, we hope to clarify a few key solution design-options that map onto platform functionality and identify corresponding “getting-started” decisions.&lt;/p&gt;  &lt;h4&gt;&amp;#160;&lt;/h4&gt;  &lt;h4&gt;HealthVault + Your Client Applications &lt;/h4&gt;  &lt;p&gt;The following image illustrates that HealthVault Platform Services are exposed via a number of feature-areas.&amp;#160;&amp;#160; Some of these features are unique for a web-service in that they encapsulate workflow involving interaction with real people.&amp;#160; If our web-service involved only content browsing, selection, and consumption, then it would be much more recognizable relative to common web-service abstractions.&amp;#160;&amp;#160; Consequently, a first-step conceptually is recognition that you may be dealing with uncommon terminology and unfamiliar extensibility models.&amp;#160;&amp;#160; Let’s explore this illustration further.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-01-metablogapi/3124.HVClientApps_5F00_67953C8C.png"&gt;&lt;img title="HV ClientApps" style="display: inline;" border="0" alt="HV ClientApps" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-01-metablogapi/7840.HVClientApps_5F00_thumb_5F00_6D03AD30.png" width="813" height="459" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Choose Your Data-Types&lt;/h5&gt;  &lt;p&gt;Refer to the lighter-blue graphic in the middle of the illustration directly above.&amp;#160;&amp;#160; Though not comprehensive, this feature-list is key to understanding solution integration options.&amp;#160;&amp;#160; For example, it’s readily apparent that the platform exposes a data-access API and that most operations utilize a PersonID and a RecordID parameter to uniquely target a HealthVault record.&amp;#160; Also, note the top-most green text-block to the right under the heading “Your Client App(s)”.&amp;#160;&amp;#160; As a solution designer, a first decision is simply to identify what operations (e.g. create, read, update, delete) are required upon which data-types hosted within a HealthVault record.&amp;#160; Do you need to know what data-types are available?&amp;#160;&amp;#160; Browse over to &lt;a href="http://developer.healthvault.com/" target="_blank"&gt;developer.healthvault.com&lt;/a&gt;.&amp;#160;&amp;#160; Notice the link therein to the &lt;a href="http://developer.healthvault.com/pages/types/types.aspx" target="_blank"&gt;Health Types Schema Browser&lt;/a&gt;.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;Special considerations for data-types:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;If you are using &lt;a href="http://msdn.microsoft.com/en-us/healthvault/jj126730" target="_blank"&gt;one of our SDK’s&lt;/a&gt; to build your solution, then you can use predefined library classes encapsulating our data-types.&amp;#160;&amp;#160; With the .NET SDK, data-type classes are referenced from the &lt;em&gt;Microsoft.Health.ItemTypes.dll&lt;/em&gt; assembly file.&amp;#160;&amp;#160; Using these classes trivializes creating data-type object instances, object serialization, and transferring data to/from HealthVault.&amp;#160; Our new Win8 library includes a modernization of these class abstraction specify useful within the Windows Runtime execution environment.&lt;/li&gt;    &lt;li&gt;If you are not able to use an SDK within your solution, then you’ll need to deal with data-types formatted as XML or JSON.&amp;#160;&amp;#160; This is often the case if your solution runs in an execution sand-box such as Silver Light, as client-side script running within a browser, or on an embedded device.&amp;#160;&amp;#160; You may need to “roll-your-own” data-handling classes, copy them from SDK source files, or perhaps auto-generate classes from schema using a tool like &lt;a href="http://msdn.microsoft.com/en-us/library/x6c1kb0s(v=VS.71).aspx" target="_blank"&gt;XSD.exe&lt;/a&gt;.&amp;#160;&amp;#160; The amount of development involved depends upon the number and complexity of data-types you’ll be using. &lt;/li&gt;    &lt;li&gt;Each HealthVault integrated application is custom-configured to access specific data-types.&amp;#160; You utilize the &lt;a href="https://config.healthvault-ppe.com/default.aspx" target="_blank"&gt;HealthVault Application Configuration Center&lt;/a&gt; to define data-access rules for your application along with corresponding specified data-types.&amp;#160;&amp;#160; HealthVault uses this configuration information to limit your application to as-specified and user-authorized fields within HealthVault records.&lt;/li&gt;    &lt;li&gt;Spend some time thinking thru data-centric scenarios.&amp;#160;&amp;#160; For example, typical clinical-trial scenarios require that data-measurements can’t be changed.&amp;#160; In that case, use the HealthVault “immutable” data-type attribute.&amp;#160;&amp;#160; &lt;/li&gt;    &lt;li&gt;Consider using the Care Plan data-type or the Continuity of Care document type if your solution will be providing summary information to patients and especially if that information is important for sharing with other providers.&lt;/li&gt;    &lt;li&gt;Will you be rendering the data to a UI, perhaps a browser?&amp;#160;&amp;#160; Consider utilizing the transforms provided with HealthVault platform services to ease your development burden.&lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Choose Your Connectivity Model&lt;/h5&gt;  &lt;p&gt;HealthVault exposes a rich set of client application connectivity options.&amp;#160;&amp;#160; Why do we need many options?&amp;#160;&amp;#160; Recall that your application will be participating in one or more workflow activities involving real people who may or may not be using your application interactively when HealthVault platform interaction occurs.&amp;#160;&amp;#160; This is an important design-to point best described by scenario example.&amp;#160; Note that many HealthVault solutions utilize more than one connectivity model depending upon aspects of the overall solution architecture.&amp;#160;&amp;#160; Again, developers utilize the &lt;a href="https://config.healthvault-ppe.com/default.aspx" target="_blank"&gt;HealthVault Application Configuration Center&lt;/a&gt; to define their application connectivity requirements that correspond directly to &lt;a href="http://msdn.microsoft.com/en-us/library/jj863170.aspx" target="_blank"&gt;connectivity model decisions&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The &lt;strong&gt;Software on Device Authentication (SODA)&lt;/strong&gt; connectivity model applies when you are writing an application that will most likely run with user-interactivity on a personal computer.&amp;#160;&amp;#160; A SODA application typically accesses only a single HealthVault record at once.&amp;#160;&amp;#160; This connectivity model was conceived in order to simplify management of secure access to the HealthVault platform from widely distributed client-application installations.&amp;#160;&amp;#160; Platform interactivity occurs securely within a shared-key encrypted session.&amp;#160;&amp;#160; This avoids the complexity of managing a Public Key Infrastructure as certificate exchanges are not required.&amp;#160;&amp;#160; Of course, the various HealthVault SDK’s encapsulate the SODA model functionality and most client applications thus inherently benefit without further development beyond invoking the connection methods.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Online&lt;/strong&gt; connectivity applies to web-page applications (e.g. Patient Portals) wherein HealthVault data-access occurs within a user-interactive browser session.&amp;#160;&amp;#160; Typically, user authentication initiates secure site access along with corresponding HealthVault application access.&amp;#160;&amp;#160; As most Online applications are deployed within data-centers, certificate based security is much more viable.&amp;#160;&amp;#160; Hence, Online applications are configured to use a private-key certificate in which the corresponding public-key has been previously shared with the HealthVault platform using the HealthVault Application Configuration Center.&amp;#160; When using the HealthVault SDK, developers may derive their web-pages from HealthVault base classes that encapsulate Online application functionality.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Offline&lt;/strong&gt; connectivity is appropriate when your solution requires access to HealthVault records anytime and without user interactivity.&amp;#160;&amp;#160; A one-time Patient Connect workflow process (described further below) is required of Offline applications.&amp;#160;&amp;#160; Thereafter, your Offline application may simply invoke record access as needed.&amp;#160;&amp;#160; This access occurs indefinitely or until the access authorization is explicitly removed; either by the account owner or by the Offline application itself.&amp;#160; Offline application authentication is also certificate based with corresponding Offline data-access rules defined using the HealthVault Application Configuration Center.&amp;#160; When using the HealthVault SDK, developers may leverage the &lt;em&gt;OfflineWebApplicationConnection&lt;/em&gt; class to initiate an Offline connection.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Direct&lt;/strong&gt; connectivity refers to a &lt;a href="http://blogs.msdn.com/b/familyhealthguy/archive/2011/02/12/start-sharing-information-with-patients-today.aspx" target="_blank"&gt;secure messaging&lt;/a&gt; (i.e. secure email) HealthVault platform facility.&amp;#160; The &lt;a href="http://directproject.org" target="_blank"&gt;Direct Project&lt;/a&gt; served as the genesis of loosely-connected &lt;a href="http://blue-button.github.io/docs/" target="_blank"&gt;consortium&lt;/a&gt; providing secure data-transfer for healthcare providers and their patients.&amp;#160;&amp;#160; Each HealthVault consumer receives a free secure email inbox (e.g. &lt;em&gt;myname@direct.healthvault.com&lt;/em&gt;).&amp;#160;&amp;#160; Solution providers may simply integrate with a secure email server gateway in order to exchange information with HealthVault account owners.&amp;#160;&amp;#160; What if you don’t know whether or not a patient has a HealthVault account?&amp;#160;&amp;#160; No worries, just send your message to a special HealthVault Direct address (i.e. newuser@direct.healthvault.com) and specify the patients insecure email address in the subject line (e.g. myname@outlook.com) and HealthVault will enable that patient to both create an account and receive your message.&amp;#160;&amp;#160; You may also attach standard healthcare documents (e.g. Continuity of Care Documents) and HealthVault will import the information into the appropriate Health Information fields of the patient’s HealthVault record.&lt;/p&gt;  &lt;p&gt;Special considerations for connectivity models include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;If you anticipate both a web-portal usage scenario as well as a back-end clinical system usage scenario, then you’ll need a combination of both Online and Offline connectivity.&amp;#160;&amp;#160; &lt;/li&gt;    &lt;li&gt;It’s possible to have aspects of all connectivity models within a sophisticated distributed solution scenario.&amp;#160;&amp;#160; You may consider utilizing a Master-Child ID HealthVault Application configuration in that case.&amp;#160;&amp;#160; Otherwise, you’ll either have a single Application ID with multiple access-rule definitions or a number of Application ID’s with individual access-rule definitions.&lt;/li&gt;    &lt;li&gt;Direct connectivity requires nothing more than an exchange of Trust between your organization and HealthVault operations.&amp;#160;&amp;#160; You may wish to join the &lt;a href="http://blue-button.github.io/docs/" target="_blank"&gt;Automated Blue Button Initiative&lt;/a&gt; and participate in Trust Bundles wherein multiple business entities exchange Trust collaboratively as groups.&lt;/li&gt;    &lt;li&gt;Direct connectivity is a great way to accomplish &lt;a href="http://www.advisory.com/Consulting/Meaningful-Use-Navigator" target="_blank"&gt;Meaningful Use&lt;/a&gt; certification criteria.&amp;#160;&amp;#160; Leverage HealthVault to achieve patient View, Download, and Transmit (VDT) objectives and subsequently request a report of completed VDT activities.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Choose Your HealthVault Features&lt;/h5&gt;  &lt;p&gt;It’s somewhat easy to confuse connectivity models with other platform features because there are close relationships between them.&amp;#160;&amp;#160; As mentioned, an Offline application will typically utilize a workflow named Patient Connect to gain authorized access to a HealthVault record.&amp;#160;&amp;#160; Hence, it’s common to refer to Offline connectivity and Patient Connect synonymously.&amp;#160;&amp;#160; However, it’s preferable to separate these as Patient Connect is more a type of workflow than a connectivity model.&amp;#160;&amp;#160; We won’t explore many HealthVault platform features in this section, but rather discuss a few that become important for HealthVault solution designers.&lt;/p&gt;  &lt;p&gt;A &lt;strong&gt;Patient Connect&lt;/strong&gt; workflow is typically used within a solution that requires access to HealthVault records without a user-interactive session.&amp;#160;&amp;#160; Patient Connect is often combined with &lt;strong&gt;Offline&lt;/strong&gt; connectivity (discussed above).&amp;#160;&amp;#160; The classic use-case is one of new patient registration.&amp;#160; In a clinical setting, you want to both establish a patient record within your back-end clinical systems as well as establish access to the new patient’s HealthVault record.&amp;#160; Your application initiates Patient Connect by sending a request to HealthVault including a local patient ID and a secret question/answer known by the patient.&amp;#160; HealthVault responds with an access token along with a welcome URL.&amp;#160;&amp;#160; You provide this information to your new patient (e.g. either via email or via a kiosk).&amp;#160;&amp;#160; When the patient browses to the URL, HealthVault validates the access token and guides the patient through account access/creation and authorization of your Offline application.&amp;#160;&amp;#160; Once this workflow is completed, your application may query HealthVault for a list of authorized accounts and associate those with entries within your patient database.&amp;#160;&amp;#160; You subsequently interact with HealthVault programmatically using the patient HealthVault PersonID and RecordID.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;DOPU&lt;/strong&gt;, meaning Drop-Off and Pick-Up, is a workflow in which your application sends information to HealthVault but with no direct HealthVault record access.&amp;#160;&amp;#160; Like Patient Connect, you initiate DOPU by sending a request to HealthVault including attached healthcare information.&amp;#160; You also provide your email address, the patient’s email address, text representing an email to the patient, and a secret question/answer know by the patient.&amp;#160;&amp;#160; HealthVault stores this information, returns a package ID, and subsequently sends your email message to the specified recipient.&amp;#160;&amp;#160;&amp;#160; The patient will receive instructions via email for on how to retrieve the information securely.&amp;#160;&amp;#160; Any attached information recognized as HealthVault data-types are optionally imported into the recipient's HealthVault record.&amp;#160;&amp;#160; This feature enables a very loosely-coupled patient-provider information exchange.&lt;/p&gt;  &lt;p&gt;I’ll mention support for &lt;strong&gt;Devices&lt;/strong&gt; as a platform feature as well.&amp;#160;&amp;#160; Many healthcare devices are listed within the &lt;a href="https://account.healthvault.com/us/en-US/Directory?target=Devices&amp;amp;SearchType=ViewAll" target="_blank"&gt;HealthVault Device Directory&lt;/a&gt;.&amp;#160;&amp;#160; Some of these devices are very capable providing directly integrated HealthVault connectivity via Wi-Fi or mobile networks.&amp;#160;&amp;#160; Others leverage companion personal computer applications, importing data via USB for example.&amp;#160; Alternatively, devices vendors may leverage the &lt;a href="https://www.healthvault.com/us/en/connection-center" target="_blank"&gt;HealthVault Connection Center&lt;/a&gt; application and USB connectivity to transfer data to HealthVault records.&amp;#160; Interestingly, the HealthVault Connection Center application also provides image file uploading functionality (e.g. DICOM images).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Direct&lt;/strong&gt; Messaging is also a workflow-oriented platform feature (in addition to a connectivity model).&amp;#160; What could be more intuitive than sending an email with attachments from your clinical solution?&amp;#160;&amp;#160; Currently, HealthVault users will need to enable the integrated &lt;a href="https://apps.healthvault.com/MessageCenter/about.aspx" target="_blank"&gt;HealthVault Message Center&lt;/a&gt; in order to utilize their inbox and subsequently transmit information to providers.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;Special considerations for HealthVault features include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Your solution’s patient and patient-record interactions will determine your choice of platform feature-area integration.&amp;#160;&amp;#160; Consider the workflows involved and design accordingly.&lt;/li&gt;    &lt;li&gt;Perhaps you want to utilize more than one workflow feature area from within the same solution.&amp;#160;&amp;#160; Consider implementing a central service from which multiple subsystems may share a common HealthVault connection.&lt;/li&gt;    &lt;li&gt;A usage scenario options matrix is published &lt;a href="http://msdn.microsoft.com/en-us/library/jj863170.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Choose Your Solution Platform&lt;/h5&gt;  &lt;p&gt;We probably already have an SDK or &lt;a href="http://www.codeplex.com/site/search?query=HealthVault&amp;amp;ac=3" target="_blank"&gt;code-library&lt;/a&gt; for your target solution platform.&amp;#160;&amp;#160; Again, an SDK is not strictly required for HealthVault solution integration.&amp;#160;&amp;#160; But, if you use one, you won’t have to write a lot of protocol handling, security constructs, and data-type parsing and serialization code.&amp;#160;&amp;#160;&amp;#160; Our SDK list is &lt;a href="http://msdn.microsoft.com/en-us/healthvault/default" target="_blank"&gt;here&lt;/a&gt; along with a number of corresponding samples.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;Special considerations for solution platforms include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Market reach.&amp;#160;&amp;#160; Are you developing for mobile?&amp;#160; You will likely need to consider designing for code-portability which may drive your solution design to a web-service model with as much “common-code” on the client device as is possible.&amp;#160;&amp;#160; &lt;/li&gt;    &lt;li&gt;Enterprise or Consumer?&amp;#160; Consumer applications typically correspond in a one-to-one manner.&amp;#160;&amp;#160; That is, one application user to one HealthVault record.&amp;#160;&amp;#160; Enterprise applications, however, may exhibit a many-user to many-record usage model.&amp;#160;&amp;#160; This becomes very important as you imagine who your target users may be.&amp;#160;&amp;#160; A physician or nurse using a tablet device may wish to scroll a list of patient records, select one or more, and exchange information with the selected person or group.&amp;#160;&amp;#160; Hence, SODA connectivity running on a tablet platform may be appropriate for Consumer while the Enterprise scenario requires more design decisions and corresponding system integration considerations.&lt;/li&gt;    &lt;li&gt;An interesting new platform option is the Windows Runtime introduced with Windows 8.&amp;#160;&amp;#160; Windows Runtime applications are distributed via the Windows Store (an Enterprise-scoped distribution option exists as well).&amp;#160; A first-party &lt;a href="http://apps.microsoft.com/windows/en-US/app/healthvault/728f1c88-7e2f-4b40-95c1-74fc09983689" target="_blank"&gt;HealthVault Windows Store application&lt;/a&gt; is available to consumers for free.&amp;#160; In fact, you may leverage the &lt;a href="http://blogs.msdn.com/b/healthvault/archive/2012/10/10/now-available-healthvault-library-for-windows-8.aspx" target="_blank"&gt;same code library&lt;/a&gt; as our Windows Store app to build your Windows Store application.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;&amp;#160;&lt;/h4&gt;  &lt;h4&gt;HealthVault + Your Web Service + Your Client Apps&lt;/h4&gt;  &lt;p&gt;You may require a solution architecture in which multiple client applications utilize the same HealthVault subscription.&amp;#160;&amp;#160; The following image illustrates this model.&amp;#160; This design would be ideal for an enterprise clinical system servicing multiple departments with a variety of client-app types.&amp;#160; Let’s walk-thru the illustration in more detail.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-01-metablogapi/7652.HVWebServiceClientApps_5F00_25AE573E.png"&gt;&lt;img title="HV WebService ClientApps" style="display: inline;" border="0" alt="HV WebService ClientApps" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-01-metablogapi/6607.HVWebServiceClientApps_5F00_thumb_5F00_5A4EB379.png" width="818" height="465" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In the middle of the image is a “cloud provider” hosted “HealthVault Proxy Service”.&amp;#160;&amp;#160; This service encapsulates all connectivity with the HealthVault Platform and is configured as an &lt;strong&gt;Offline&lt;/strong&gt; application from a HealthVault perspective.&amp;#160; It serves primarily as a stateless router of HealthVault access requests from any number of Mobile, Enterprise, or Device applications (illustrated on the lower-right of the image).&amp;#160;&amp;#160; Ideally, this Proxy Service would accomplish several functional requirements for the client-app community including:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Serve as a HealthVault interface for an Enterprise domain enabling both a departmental system deployment model as well as an Enterprise tablet device deployment model.&lt;/li&gt;    &lt;li&gt;Centralize a write-once, deploy-once, HealthVault connectivity and feature integration solution.&amp;#160;&amp;#160; The proxy service is the only subsystem component with the need to understand HealthVault connectivity and HealthVault feature API’s.&amp;#160;&amp;#160; All client-app types need only understand how to integrate with the proxy-service itself (more on this momentarily).&lt;/li&gt;    &lt;li&gt;Expose a subset of HealthVault features including Data-Access, Patient Connect, DOPU, and as a Direct Gateway.&amp;#160;&amp;#160; The SODA connectivity model wouldn’t make sense within the proxy-service as it is intended instead as a direct-to-HealthVault connectivity model.&amp;#160; The Online connectivity model might be combined with the Proxy Service if an interactive Patient-Portal experience is required.&amp;#160;&amp;#160; In that case, the proxy service would effectively host both a web-app as well as a web-service with corresponding Online and Offline configuration rules.&lt;/li&gt;    &lt;li&gt;HealthVault currently doesn’t expose services directly as REST, SOAP, or OData.&amp;#160;&amp;#160; Hence, the proxy-service provides an opportunity to implement these standards on behalf of HealthVault.&amp;#160;&amp;#160; Thereby, increasing the richness of client usage scenarios.&lt;/li&gt;    &lt;li&gt;HealthVault is a very XML friendly platform.&amp;#160;&amp;#160; A proxy service may provide a translation function wherein XML content is transformed to whatever client data-model desired; JSON, for example.&lt;/li&gt;    &lt;li&gt;Serve as a central-point for organizational analytics, profiling, or security management.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In fact, this is the solution architecture that our &lt;a href="http://blogs.msdn.com/b/familyhealthguy/archive/2012/12/10/dynamics-crm-healthvault-holy-crap-it-s-population-management.aspx" target="_blank"&gt;Dynamics CRM&lt;/a&gt; partner’s are utilizing to implement &lt;a href="http://blogs.msdn.com/b/healthvault/archive/2013/03/29/healthvault-at-convergence.aspx" target="_blank"&gt;Population Care Management&lt;/a&gt; solutions.&amp;#160;&amp;#160; The use of a proxy service is actually necessitated by the Dynamics CRM solution &lt;a href="http://msdn.microsoft.com/en-us/library/gg334357.aspx" target="_blank"&gt;extensibility&lt;/a&gt; sand-box.&amp;#160;&amp;#160; The HealthVault SDK assemblies are restricted from use in the solution sand-box for a number of reasons including the use of system cryptographic methods.&amp;#160;&amp;#160; However, code running within the sand-box is completely capable of call-outs to web-services.&amp;#160; It’s important to note that the proxy service need not be hosted in the cloud at all.&amp;#160;&amp;#160; In fact, it could reside on the same server or within the same domain data-center as the Enterprise client systems.&lt;/p&gt;  &lt;p&gt;As you may have guessed, this article is a segway to subsequent articles focused on exactly how to implement a HealthVault “bridge” solution architecture.&amp;#160;&amp;#160; A number of motivations culminate in this exercise.&amp;#160;&amp;#160; One is that modern application design is largely focused on cloud-services composition instead of on isolated application design.&amp;#160; Imagine a clinical office utilizing Office365, Dynamics Online, Windows Azure, Lync or Skype, and HealthVault as platform technologies for their healthcare informatics needs.&amp;#160;&amp;#160; With a bit of customization, these subscription-based services would fulfill a significant amount of business process technology requirements.&amp;#160;&amp;#160; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419906" width="1" height="1"&gt;</description></item><item><title>Revisiting Connectivity Models and Solutions Architectures</title><link>http://blogs.msdn.com/b/healthvault/archive/2013/05/18/revisiting-connectivity-models-and-solutions-architectures.aspx</link><pubDate>Sun, 19 May 2013 02:57:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419904</guid><dc:creator>Phil-Pennington</dc:creator><slash:comments>0</slash:comments><description>Over the past few weeks, we’ve participated in healthcare solution development events at the University of Louisiana and in Silicon Valley .&amp;#160; These events were designed to spark healthcare informatics innovation using team-competition and incentives, including cash prizes.&amp;#160;&amp;#160; We enjoyed many aspects of these events ( Fred Trotter’s soap-box session stands-out) and consider it a privilege to have met so many dedicated and wonderful people.&amp;#160;&amp;#160; As I observed event participants...(&lt;a href="http://blogs.msdn.com/b/healthvault/archive/2013/05/18/revisiting-connectivity-models-and-solutions-architectures.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419904" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/healthvault/archive/tags/application+configuration/">application configuration</category><category domain="http://blogs.msdn.com/b/healthvault/archive/tags/HealthVault+Connection+Center/">HealthVault Connection Center</category><category domain="http://blogs.msdn.com/b/healthvault/archive/tags/best+practices/">best practices</category><category domain="http://blogs.msdn.com/b/healthvault/archive/tags/HealthVault/">HealthVault</category><category domain="http://blogs.msdn.com/b/healthvault/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/healthvault/archive/tags/Hacking+Health/">Hacking Health</category><category domain="http://blogs.msdn.com/b/healthvault/archive/tags/Health+Technology+Forum/">Health Technology Forum</category><category domain="http://blogs.msdn.com/b/healthvault/archive/tags/HealthVault+CRM/">HealthVault CRM</category><category domain="http://blogs.msdn.com/b/healthvault/archive/tags/Population+Management/">Population Management</category></item><item><title>Xbox - A New Generation Revealed</title><link>http://blogs.msdn.com/b/pakistan/archive/2013/05/18/xbox-a-new-generation-revealed.aspx</link><pubDate>Sat, 18 May 2013 21:11:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419888</guid><dc:creator>Usman Ur Rehman Ahmed</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;On Tuesday, May 21, we&amp;rsquo;ll mark the beginning of a new generation of games, TV and entertainment as Xbox is revealed;&amp;nbsp;a New Generation of Xbox. You can watch it live on May 21 (Tuesday), 10pm Pakistan Standard Time&lt;br /&gt;on Xbox Live or&amp;nbsp;Xbox.com.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Stream Url:&lt;/strong&gt; &lt;a href="http://www.xbox.com/en-US/hub/reveal"&gt;http://www.xbox.com/en-US/hub/reveal&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-94/5100.XboX-Revealed.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-94/5100.XboX-Revealed.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419888" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/pakistan/archive/tags/stream/">stream</category><category domain="http://blogs.msdn.com/b/pakistan/archive/tags/Xbox/">Xbox</category></item><item><title>How to be a good web service? Syncronous or asyncronous, let's straight!</title><link>http://blogs.msdn.com/b/gongcheng/archive/2013/05/18/how-to-be-a-good-web-service-syncronous-or-asyncronous-let-s-straight.aspx</link><pubDate>Sat, 18 May 2013 18:47:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419882</guid><dc:creator>Albert (Gong) Cheng</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Web service method can be either syncronous or asyncronous. A high quality web service should be very clear about whether each end point is syncronous or asyncronous.&lt;/p&gt;
&lt;p&gt;What are syncrhonous operations?&lt;/p&gt;
&lt;p&gt;Syncronous operations completes the operation at the time of completion of sending response. It is suitable for operations that can be completed at milliseconds level. Operations only involve database reading operation typically can be completed at this time frame. Syncronous operation returns result in the response to the client. &lt;/p&gt;
&lt;p&gt;What is asyncronous operation?&lt;/p&gt;
&lt;p&gt;Asyncronous operations completes the operation after the completion of sending response. It is suitable for operations that may last longer than a typical http request timeout. Examples include async Blob copy method of Azure Storage service, create job method of Azure media services. Both method operate on Gigabyte level of data, it may take&amp;nbsp; hours to complete those operations depending on the job size and work load on server side. The response of these operations typically contain a unique id to identify the submitted request, and client can check the status of the operation using the ID given. &lt;/p&gt;
&lt;p&gt;What are the common pitfalls?&lt;/p&gt;
&lt;p&gt;There are two possible types of error. Among them, type I error is much more common than type II error. &lt;/p&gt;
&lt;p&gt;I. Asyncronous operation was implemented as syncronous.&lt;/p&gt;
&lt;p&gt;Type I error occurs when the response is returned prior to the completion of the operation. Upon receiving the response, the client may take action based on the assumption that the prior operation had already been completed. This type of error basically breaks the atomicity of the web service operation.&lt;/p&gt;
&lt;p&gt;The fix of the operation can be either delay the response until the operation is completed or convert this "syncronous" operation into an asyncronous one. &lt;/p&gt;
&lt;p&gt;II. Syncronous operation was implemented as asyncronous.&lt;/p&gt;
&lt;p&gt;This type of the error is very rare simply because implementation of asyncronous operation typically takes a significant more resources, it is unlikely that developer will take the pain to write a complicated async web service which can be completed instantaneously. :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419882" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/gongcheng/archive/tags/Windows+Azure/">Windows Azure</category><category domain="http://blogs.msdn.com/b/gongcheng/archive/tags/Cloud+Computing/">Cloud Computing</category><category domain="http://blogs.msdn.com/b/gongcheng/archive/tags/Web+Service/">Web Service</category></item><item><title>How to teach yourself programming in Two Words!!!</title><link>http://blogs.msdn.com/b/smallbasic/archive/2013/05/18/how-to-teach-yourself-programming-in-two-words.aspx</link><pubDate>Sat, 18 May 2013 17:36:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419866</guid><dc:creator>Ed Price - MSFT</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/16982.small-basic-curriculum-online.aspx"&gt;Read this &lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419866" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/smallbasic/archive/tags/small+basic/">small basic</category><category domain="http://blogs.msdn.com/b/smallbasic/archive/tags/Ed+Price/">Ed Price</category><category domain="http://blogs.msdn.com/b/smallbasic/archive/tags/Curriculum/">Curriculum</category><category domain="http://blogs.msdn.com/b/smallbasic/archive/tags/World_2700_s+shortest+blog+post/">World's shortest blog post</category><category domain="http://blogs.msdn.com/b/smallbasic/archive/tags/Small+Basic+curriculum/">Small Basic curriculum</category></item><item><title>Understanding XAMARIN – Create iOS, Android, Mac and Windows apps in C#.</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2013/05/18/understanding-xamarin-create-ios-android-mac-and-windows-apps-in-c.aspx</link><pubDate>Sat, 18 May 2013 16:51:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419858</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>1</slash:comments><description>&lt;hr&gt; &lt;span style="border-left-width: 0px; font-size: medium; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; background-repeat: no-repeat; color: rgb(25,98,151); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 50px 0px 0px; display: block; line-height: 1.8em; padding-right: 0px; border-top-width: 0px"&gt;&lt;strong&gt;Introduction to XAMARIN&lt;/strong&gt;&lt;/span&gt;  &lt;p&gt;&lt;span style="font-size: medium; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; font-weight: normal; color: rgb(0,0,0); line-height: 1.8em; border-top-width: 0px"&gt;This is a continuation of the Windows 8 App Factor challenge material. See &lt;a href="http://www.windows8appfactor.com"&gt;http://www.windows8appfactor.com&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt; &lt;hr&gt;  &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8865.Image288_5F00_2.png"&gt;&lt;img title="Image288" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="Image288" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4505.Image288_5F00_thumb.png" width="577" height="325"&gt;&lt;/a&gt; &lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;span style="border-left-width: 0px; font-size: medium; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; background-repeat: no-repeat; color: rgb(25,98,151); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 50px 0px 0px; display: block; line-height: 1.8em; padding-right: 0px; border-top-width: 0px"&gt;&lt;strong&gt;Key Facts&lt;/strong&gt;&lt;/span&gt; &lt;span style="font-size: medium; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; font-weight: normal; color: rgb(0,0,0); line-height: 1.8em; border-top-width: 0px"&gt;In short, XAMARIN is about writing code in one language to support the major mobile platforms. &lt;/span&gt; &lt;ol style="border-left-width: 0px; list-style-type: square; font-size: medium; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; font-weight: normal; color: rgb(0,0,0); line-height: 1.8em; border-top-width: 0px"&gt; &lt;li style="list-style-type: square; line-height: 1.8em"&gt;Created by the engineers that created Mono and MonoTouch  &lt;li style="list-style-type: square; line-height: 1.8em"&gt;Leverages &lt;strong&gt;cross-platform implementations of .NET&lt;/strong&gt;  &lt;li style="list-style-type: square; line-height: 1.8em"&gt;Consists of a community of 314,588 developers.  &lt;li style="list-style-type: square; line-height: 1.8em"&gt;All about &lt;strong&gt;cross-platform&lt;/strong&gt;  &lt;ul style="list-style-type: square"&gt; &lt;li style="line-height: 1.8em"&gt;Support iOS, Android, Mac and Windows all in C#.&lt;/li&gt;&lt;/ul&gt; &lt;li style="list-style-type: square; line-height: 1.8em"&gt;&lt;strong&gt;Reuse existing code&lt;/strong&gt;  &lt;ul style="list-style-type: square"&gt; &lt;li style="line-height: 1.8em"&gt;Use your favorite .NET libraries in Xamarin apps.  &lt;li style="list-style-type: square; line-height: 1.8em"&gt;Easily use third-party native libraries and frameworks.&lt;/li&gt;&lt;/ul&gt; &lt;li style="list-style-type: square; line-height: 1.8em"&gt;2 IDEs  &lt;ul style="list-style-type: square"&gt; &lt;li style="line-height: 1.8em"&gt;Visual Studio or Xamarin Studio  &lt;ul style="list-style-type: square"&gt; &lt;li style="line-height: 1.8em"&gt;Xamarin Studio is a fully-featured IDE that is built for mobile app development.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt; &lt;li style="list-style-type: square; line-height: 1.8em"&gt;Access to &lt;strong&gt;native APIs&lt;/strong&gt;  &lt;ul style="list-style-type: square"&gt; &lt;li style="line-height: 1.8em"&gt;Allows you to create native apps with &lt;strong&gt;device-specific experiences.&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt; &lt;hr&gt; &lt;br&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0474.Image289_5F00_2.png"&gt;&lt;img title="Image289" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="Image289" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4532.Image289_5F00_thumb.png" width="577" height="325"&gt;&lt;/a&gt;&amp;nbsp;&lt;br&gt;&lt;span style="border-left-width: 0px; font-size: medium; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; background-repeat: no-repeat; color: rgb(25,98,151); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 50px 0px 0px; display: block; line-height: 1.8em; padding-right: 0px; border-top-width: 0px"&gt;&lt;strong&gt;&lt;span style="border-left-width: 0px; font-size: medium; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; background-repeat: no-repeat; color: rgb(25,98,151); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 50px 0px 0px; display: block; line-height: 1.8em; padding-right: 0px; border-top-width: 0px"&gt;&lt;strong&gt;One language, not 3 is the goal of XAMARIN&lt;/strong&gt;&lt;/span&gt; &lt;span style="font-size: medium; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; font-weight: normal; color: rgb(0,0,0); line-height: 1.8em; border-top-width: 0px"&gt;Traditionally this means using each platform’s provided technology and SDK, i.e. Objective-C for iOS, Java for Android and .NET for Windows.&lt;br&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt; &lt;ol style="border-left-width: 0px; list-style-type: square; font-size: medium; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; font-weight: normal; color: rgb(0,0,0); line-height: 1.8em; border-top-width: 0px"&gt; &lt;li style="list-style-type: square; line-height: 1.8em"&gt;Reasons why you should care  &lt;ul style="list-style-type: square"&gt; &lt;li style="line-height: 1.8em"&gt;Realize tremendous code sharing across mobile platforms  &lt;li style="list-style-type: square; line-height: 1.8em"&gt;Reduce your time to market  &lt;li style="list-style-type: square; line-height: 1.8em"&gt;Leverage existing talent  &lt;li style="list-style-type: square; line-height: 1.8em"&gt;Meet customer demand for multiple device mobile access  &lt;li style="list-style-type: square; line-height: 1.8em"&gt;Reduce cross-platform complexity&lt;/li&gt;&lt;/ul&gt; &lt;li style="list-style-type: square; line-height: 1.8em"&gt;You can do both productivity apps and game apps  &lt;ul style="list-style-type: square"&gt; &lt;li style="line-height: 1.8em"&gt;&lt;strong&gt;Works best when the focus is on productivity and utility&lt;/strong&gt; (non-game applications).&lt;/li&gt;&lt;/ul&gt; &lt;li style="list-style-type: square; line-height: 1.8em"&gt;&lt;strong&gt;Core strength of XAMARIN&lt;/strong&gt;  &lt;ul style="list-style-type: square"&gt; &lt;li style="line-height: 1.8em"&gt;&lt;strong&gt;Implement native user interfaces&lt;/strong&gt; specifically for each platform  &lt;li style="list-style-type: square; line-height: 1.8em"&gt;&lt;strong&gt;But still be able to share most of the non-user interface code&lt;/strong&gt; and get the best of both worlds  &lt;ul style="list-style-type: square"&gt; &lt;li style="line-height: 1.8em"&gt;Write your data storage and business logic code once  &lt;li style="list-style-type: square; line-height: 1.8em"&gt;Leverage native UIs on each platform&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt; &lt;hr&gt; &lt;br&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8875.Image291_5F00_2.png"&gt;&lt;img title="Image291" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="Image291" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7217.Image291_5F00_thumb.png" width="577" height="325"&gt;&lt;/a&gt; &lt;br&gt;&lt;br&gt;&lt;span style="border-left-width: 0px; font-size: medium; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; background-repeat: no-repeat; color: rgb(25,98,151); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 50px 0px 0px; display: block; line-height: 1.8em; padding-right: 0px; border-top-width: 0px"&gt;&lt;strong&gt;Key Facts&lt;/strong&gt;&lt;/span&gt; &lt;span style="font-size: medium; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; font-weight: normal; color: rgb(0,0,0); line-height: 1.8em; border-top-width: 0px"&gt;Each of the core platforms that are supported has custom tooling. &lt;/span&gt; &lt;table style="border-top: medium none; border-right: #666666 1px solid; border-collapse: collapse; border-bottom: #666666 1px solid; color: #000; text-align: left; font: 90% verdana, arial, helvetica, sans-serif; border-left: #666666 1px solid"&gt; &lt;tbody&gt; &lt;tr style="vertical-align: middle; background-color: #ebf3ff"&gt; &lt;td style="border-top: #000000 1px solid; height: 26px; padding-bottom: 5px; padding-top: 5px; padding-left: 10px; border-left: #000000 1px solid; padding-right: 10px"&gt;Windows Phone&lt;/td&gt; &lt;td style="border-top: #000000 1px solid; height: 26px; padding-bottom: 5px; padding-top: 5px; padding-left: 10px; border-left: #000000 1px solid; padding-right: 10px"&gt;Use the XAML/Silverlight presentation layer, using Visual Studio or Blend’s UI designer &lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: middle; background-color: #ffffff"&gt; &lt;td style="border-top: #000000 1px solid; height: 26px; padding-bottom: 5px; padding-top: 5px; padding-left: 10px; border-left: #000000 1px solid; padding-right: 10px"&gt;Windows 8&lt;/td&gt; &lt;td style="border-top: #000000 1px solid; height: 26px; padding-bottom: 5px; padding-top: 5px; padding-left: 10px; border-left: #000000 1px solid; padding-right: 10px"&gt;Use the Windows Store APIs to create a native user experience.&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: middle; background-color: #ebf3ff"&gt; &lt;td style="border-top: #000000 1px solid; height: 26px; padding-bottom: 5px; padding-top: 5px; padding-left: 10px; border-left: #000000 1px solid; padding-right: 10px"&gt;iOS&lt;/td&gt; &lt;td style="border-top: #000000 1px solid; height: 26px; padding-bottom: 5px; padding-top: 5px; padding-left: 10px; border-left: #000000 1px solid; padding-right: 10px"&gt;Use the MonoTouch.UIKit APIs to create native-looking applications, optionally utilizing Apple’s Interface Builder. &lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: middle; background-color: #ffffff"&gt; &lt;td style="border-top: #000000 1px solid; height: 26px; padding-bottom: 5px; padding-top: 5px; padding-left: 10px; border-left: #000000 1px solid; padding-right: 10px"&gt;Android&lt;/td&gt; &lt;td style="border-top: #000000 1px solid; height: 26px; padding-bottom: 5px; padding-top: 5px; padding-left: 10px; border-left: #000000 1px solid; padding-right: 10px"&gt;Use Android.Views to create native-looking applications, taking advantage of Xamarin’s UI designer &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;hr&gt; &lt;br&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/5584.Image292_5F00_2.png"&gt;&lt;img title="Image292" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="Image292" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6014.Image292_5F00_thumb.png" width="577" height="325"&gt;&lt;/a&gt; &lt;br&gt;&lt;br&gt;&lt;span style="border-left-width: 0px; font-size: medium; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; background-repeat: no-repeat; color: rgb(25,98,151); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 50px 0px 0px; display: block; line-height: 1.8em; padding-right: 0px; border-top-width: 0px"&gt;&lt;strong&gt;&lt;span style="border-left-width: 0px; font-size: medium; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; background-repeat: no-repeat; color: rgb(25,98,151); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 50px 0px 0px; display: block; line-height: 1.8em; padding-right: 0px; border-top-width: 0px"&gt;&lt;strong&gt;The major pieces&lt;/strong&gt;&lt;/span&gt; &lt;span style="font-size: medium; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; font-weight: normal; color: rgb(0,0,0); line-height: 1.8em; border-top-width: 0px"&gt;The interesting news here is that XAMARIN is capable of creating a native app.&lt;br&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt; &lt;table style="border-top: medium none; border-right: #666666 1px solid; border-collapse: collapse; border-bottom: #666666 1px solid; color: #000; text-align: left; font: 90% verdana, arial, helvetica, sans-serif; border-left: #666666 1px solid"&gt; &lt;tbody&gt; &lt;tr style="vertical-align: middle; background-color: #ebf3ff"&gt; &lt;td style="border-top: #000000 1px solid; height: 26px; padding-bottom: 5px; padding-top: 5px; padding-left: 10px; border-left: #000000 1px solid; padding-right: 10px"&gt;C# language &lt;/td&gt; &lt;td style="border-top: #000000 1px solid; height: 26px; padding-bottom: 5px; padding-top: 5px; padding-left: 10px; border-left: #000000 1px solid; padding-right: 10px"&gt;Allows you to use a familiar syntax and sophisticated features like Generics, Linq and the Parallel Task Library. &lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: middle; background-color: #ffffff"&gt; &lt;td style="border-top: #000000 1px solid; height: 26px; padding-bottom: 5px; padding-top: 5px; padding-left: 10px; border-left: #000000 1px solid; padding-right: 10px"&gt;Mono .NET framework &lt;/td&gt; &lt;td style="border-top: #000000 1px solid; height: 26px; padding-bottom: 5px; padding-top: 5px; padding-left: 10px; border-left: #000000 1px solid; padding-right: 10px"&gt;Provides a cross-platform implementation of the extensive features in Microsoft’s .NET framework. &lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: middle; background-color: #ebf3ff"&gt; &lt;td style="border-top: #000000 1px solid; height: 26px; padding-bottom: 5px; padding-top: 5px; padding-left: 10px; border-left: #000000 1px solid; padding-right: 10px"&gt;Compiler &lt;/td&gt; &lt;td style="border-top: #000000 1px solid; height: 26px; padding-bottom: 5px; padding-top: 5px; padding-left: 10px; border-left: #000000 1px solid; padding-right: 10px"&gt;Depending on the platform, produces a native app (eg. iOS) or an integrated .NET application and runtime (eg. Android). &lt;br&gt;The compiler also performs many optimizations for mobile deployment such as linking away un-used code. &lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: middle; background-color: #ffffff"&gt; &lt;td style="border-top: #000000 1px solid; height: 26px; padding-bottom: 5px; padding-top: 5px; padding-left: 10px; border-left: #000000 1px solid; padding-right: 10px"&gt;IDE tools &lt;/td&gt; &lt;td style="border-top: #000000 1px solid; height: 26px; padding-bottom: 5px; padding-top: 5px; padding-left: 10px; border-left: #000000 1px solid; padding-right: 10px"&gt;The Xamarin Studio IDE and the Xamarin plug-in for Visual Studio allow you to create, build and deploy Xamarin projects. &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;hr&gt;  &lt;span style="border-left-width: 0px; font-size: medium; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; background-repeat: no-repeat; color: rgb(25,98,151); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 50px 0px 0px; display: block; line-height: 1.8em; padding-right: 0px; border-top-width: 0px"&gt;&lt;strong&gt;More to come&lt;/strong&gt;&lt;/span&gt; &lt;span style="font-size: medium; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; font-weight: normal; color: rgb(0,0,0); line-height: 1.8em; border-top-width: 0px"&gt;I will take this a step or 2 further in the next few days.&lt;br&gt;&lt;/span&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419858" width="1" height="1"&gt;</description></item><item><title>When and When Not To Use the SharePoint 2013 App Model (v5)</title><link>http://blogs.msdn.com/b/alex_randall/archive/2013/05/18/when-and-when-not-to-use-the-sharepoint-2013-app-model-v5.aspx</link><pubDate>Sat, 18 May 2013 12:53:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419837</guid><dc:creator>Alex Randall</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&amp;nbsp;Here is the most recent version of my PowerPoint slide deck for my "When and When Not To Use the&amp;nbsp;SharePoint 2013 App Model" presentation I gave at SharePoint Saturday&amp;nbsp;Baltimore on Saturday, 5/18/2013.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a title="WhenAndWhenNotToUseTheNewSP2013AppModel-Presentationv5.pptx" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-54-79-Speaking-2013_2D00_05_2D00_18/8507.WhenAndWhenNotToUseTheNewSP2013AppModel_2D00_Presentationv5.pptx"&gt;WhenAndWhenNotToUseTheNewSP2013AppModel-Presentationv5.pptx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; I hope it is helpful in understanding what the App Model is all about!&amp;nbsp; Please feel free to comment or ask questions!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419837" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/alex_randall/archive/tags/SharePoint+2013/">SharePoint 2013</category><category domain="http://blogs.msdn.com/b/alex_randall/archive/tags/Visual+Studio+2012/">Visual Studio 2012</category><category domain="http://blogs.msdn.com/b/alex_randall/archive/tags/Speaking/">Speaking</category></item><item><title>Imagine Cup 2013 – локални финали (част 3)</title><link>http://blogs.msdn.com/b/dpe_bulgaria/archive/2013/05/18/imagine-cup-2013-local-finals-part-3.aspx</link><pubDate>Sat, 18 May 2013 12:29:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419833</guid><dc:creator>DPE BG</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Иновации при правенето на Игри в Imagine Cup 2013 ни показаха цели 5 отбора. Вижте кои бяха участниците и какво ни демонстрираха те:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="5" width="537" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="235"&gt;         &lt;p&gt;&lt;strong&gt;&lt;u&gt;MG Power&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-27-63-metablogapi/2577.splashscreen_5F00_57A860D8.png"&gt;&lt;img title="splashscreen" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="splashscreen" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-27-63-metablogapi/4162.splashscreen_5F00_thumb_5F00_474CE91F.png" width="240" height="116" /&gt;&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&lt;/p&gt;          &lt;p&gt;Екип: Атанас Атанасов, Мартин Стоянов, Станислав Славев&lt;/p&gt;          &lt;p&gt;МГ “Баба Тонка”, Русе&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="300"&gt;         &lt;p align="justify"&gt;&lt;strong&gt;&lt;u&gt;MG Power&lt;/u&gt;&lt;/strong&gt; ни предлагат да се научим как да използваме логическото си мислене и да развиваме знанията си за света около нас, като разрушаваме сгради. Използвайки различни методи, трябва да съборим поставената за цел сграда, без да нараним нищо около нея. И всичко това под формата на една много приятна и потенциално зарибяваща Windows 8 игра. &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="235"&gt;         &lt;p&gt;&lt;strong&gt;&lt;u&gt;Umbra Team&lt;/u&gt;&lt;/strong&gt;&amp;#160; &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-27-63-metablogapi/2022.image_5F00_53EEBFBE.png"&gt;&lt;img title="image" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-27-63-metablogapi/8764.image_5F00_thumb_5F00_678B8385.png" width="240" height="121" /&gt;&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;           &lt;br /&gt;Екип: Александър Брестнички, Ангел Радоев, Виктор Лалев (Софийски университет “Св. Климент Охридски”), Даниел Стаменов (УАСГ)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;/p&gt;          &lt;p&gt;Ментор: Теодор Райчев&lt;/p&gt;                 &lt;/td&gt;        &lt;td valign="top" width="300"&gt;         &lt;p align="justify"&gt;Представете си стандартна сутрин, в която преди да влезете в офиса трябва да се преборите с огромния трол, препречил пътя към сградата. А докато чакате автобуса разбирате, че сте заобиколени не от обикновени хора, а от магьосници, войни и други приказни същества. Звучи интересно нали?&lt;/p&gt;          &lt;p align="justify"&gt;Това е светът на сенките, в който ни пренася мобилната игра Umbra. Използвайки реалните карти и местоположението ни, играта ни кара да погледнем на всичко около нас по по-различен начин и ни води една стъпка по-близо до това да бъдем истински герои.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="235"&gt;         &lt;p&gt;&lt;strong&gt;&lt;u&gt;Alfa Aliens&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;         &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-27-63-metablogapi/5428.image_5F00_17D2583C.png"&gt;&lt;img title="image" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-27-63-metablogapi/3324.image_5F00_thumb_5F00_752E19C0.png" width="240" height="144" /&gt;&lt;/a&gt;          &lt;br /&gt;          &lt;br /&gt;Екип: Valeriya Inyusheva, Ростислав Неделчев, Tatevik Mkrtchyan          &lt;br /&gt;          &lt;br /&gt;Американски университет в Благоевград&lt;/td&gt;        &lt;td valign="top" width="300"&gt;         &lt;p align="justify"&gt;В Alfa Aliens помагаме на извънземни същества, изгонени от собствената си планета да построят отново своята цивилизация и в последствие да си върнат дома. Класическите техники за развитие на селища са обогатени с образователни мини-игри, които дават възможност на децата да обогатят знанията си и да упражняват вече наученото, докато се забавляват.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="235"&gt;         &lt;p&gt;&lt;strong&gt;&lt;u&gt;Blitz Games&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&amp;#160; &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-27-63-metablogapi/8080.image_5F00_3A6670EA.png"&gt;&lt;img title="image" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-27-63-metablogapi/7271.image_5F00_thumb_5F00_3E6098EF.png" width="240" height="128" /&gt;&lt;/a&gt;          &lt;br /&gt;          &lt;br /&gt;Екип: Борислав Иванов, Юрий Попов (Технически университет - София), Петър Добрев (Софийски университет “Св. Климент Охридски”), Радослав Цонев (Нов български университет)                 &lt;/td&gt;        &lt;td valign="top" width="300"&gt;         &lt;p align="justify"&gt;Войнът Гром и магьосникът Удохан се отправят на пътешествие към невъзможното – да намерят сферата на реалността и да подчинят силата, която съдържа тя. Но при битката за магическото кълбо двамата го разрушават и реалността е заплашена от разпадане. Изправени пред безисходицата от разрухата н света двамата обединяват силите си и се впускат в събиране на разпиляните парчета от ценния обект. &lt;/p&gt;          &lt;p align="justify"&gt;Blitz Games съчетават доброто старо време на двуизмерните jump-n-run игри с модерните технологии и интересната история и отново правят жанра актуален. &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="235"&gt;         &lt;p&gt;&lt;strong&gt;&lt;u&gt;Mirvam&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-27-63-metablogapi/1385.image_5F00_0398F019.png"&gt;&lt;img title="image" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-27-63-metablogapi/1665.image_5F00_thumb_5F00_1D207D46.png" width="240" height="124" /&gt;&lt;/a&gt;            &lt;br /&gt;&amp;#160; &lt;br /&gt;            &lt;br /&gt;Екип: Димитър Вулджев (НПМГ), Иван Стефанов (ПМГ &amp;quot;Акад. Н. Обрешков&amp;quot;, Казанлък)            &lt;br /&gt;            &lt;br /&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="300"&gt;         &lt;p align="justify"&gt;Mirvam работят върху виртуален човек, с който можем да общуваме с помощта на жестове и глас. Проектът им е базиран на Kinect и представя нестандартен поглед върху въображаемите ни приятели :)&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419833" width="1" height="1"&gt;</description></item><item><title>Scripting : Toggle proxy server in IE settings with PowerShell</title><link>http://blogs.msdn.com/b/aymerics_blog/archive/2013/05/18/scripting-toggle-proxy-server-in-ie-settings-with-powershell.aspx</link><pubDate>Sat, 18 May 2013 07:43:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419814</guid><dc:creator>Aymeric Mouillé - Consultant</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;My current Customer use a proxy server for Internet and I need to change this settings each morning (when I start to work for him) and each evening (when I return at home). To save precious time, I wrote a little script that toggle this setting at each script execution :&lt;/p&gt;  &lt;pre style="padding: 5px; border: 1px solid rgb(206, 206, 206); width: 572px; height: 362px; overflow: auto; min-height: 40px; background-color: rgb(251, 251, 251);"&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;$regKey=&amp;quot;&lt;span style="color: rgb(139, 0, 0);"&gt;HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings&lt;/span&gt;&amp;quot;
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;$proxyServer = &amp;quot;&lt;span style="color: rgb(139, 0, 0);"&gt;&lt;/span&gt;&amp;quot;
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;$proxyServerToDefine = &amp;quot;&lt;span style="color: rgb(139, 0, 0);"&gt;{Proxy}:{Port}&lt;/span&gt;&amp;quot;
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Write&lt;/span&gt;-Host &amp;quot;&lt;span style="color: rgb(139, 0, 0);"&gt;Retrieve the proxy server ...&lt;/span&gt;&amp;quot;
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;$proxyServer = &lt;span style="color: rgb(0, 0, 255);"&gt;Get&lt;/span&gt;-ItemProperty -path $regKey ProxyServer -ErrorAction SilentlyContinue
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Write&lt;/span&gt;-Host $proxyServer
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;([&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;]::IsNullOrEmpty($proxyServer))
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;{
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Write&lt;/span&gt;-Host &amp;quot;&lt;span style="color: rgb(139, 0, 0);"&gt;Proxy is actually disabled&lt;/span&gt;&amp;quot;
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt;-ItemProperty -path $regKey ProxyEnable -value 1
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt;-ItemProperty -path $regKey ProxyServer -value $proxyServerToDefine
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Write&lt;/span&gt;-Host &amp;quot;&lt;span style="color: rgb(139, 0, 0);"&gt;Proxy is now enabled&lt;/span&gt;&amp;quot;
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;}
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;{
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Write&lt;/span&gt;-Host &amp;quot;&lt;span style="color: rgb(139, 0, 0);"&gt;Proxy is actually enabled&lt;/span&gt;&amp;quot;
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Set&lt;/span&gt;-ItemProperty -path $regKey ProxyEnable -value 0
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;    Remove-ItemProperty -path $regKey -name ProxyServer
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;Write&lt;/span&gt;-Host &amp;quot;&lt;span style="color: rgb(139, 0, 0);"&gt;Proxy is now disabled&lt;/span&gt;&amp;quot;
&lt;/pre&gt;&lt;pre style="margin: 0em; width: 100%; font-family: consolas,&amp;quot;Courier New&amp;quot;,courier,monospace; font-size: 12px; background-color: rgb(251, 251, 251);"&gt;}&lt;/pre&gt;&lt;/pre&gt;
Hope this helps! 

&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419814" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/aymerics_blog/archive/tags/Scripting/">Scripting</category><category domain="http://blogs.msdn.com/b/aymerics_blog/archive/tags/Proxy/">Proxy</category><category domain="http://blogs.msdn.com/b/aymerics_blog/archive/tags/Script/">Script</category><category domain="http://blogs.msdn.com/b/aymerics_blog/archive/tags/PowerShell/">PowerShell</category></item><item><title>//Build/2013 Conference See what's next • Learn from our engineers • Network with your peers</title><link>http://blogs.msdn.com/b/uk_faculty_connection/archive/2013/05/18/build-2013-conference-see-what-s-next-learn-from-our-engineers-network-with-your-peers.aspx</link><pubDate>Sat, 18 May 2013 06:37:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419809</guid><dc:creator>Lee Stott</dc:creator><slash:comments>0</slash:comments><description>&lt;h4&gt;The right content for your role&lt;/h4&gt;  &lt;table cellspacing="0" cellpadding="2" width="404" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="402"&gt;&lt;a href="http://www.buildwindows.com/"&gt;&lt;img title="image" style="border: 0px currentcolor; margin-right: 0px; margin-left: 0px; display: inline;" border="0" alt="image" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-28-metablogapi/7776.image_5F00_00DFFE78.png" width="395" height="316" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;There are hundreds of thousands of topics in the Dev Center, &lt;a href="http://dev.windows.com"&gt;http://dev.windows.com&lt;/a&gt; and &lt;a href="http://dev.windowsphone.com"&gt;http://dev.windowsphone.com&lt;/a&gt;. We know in any organisation discoverability and sharing of content is critical to success. &lt;/p&gt;  &lt;p&gt;So why not get to grips with this detail in person at Microsoft //Build/2013. &lt;/p&gt;  &lt;p&gt;Last month Steve Guggenheimer &lt;a href="http://blogs.technet.com/b/microsoft_blog/archive/2013/03/26/announcing-build-2013.aspx"&gt;announced&lt;/a&gt; //Build/ 2013, the conference is taking place June 26-28, 2013 at the Moscone Center in San Francisco. //build/ is a great opportunity to learn more about developing Windows Store apps. &lt;/p&gt;  &lt;p&gt;The conference will include great presentations, demos, info sessions, etc.&amp;#160; There will be no better place to get the latest and greatest info on Windows Store app development. &lt;/p&gt;  &lt;p&gt;You can see all the details about the conference and register at &lt;a href="http://www.buildwindows.com"&gt;www.buildwindows.com&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Here are some key resources for the each roles in your organisation.&lt;/p&gt;  &lt;h5&gt;Developers&lt;/h5&gt;  &lt;p&gt;When you go to the &lt;a href="http://msdn.microsoft.com/en-US/windows/apps/"&gt;Windows Store apps home page&lt;/a&gt;, you’ll see: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“Key tasks and content” prominently called out to help you jump into the content you need. Events as well as new resources. &lt;/li&gt;    &lt;li&gt;Downloads to help you dive right into coding, all the resources you need to get started, and our detailed guidance on getting your app into the Windows Store. &lt;/li&gt;    &lt;li&gt;Important code samples are highlighted, and how-to guidance is more easily navigated with an eye toward the development lifecycle. &lt;/li&gt;    &lt;li&gt;“&lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/br211360.aspx"&gt;One Dev Minute&lt;/a&gt;” videos throughout the site, which give you a quick look at how to add features to your app. &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Designers&lt;/h5&gt;  &lt;p&gt;The &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/hh779072.aspx"&gt;Design section&lt;/a&gt;. You can find useful downloads and reusable design assets more easily, and design inspiration and case studies give you the tools you need to make a unique experience on Windows.&lt;/p&gt;  &lt;h5&gt;Businesses&lt;/h5&gt;  &lt;p&gt;The business opportunity of the Windows Store is significant, with a better economic model than competitive platforms and flexibility that enables you to build the business you want. The new &lt;a href="http://go.microsoft.com/fwlink/?LinkID=285998"&gt;Market section&lt;/a&gt; of the site provides great tips for marketing your apps, evaluating telemetry data, and passing app certification. &lt;/p&gt;  &lt;h4&gt;There’s more to come&lt;/h4&gt;  &lt;p&gt;With &lt;a href="http://www.buildwindows.com/"&gt;//BUILD/2013&lt;/a&gt; less than a month away, stay connected by following &lt;a href="https://twitter.com/#!/windevs"&gt;@windevs&lt;/a&gt;&amp;#160;&lt;a href="https://twitter.com/#!/ukmsdn"&gt;@ukmsdn&lt;/a&gt; on Twitter and subscribing to the &lt;a href="http://www.windowsstore.com/newsletter-signup"&gt;Windows Store newsletter&lt;/a&gt; for the latest information on Windows 8.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419809" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/uk_faculty_connection/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/uk_faculty_connection/archive/tags/BUILD/">BUILD</category><category domain="http://blogs.msdn.com/b/uk_faculty_connection/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/uk_faculty_connection/archive/tags/Windows+Store/">Windows Store</category><category domain="http://blogs.msdn.com/b/uk_faculty_connection/archive/tags/Windows+RT/">Windows RT</category><category domain="http://blogs.msdn.com/b/uk_faculty_connection/archive/tags/Dev+Center/">Dev Center</category><category domain="http://blogs.msdn.com/b/uk_faculty_connection/archive/tags/Windows+Azure+Mobile+Services/">Windows Azure Mobile Services</category><category domain="http://blogs.msdn.com/b/uk_faculty_connection/archive/tags/Windows+Azure/">Windows Azure</category><category domain="http://blogs.msdn.com/b/uk_faculty_connection/archive/tags/Developers/">Developers</category><category domain="http://blogs.msdn.com/b/uk_faculty_connection/archive/tags/Windows+8+apps/">Windows 8 apps</category></item><item><title>Just released - Prism for Windows Runtime</title><link>http://blogs.msdn.com/b/blaine/archive/2013/05/18/just-released-prism-for-windows-runtime.aspx</link><pubDate>Sat, 18 May 2013 05:58:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419805</guid><dc:creator>bmw1122</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Last December, we announced our &lt;a href="http://blogs.msdn.com/b/blaine/archive/2012/12/13/prism-on-net-4-5-and-the-road-to-windows-8-apps.aspx"&gt;thoughts&lt;/a&gt; on a new version of Prism for Windows 8 which we code named Kona. We are excited to announce that Prism for the Windows Runtime and the associated AdventureWorks Shopper reference implementation is now available on the &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/xx130643.aspx"&gt;Windows Dev Center&lt;/a&gt;, &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;What is Prism for Windows Runtime?&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Similar to Prism for WPF and Silverlight or “&lt;a href="http://microsoft.com/prism"&gt;Prism Classic&lt;/a&gt;”, Prism for Windows Runtime provides guidance to help you more easily design and build flexible and easy-to-maintain Windows Store business apps&amp;#160; using C#, Extensible Application Markup Language (XAML), the Windows Runtime, and modern development practices. These are apps that are “built to last” and “build to change”. Using design patterns that embody important architectural design principles, such as separation of concerns and loose coupling.&lt;/p&gt;  &lt;p&gt;Prism comes with the AdventureWorks Shopper reference implementation which uses the Prism library to demonstrate modern development practices such as Model-View-ViewModel (MVVM) pattern with navigation and app lifecycle management. Additionally the reference implementation demonstrates validation, application data management, accessibility, localizability, touch, search, tiles, tile notification, and multiple view states. It also provides guidance on testing your app and tuning its performance.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;What’s in the box?&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Reference implementation:&lt;/strong&gt; AdventureWorks Shopper&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Quickstarts&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Hello World&lt;/li&gt;      &lt;li&gt;Event Aggregator&lt;/li&gt;      &lt;li&gt;Validation&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Prism library&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;strong&gt;Microsoft.Practices.Prism.PubSubEvents:&lt;/strong&gt; Event Aggregator in a portable class library&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Microsoft.Practices.Prism.StoreApps:&lt;/strong&gt; Bootstrapping, MVVM, Navigation, Lifecycle Management, Delegate Command, Settings Charm, Search, and Flyout Support&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Documentation:&lt;/strong&gt; on Windows Dev Center and in PDF&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;How to get it?&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The Prism library source code is available with the AdventureWorks Shopper reference implementation on the MSDN Code Gallery at &lt;a href="http://code.msdn.microsoft.com/windowsapps/Prism-for-the-Windows-86b8fb72"&gt;http://aka.ms/prism-winrt-code&lt;/a&gt;. The Prism binaries will be available on NuGet starting Monday May 20. Search for Prism.&lt;/p&gt;  &lt;p&gt;You can view the documentation at &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/xx130643.aspx"&gt;http://aka.ms/prism-winrt-doc&lt;/a&gt; or download a PDF version at &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=39042"&gt;http://aka.ms/prism-winrt-pdf&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;How to get started?&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;For an overview of the guidance, watch this &lt;a href="http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Prism-for-Windows-Store-Apps"&gt;Channel 9 Video&lt;/a&gt; of Francis Cheung and myself giving a walk through of Prism. To evaluate and see the guidance in action go to &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/xx130645.aspx"&gt;Getting Started&lt;/a&gt; chapter of the documentation. This chapter tells you how to build and run the reference implementation as well as describes the different projects in the solution.&lt;/p&gt;  &lt;p&gt;To create your first app see &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/xx130642.aspx"&gt;Using Prism for the Windows Runtime&lt;/a&gt; chapter in the documentation. You should also follow Francis Cheung’s blog post if you want more detailed instructions. Additionally our CodePlex &lt;a href="http://prismwindowsruntime.codeplex.com/wikipage?title=Knowledgebase%20Articles&amp;amp;referringTitle=Home"&gt;Knowledge Base page&lt;/a&gt; provides additional resources to get started.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;How to provide feedback?&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If you’d like to provide feedback, please post it via the &lt;a href="http://prismwindowsruntime.codeplex.com/discussions"&gt;Codeplex forum.&lt;/a&gt; This is where you can also get support. We have a dedicated sustained engineering team monitoring the forum regularly. To report a bug, use online &lt;a href="http://prismwindowsruntime.codeplex.com/workitem/list/basic"&gt;Issue Tracker&lt;/a&gt;. We will start planning the next release soon so your feedback is appreciated.&lt;/p&gt;  &lt;p&gt;If you have a story of how your team leverages Prism and would like to share it with the broader community, please &lt;a href="mailto:ourstory@microsoft.com"&gt;contact us&lt;/a&gt;. We’ll be happy to work with you on a case study.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Happy coding.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419805" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/blaine/archive/tags/Prism/">Prism</category><category domain="http://blogs.msdn.com/b/blaine/archive/tags/Windows+Runtime/">Windows Runtime</category><category domain="http://blogs.msdn.com/b/blaine/archive/tags/Windows+Store+Apps/">Windows Store Apps</category><category domain="http://blogs.msdn.com/b/blaine/archive/tags/Business+Apps/">Business Apps</category></item><item><title>如何比對資料表筆數(值)</title><link>http://blogs.msdn.com/b/jchiou/archive/2013/05/18/10419803.aspx</link><pubDate>Sat, 18 May 2013 05:40:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419803</guid><dc:creator>jchiou</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt; 資料庫轉移到不同伺服器後, 想要比對各資料表筆數有沒有不同&lt;/p&gt;  &lt;p&gt;若資料值或是筆數不同，代表在移轉過程仍有應用程式在操作資料庫，會造成資料不一致。&lt;/p&gt;  &lt;p&gt;&lt;b&gt;RESOLUTION 1:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;使用 Visual Studio 2010 資料比較工具，可以比對到每一個資料值。&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-29-metablogapi/0310.clip_5F00_image002_5F00_183DBC58.jpg"&gt;&lt;img title="clip_image002" style="display: inline;" border="0" alt="clip_image002" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-29-metablogapi/5482.clip_5F00_image002_5F00_thumb_5F00_35636462.jpg" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;RESOLUTION 2:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;使用 TSQL + Excel 來做&lt;/p&gt;  &lt;p&gt;--此語法相容於 SQL 2000&lt;/p&gt;  &lt;p&gt;--DROP TABLE temp_table&lt;/p&gt;  &lt;p&gt;--TRUNCATE TABLE temp_table&lt;/p&gt;  &lt;p&gt;CREATE TABLE temp_table&lt;/p&gt;  &lt;p&gt;(&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; no_of_rows INTEGER,&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; table_name VARCHAR(30),&lt;/p&gt;  &lt;p&gt;)&lt;/p&gt;  &lt;p&gt;EXEC sp_MSforeachtable 'INSERT INTO temp_table SELECT COUNT(*) AS nr_of_rows, ''?'' AS table_name FROM ?'&lt;/p&gt;  &lt;p&gt;SELECT * FROM temp_table&lt;/p&gt;  &lt;p&gt;--DROP TABLE temp_table&lt;/p&gt;  &lt;p&gt;--TRUNCATE TABLE temp_table&lt;/p&gt;  &lt;p&gt;在兩個伺服器執行上述的 Script &lt;/p&gt;  &lt;p&gt;在將值貼到 Excel 中, 我在 C 欄位寫了一個公式: =IF(ISERROR(MATCH(A4,D4,0)),A4,&amp;quot;&amp;quot;)&lt;/p&gt;  &lt;p&gt;若兩邊的資料有所不同, 會顯示在 C 欄位中&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-29-metablogapi/3644.clip_5F00_image004_5F00_52890C6C.jpg"&gt;&lt;img title="clip_image004" style="display: inline;" border="0" alt="clip_image004" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-29-metablogapi/6266.clip_5F00_image004_5F00_thumb_5F00_41552EC9.jpg" width="644" height="417" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Enjoy.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419803" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jchiou/archive/tags/SQL+Server+2005/">SQL Server 2005</category><category domain="http://blogs.msdn.com/b/jchiou/archive/tags/SQL+Server+2008/">SQL Server 2008</category><category domain="http://blogs.msdn.com/b/jchiou/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category><category domain="http://blogs.msdn.com/b/jchiou/archive/tags/SQL+2012/">SQL 2012</category></item><item><title>I don’t have to do anything and my credit card information gets breached</title><link>http://blogs.msdn.com/b/tzink/archive/2013/05/18/i-don-t-have-to-do-anything-and-my-credit-card-information-gets-breached.aspx</link><pubDate>Sat, 18 May 2013 05:20:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419796</guid><dc:creator>tzink</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;font size="2" face="Verdana"&gt;Yesterday, while reading a book on my Kindle app (on my PC), I got an email from American Express with the subject line “Fraud Protection Alert.”&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;“Fraud protection?” I said (out loud, to no one in particular, except for possibly my cat who did not respond).&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Yes, fraud protection. In the email message, it had the last 5-digits of my account number so I knew it was probably my card and then it had the name of a merchant – Shell Canada – and a charge of $20.00 Cdn funds.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-68-90-metablogapi/4857.image_5F00_647BB9A1.png"&gt;&lt;img title="image" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-68-90-metablogapi/3731.image_5F00_thumb_5F00_6E14020A.png" width="294" height="201" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;I racked my brain. Did anyone I know have my credit card in Canada at the moment? No, they don’t. I looked at the contact information and gave Amex a call where I subsequently reversed the charges, got the card cancelled and got a new one.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;I don’t know how this card could have been breached. It is my&lt;em&gt; corporate&lt;/em&gt; credit card, and I use it very rarely – only to travel on business. It stays with me at all times. How did some scammer steal it and use it?&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;I started making a paper trail in my head. Since nobody had physical access to my card, I could only assume that it was a breach – some hacker broke in to a business I had used and leaked all the credit card data, probably pasting it online somewhere. Some other scammer (or possibly the same one) used that leak to buy gasoline.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Working my way backwards, my theory is that the probable source of the leak is proportional to how recently I used the card. That is, if the last time I used the card was May 1, then that is the most likely source of the leak. If the second last time I used the card was April 28, then that is the second most likely source.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Now, you may not agree with this theory; however, because I use this card so rarely and the time space between major transactions is weeks (or months), it’s a good place to start for my usage-pattern.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-68-90-metablogapi/2022.image_5F00_2B54B6D2.png"&gt;&lt;img title="image" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-68-90-metablogapi/4048.image_5F00_thumb_5F00_74975BCD.png" width="292" height="174" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Using this as a starting point, I started thinking about what I’ve purchased in the past two months:&lt;/font&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;font size="2" face="Verdana"&gt;Airline tickets&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2" face="Verdana"&gt;Booked a hotel&lt;/font&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Well, that doesn’t help much. Either the airline leaked it, or the hotel leaked it. If I were to guess, I’d guess the hotel leaked it since they are tempting targets for identity thieves because of their clientele (business travelers) and hotels don’t always have the same safeguards that banks do (airlines are under more scrutiny).&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;I called up my credit card company and canceled the card. They sent me a new one and it arrived today. Upon checking my account, I discovered that said thief charged three different purchases at a gas station in Montreal.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;I am no closer to figuring out where this leak may have happened.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;* * * * * * * * * * * * *&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Fast forward to today, and I got a letter from my bank. I opened it up and inside is a new &lt;em&gt;debit&lt;/em&gt; card. For you see, while they were doing routine fraud detection, they discovered some fraudulent activity on my card and sent me a new one.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;What in the world?&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;First my credit card, now my debit card?&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;As disconcerting as this is to lose two cards in a week, it also potentially helps narrow down the target. Where did I use my debit card and credit card in the same place?&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;I went to my credit card website and made a list of all purchases from the start of the year. I figured that a likely suspect was this past February while I was at the MAAWG conference in San Francisco. That’s when I would use my corporate credit card.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Next, I checked my debit card purchases during that same time frame, looking to see if there were any vendors that were in common.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;There was: the Buckhorn Grill in San Francisco. One day I went there because I was there on business, but I stayed an extra day in San Francisco and paid for it myself.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Two cards in one place.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Both cards leaked this week.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;This &lt;em&gt;could&lt;/em&gt; be a coincidence, but I don’t think so. I think that’s where the data leak occurred. I don’t remember much about the transaction, but either the card information wasn’t encoded and someone wrote down the number, or they had a breach.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;My theory about the “recentcy” effect was right, but I didn’t go back far enough. I had to go back 3 months in time rather than a few weeks.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;While I don’t like getting my data exposed, it does make me feel better to engage in this detective work and figure out a likely place of origin.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://criminaljusticeclassesonline.com/wp-content/uploads/2012/10/detective-at-work-300x200.jpg"&gt;&amp;#160;&lt;/img&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419796" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/tzink/archive/tags/Security/">Security</category></item><item><title>Você precisa de todas as colunas em uma QueryExpression?</title><link>http://blogs.msdn.com/b/crmbr/archive/2013/05/18/voc-234-precisa-de-todas-as-colunas-em-uma-queryexpression.aspx</link><pubDate>Sat, 18 May 2013 05:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419794</guid><dc:creator>Marco A. Rodrigues Neto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Essa semana trabalhei em um cliente e notei que suas customiza&amp;ccedil;&amp;otilde;es (plugins, webservices) possu&amp;iacute;am em grande maioria as queries (&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.query.queryexpression.aspx"&gt;QueryExpression&lt;/a&gt;) constru&amp;iacute;das com o objeto &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.query.columnset.aspx"&gt;ColumnSet&lt;/a&gt; definindo todas as colunas na pesquisa. &lt;br /&gt;Em v&amp;aacute;rias situa&amp;ccedil;&amp;otilde;es, as queries eram utilizadas com o prop&amp;oacute;sito de verificar apenas o valor de um ou dois campos dos registros. &lt;br /&gt;&lt;br /&gt;Vamos ver abaixo a diferen&amp;ccedil;a de performance quando temos uma QueryExpression com o objeto ColumnSet requisitando todos atributos e outro cen&amp;aacute;rio requisitando somente os necess&amp;aacute;rios. &lt;br /&gt;&lt;br /&gt;Considere o seguinte trecho de &lt;span style="text-decoration: underline;"&gt;&lt;em&gt;c&amp;oacute;digo de exemplo*&lt;/em&gt;&lt;/span&gt; executado em uma organiza&amp;ccedil;&amp;atilde;o com o Sample Data instalado:&lt;/p&gt;
&lt;pre class="scroll"&gt;&lt;span style="font-size: x-small;"&gt;&lt;code class="csharp"&gt;&lt;span style="color: #008080;"&gt;ConditionExpression&lt;/span&gt; condition = &lt;span style="color: #0000ff;"&gt;new &lt;/span&gt;&lt;span style="color: #008080;"&gt;ConditionExpression&lt;/span&gt;();&lt;br /&gt;condition.AttributeName = &lt;span style="color: #ff0000;"&gt;"address1_city"&lt;/span&gt;;&lt;br /&gt;condition.Operator = ConditionOperator.Equal;&lt;br /&gt;condition.Values.Add(&lt;span style="color: #ff0000;"&gt;"Redmond"&lt;/span&gt;);&lt;br /&gt; &lt;br /&gt;&lt;span style="color: #008080;"&gt;ColumnSet&lt;/span&gt; columns = &lt;span style="color: #0000ff;"&gt;new &lt;/span&gt;&lt;span style="color: #008080;"&gt;ColumnSet&lt;/span&gt;(&lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;QueryExpression&lt;/span&gt; query = new &lt;span style="color: #008080;"&gt;QueryExpression&lt;/span&gt;();&lt;br /&gt;query.EntityName = &lt;span style="color: #ff0000;"&gt;"contact"&lt;/span&gt;;&lt;br /&gt;query.ColumnSet = columns;&lt;br /&gt;query.Criteria.AddCondition(condition);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;EntityCollection&lt;/span&gt; results = service.RetrieveMultiple(query);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;foreach&lt;/span&gt; (&lt;span style="color: #008080;"&gt;Entity&lt;/span&gt; contact &lt;span style="color: #0000ff;"&gt;in&lt;/span&gt; results.Entities)&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: #008080;"&gt;Console&lt;/span&gt;.WriteLine(contact[&lt;span style="color: #ff0000;"&gt;"fullname"&lt;/span&gt;] + &lt;span style="color: #ff0000;"&gt;": "&lt;/span&gt; + contact[&lt;span style="color: #ff0000;"&gt;"emailaddress1"&lt;/span&gt;]); &lt;br /&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Repare que preciso apenas do &lt;strong&gt;Nome Completo&lt;/strong&gt; e &lt;strong&gt;Endere&amp;ccedil;o de E-mail&lt;/strong&gt; dos contatos onde a cidade &amp;eacute; igual a &lt;strong&gt;Redmond&lt;/strong&gt;. Vamos ver como essa QueryExpression foi traduzida no SQL Server e respectivos n&amp;uacute;meros:&lt;/p&gt;
&lt;pre class="scroll"&gt;&lt;span style="font-size: x-small;"&gt;&lt;code class="mysql"&gt;&lt;span style="color: #0000ff;"&gt;exec&lt;/span&gt; &lt;span style="color: #800000;"&gt;sp_executesql&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;N'select top 5001 "contact0".SpousesName as "spousesname", "contact0".EMailAddress3 as "emailaddress3", "contact0".Address2_ShippingMethodCode as "address2_shippingmethodcode", "contact0".PreferredServiceId as "preferredserviceid"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".AnnualIncome as "annualincome", "contact0".Address2_Line2 as "address2_line2", "contact0".Fax as "fax", "contact0".Telephone3 as "telephone3", "contact0".PreferredAppointmentDayCode as "preferredappointmentdaycode"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address2_StateOrProvince as "address2_stateorprovince", "contact0".CreatedBy as "createdby", "contact0".Address2_Line1 as "address2_line1", "contact0".LastUsedInCampaign as "lastusedincampaign", "contact0".YomiLastName as "yomilastname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Pager as "pager", "contact0".EmployeeId as "employeeid", "contact0".TerritoryCode as "territorycode", "contact0".ParentCustomerId as "parentcustomerid", "contact0".ManagerName as "managername"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".BirthDate as "birthdate", "contact0".NumberOfChildren as "numberofchildren", "contact0".Address1_AddressTypeCode as "address1_addresstypecode", "contact0".OwningTeam as "owningteam", "contact0".Address2_PostalCode as "address2_postalcode"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".UTCConversionTimeZoneCode as "utcconversiontimezonecode", "contact0".OwningUser as "owninguser", "contact0".AssistantPhone as "assistantphone", "contact0".MasterId as "masterid", "contact0".CreatedOnBehalfBy as "createdonbehalfby"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address1_Latitude as "address1_latitude", "contact0".MobilePhone as "mobilephone", "contact0".CustomerTypeCode as "customertypecode", "contact0".ManagerPhone as "managerphone", "contact0".Address1_FreightTermsCode as "address1_freighttermscode"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address1_Longitude as "address1_longitude", "contact0".Address2_Telephone2 as "address2_telephone2", "contact0".StatusCode as "statuscode", "contact0".YomiFullName as "yomifullname", "contact0".Aging90_Base as "aging90_base"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".FamilyStatusCode as "familystatuscode", "contact0".FirstName as "firstname", "contact0".Address2_Latitude as "address2_latitude", "contact0".Department as "department", "contact0".OriginatingLeadId as "originatingleadid"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Aging60 as "aging60", "contact0".StateCode as "statecode", "contact0".Address2_FreightTermsCode as "address2_freighttermscode", "contact0".Address1_Name as "address1_name", "contact0".YomiMiddleName as "yomimiddlename"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".ModifiedOnBehalfBy as "modifiedonbehalfby", "contact0".Description as "description", "contact0".EducationCode as "educationcode", "contact0".Address1_Telephone3 as "address1_telephone3", "contact0".Address2_Telephone1 as "address2_telephone1"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".ImportSequenceNumber as "importsequencenumber", "contact0".GenderCode as "gendercode", "contact0".OwnerId as "ownerid", "contact0".Address2_AddressTypeCode as "address2_addresstypecode", "contact0".Address1_UTCOffset as "address1_utcoffset"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".CreditLimit_Base as "creditlimit_base", "contact0".Aging60_Base as "aging60_base", "contact0".Address1_County as "address1_county", "contact0".OwningBusinessUnit as "owningbusinessunit", "contact0".JobTitle as "jobtitle"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address1_Telephone2 as "address1_telephone2", "contact0".TimeZoneRuleVersionNumber as "timezoneruleversionnumber", "contact0".Address1_Fax as "address1_fax", "contact0".Address2_PostOfficeBox as "address2_postofficebox", "contact0".Address1_Line2 as "address1_line2"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".WebSiteUrl as "websiteurl", "contact0".DoNotPostalMail as "donotpostalmail", "contact0".Address2_UTCOffset as "address2_utcoffset", "contact0".ExchangeRate as "exchangerate", "contact0".CreatedOn as "createdon"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".EMailAddress2 as "emailaddress2", "contact0".Address2_Line3 as "address2_line3", "contact0".Address2_AddressId as "address2_addressid", "contact0".OverriddenCreatedOn as "overriddencreatedon", "contact0".AnnualIncome_Base as "annualincome_base"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address1_Telephone1 as "address1_telephone1", "contact0".ChildrensNames as "childrensnames", "contact0".PreferredContactMethodCode as "preferredcontactmethodcode", "contact0".Aging90 as "aging90", "contact0".DoNotBulkPostalMail as "donotbulkpostalmail"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".EMailAddress1 as "emailaddress1", "contact0".DoNotBulkEMail as "donotbulkemail", "contact0".CustomerSizeCode as "customersizecode", "contact0".Address1_StateOrProvince as "address1_stateorprovince", "contact0".FullName as "fullname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".PreferredAppointmentTimeCode as "preferredappointmenttimecode", "contact0".TransactionCurrencyId as "transactioncurrencyid", "contact0".PaymentTermsCode as "paymenttermscode", "contact0".Aging30 as "aging30", "contact0".LeadSourceCode as "leadsourcecode"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Merged as "merged", "contact0".Address2_County as "address2_county", "contact0".Address1_ShippingMethodCode as "address1_shippingmethodcode", "contact0".FtpSiteUrl as "ftpsiteurl", "contact0".PreferredSystemUserId as "preferredsystemuserid"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address1_AddressId as "address1_addressid", "contact0".NickName as "nickname", "contact0".Address1_PostOfficeBox as "address1_postofficebox", "contact0".PreferredEquipmentId as "preferredequipmentid", "contact0".AssistantName as "assistantname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address2_Country as "address2_country", "contact0".ModifiedOn as "modifiedon", "contact0".ExternalUserIdentifier as "externaluseridentifier", "contact0".Address2_Name as "address2_name", "contact0".CreditOnHold as "creditonhold"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".ParticipatesInWorkflow as "participatesinworkflow", "contact0".AccountRoleCode as "accountrolecode", "contact0".Address2_Telephone3 as "address2_telephone3", "contact0".DoNotPhone as "donotphone", "contact0".ContactId as "contactid"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".DoNotFax as "donotfax", "contact0".Aging30_Base as "aging30_base", "contact0".Address1_UPSZone as "address1_upszone", "contact0".Suffix as "suffix", "contact0".Address1_PrimaryContactName as "address1_primarycontactname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Salutation as "salutation", "contact0".ModifiedBy as "modifiedby", "contact0".GovernmentId as "governmentid", "contact0".Address2_PrimaryContactName as "address2_primarycontactname", "contact0".DoNotSendMM as "donotsendmm"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address2_Longitude as "address2_longitude", "contact0".Address1_Country as "address1_country", "contact0".LastName as "lastname", "contact0".Address2_City as "address2_city", "contact0".DoNotEMail as "donotemail"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address1_City as "address1_city", "contact0".YomiFirstName as "yomifirstname", "contact0".Telephone1 as "telephone1", "contact0".Address1_Line1 as "address1_line1", "contact0".ShippingMethodCode as "shippingmethodcode"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".CreditLimit as "creditlimit", "contact0".Anniversary as "anniversary", "contact0".Telephone2 as "telephone2", "contact0".HasChildrenCode as "haschildrencode", "contact0".Address2_Fax as "address2_fax"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".IsBackofficeCustomer as "isbackofficecustomer", "contact0".Address1_Line3 as "address1_line3", "contact0".Address2_UPSZone as "address2_upszone", "contact0".DefaultPriceLevelId as "defaultpricelevelid", "contact0".MiddleName as "middlename"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address1_PostalCode as "address1_postalcode", "contact0".new_customfield as "new_customfield", "contact0".PreferredServiceIdName as "preferredserviceidname", "contact0".CreatedByYomiName as "createdbyyominame", "contact0".CreatedByName as "createdbyname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".ParentCustomerIdName as "parentcustomeridname", "contact0".ParentCustomerIdYomiName as "parentcustomeridyominame", "contact0".ParentCustomerIdType as "parentcustomeridtype", "contact0".MasterContactIdYomiName as "mastercontactidyominame", "contact0".MasterContactIdName as "mastercontactidname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".CreatedOnBehalfByYomiName as "createdonbehalfbyyominame", "contact0".CreatedOnBehalfByName as "createdonbehalfbyname", "contact0".OriginatingLeadIdName as "originatingleadidname", "contact0".OriginatingLeadIdYomiName as "originatingleadidyominame", "contact0".ModifiedOnBehalfByYomiName as "modifiedonbehalfbyyominame"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".ModifiedOnBehalfByName as "modifiedonbehalfbyname", "contact0".OwnerIdType as "owneridtype", "contact0".OwnerIdName as "owneridname", "contact0".OwnerIdYomiName as "owneridyominame", "contact0".TransactionCurrencyIdName as "transactioncurrencyidname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".PreferredSystemUserIdName as "preferredsystemuseridname", "contact0".PreferredSystemUserIdYomiName as "preferredsystemuseridyominame", "contact0".PreferredEquipmentIdName as "preferredequipmentidname", "contact0".ModifiedByYomiName as "modifiedbyyominame", "contact0".ModifiedByName as "modifiedbyname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".DefaultPriceLevelIdName as "defaultpricelevelidname" from Contact as "contact0" where (("contact0".Address1_City = @Address1_City0)) order by&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; "contact0".ContactId asc',N'@Address1_City0 nvarchar(7)'&lt;/span&gt;&lt;span style="color: #008080;"&gt;,@Address1_City0=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;N'Redmond'&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;br /&gt;Uma grande quantidade desnecess&amp;aacute;ria de colunas s&amp;atilde;o retornadas. Adicionalmente, v&amp;aacute;rias outras tabelas s&amp;atilde;o inclu&amp;iacute;das nessa pesquisa (Left Outer Join) gerando cerca de 68 logical reads.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-small;"&gt;(2 row(s) affected) &lt;br /&gt; Table 'OwnerBase'. Scan count 1, &lt;strong&gt;logical reads 5&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;br /&gt;Table 'TransactionCurrencyBase'. Scan count 1, &lt;strong&gt;logical reads 5&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;br /&gt;Table 'SystemUserBase'. Scan count 5, &lt;strong&gt;logical reads 30&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;br /&gt;Table 'ServiceBase'. Scan count 1, &lt;strong&gt;logical reads 0&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: xx-small;"&gt;&lt;span style="font-size: x-small;"&gt;Table 'PriceLevelBase'. Scan count 1, &lt;strong&gt;logical reads 5&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Table 'EquipmentBase'. Scan count 1, logical reads 0, physical reads 0, &amp;hellip; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Table 'LeadBase'. Scan count 0, logical reads 0, physical reads 0, &amp;hellip; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Table 'ContactBase'. Scan count 0, &lt;strong&gt;logical reads 10&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Table 'CustomerAddressBase'. Scan count 1, &lt;strong&gt;logical reads 9&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Table 'ContactExtensionBase'. Scan count 0, &lt;strong&gt;logical reads 4&lt;/strong&gt;, physical reads 0, &amp;hellip;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Dessa vez, vamos executar o mesmo c&amp;oacute;digo de exemplo, por&amp;eacute;m, informando as colunas necess&amp;aacute;rias para este exemplo no ColumnSet:&lt;/p&gt;
&lt;pre class="scroll"&gt;&lt;span style="font-size: x-small;"&gt;&lt;code class="csharp"&gt;&lt;span style="color: #008080;"&gt;ColumnSet&lt;/span&gt; columns = new &lt;span style="color: #008080;"&gt;ColumnSet&lt;/span&gt;();&lt;br /&gt;columns.AddColumns(&lt;span style="color: #ff0000;"&gt;"fullname"&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;"emailaddress1"&lt;/span&gt;);&lt;br /&gt; &lt;br /&gt;&lt;span style="color: #008080;"&gt;QueryExpression&lt;/span&gt; query = new &lt;span style="color: #008080;"&gt;QueryExpression&lt;/span&gt;();&lt;br /&gt;query.EntityName = &lt;span style="color: #ff0000;"&gt;"contact"&lt;/span&gt;;&lt;br /&gt;query.ColumnSet = columns;&lt;br /&gt;query.Criteria.AddCondition(condition);&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;br /&gt;A diferen&amp;ccedil;a &amp;eacute; not&amp;aacute;vel na query e nos respectivos n&amp;uacute;meros (reduzimos de 10 tabelas para 3 e de 68 logical reads para apenas 19):&lt;/p&gt;
&lt;pre class="scroll"&gt;&lt;span style="font-size: x-small;"&gt;&lt;code class="mysql"&gt;&lt;span style="color: #0000ff;"&gt;exec&lt;/span&gt; &lt;span style="color: #800000;"&gt;sp_executesql&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;N'select &lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; top 5001 "contact0".FullName as "fullname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".EMailAddress1 as "emailaddress1"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".ContactId as "contactid" &lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; from Contact as "contact0" where&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; (("contact0".Address1_City = @Address1_City0)) order by&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; "contact0".ContactId asc',N'@Address1_City0 nvarchar(7)'&lt;/span&gt;&lt;span style="color: #008080;"&gt;,@Address1_City0=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;N'Redmond'&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-size: x-small;"&gt;(2 row(s) affected)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Table 'ContactExtensionBase'. Scan count 0, &lt;strong&gt;logical reads 4&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;br /&gt;Table 'ContactBase'. Scan count 0, &lt;strong&gt;logical reads 10&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;br /&gt;Table 'CustomerAddressBase'. Scan count 1, &lt;strong&gt;logical reads 5&lt;/strong&gt;, physical reads 0, &amp;hellip;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Resumo&lt;/strong&gt;: No exemplo acima, notamos melhor performance nas queries criadas via QueryExpression quando utilizamos o objeto ColumnSet para retornar somente os campos necess&amp;aacute;rios para este cen&amp;aacute;rio. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;C&amp;oacute;digo de Exemplo&lt;/strong&gt;: fornecido apenas como ilustra&amp;ccedil;&amp;atilde;o, sem qualquer tipo de garantia ou suporte da Microsoft.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419794" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/crmbr/archive/tags/performance/">performance</category><category domain="http://blogs.msdn.com/b/crmbr/archive/tags/SDK/">SDK</category></item><item><title>Implementing Role Based Access for PowerPivot</title><link>http://blogs.msdn.com/b/rakesh_ramblings/archive/2013/05/18/implementing-role-based-access-for-powerpivot.aspx</link><pubDate>Sat, 18 May 2013 04:09:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419788</guid><dc:creator>Rakesh M J</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;This has been a very long week, and I have written a paper which will guide you step by step in implementing role based access for PowerPivot.&lt;/p&gt;  &lt;p&gt;You can download the file from &lt;a href="http://sdrv.ms/11LFHe2" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419788" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/rakesh_ramblings/archive/tags/security/">security</category><category domain="http://blogs.msdn.com/b/rakesh_ramblings/archive/tags/powerpivot/">powerpivot</category><category domain="http://blogs.msdn.com/b/rakesh_ramblings/archive/tags/role+based+access/">role based access</category></item><item><title>[ SQL ] 一次修改所有的 User Databases 的 PAGE_VERIFY 為 CHECKSUM</title><link>http://blogs.msdn.com/b/jchiou/archive/2013/05/18/sql-user-databases-page-verify-checksum.aspx</link><pubDate>Sat, 18 May 2013 02:40:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419781</guid><dc:creator>jchiou</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;b&gt;&lt;u&gt;What it is&lt;/u&gt;&lt;/b&gt;: 一次修改所有的 User Databases 的 PAGE_VERIFY 為 CHECKSUM&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Why it is important&lt;/u&gt;&lt;/b&gt;: 當針對 PAGE_VERIFY 資料庫選項啟用 CHECKSUM 時，SQL Server Database Engine 會針對整頁的內容計算總和檢查碼，並在將頁面寫入磁碟時，於頁首中儲存值。 從磁碟讀取頁面時，會重新計算總和檢查碼，並與頁首所儲存的總和檢查碼值作比較。 如此有助於提供高層級的資料檔完整性。此設定為建議值。&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;RESOLUTION:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;DECLARE @DBName varchar (50), @msg varchar (60), @sql varchar(60)&lt;/p&gt;  &lt;p&gt;DECLARE GetDBNames CURSOR&lt;/p&gt;  &lt;p&gt;FOR&lt;/p&gt;  &lt;p&gt;SELECT name FROM sys.databases WHERE page_verify_option &amp;lt; 2 AND database_id &amp;gt; 4 AND is_read_only = 0&lt;/p&gt;  &lt;p&gt;OPEN GetDBNames&lt;/p&gt;  &lt;p&gt;FETCH NEXT FROM GetDBNames INTO @DBName &lt;/p&gt;  &lt;p&gt;WHILE @@FETCH_STATUS = 0&lt;/p&gt;  &lt;p&gt;BEGIN&lt;/p&gt;  &lt;p&gt;PRINT ' '&lt;/p&gt;  &lt;p&gt;SELECT @msg = '----- Change&amp;#160; ' + UPPER(RTRIM(@DBName)) + ' -----'&lt;/p&gt;  &lt;p&gt;PRINT @msg&lt;/p&gt;  &lt;p&gt;SET @sql='ALTER Database ' + @DBName + ' SET PAGE_VERIFY CHECKSUM'&lt;/p&gt;  &lt;p&gt;PRINT 'SQL Statement is ' + @sql&lt;/p&gt;  &lt;p&gt;EXEC (@sql)&lt;/p&gt;  &lt;p&gt;PRINT 'PAGE_VERIFY changed to CHECKSUM for database = ' + @DBName&lt;/p&gt;  &lt;p&gt;FETCH NEXT FROM GetDBNames INTO @DBName&lt;/p&gt;  &lt;p&gt;END&lt;/p&gt;  &lt;p&gt;CLOSE GetDBNames&lt;/p&gt;  &lt;p&gt;DEALLOCATE GetDBNames&lt;/p&gt;  &lt;p&gt;GO&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Enjoy.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419781" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jchiou/archive/tags/SQL+Server+2005/">SQL Server 2005</category><category domain="http://blogs.msdn.com/b/jchiou/archive/tags/SQL+Server+2008/">SQL Server 2008</category><category domain="http://blogs.msdn.com/b/jchiou/archive/tags/SQL+2012/">SQL 2012</category></item><item><title>Você precisa de todas as colunas em uma QueryExpression?</title><link>http://blogs.msdn.com/b/mrneto/archive/2013/05/17/voc-234-precisa-de-todas-as-colunas-em-uma-queryexpression.aspx</link><pubDate>Sat, 18 May 2013 01:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419777</guid><dc:creator>Marco A. Rodrigues Neto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;br /&gt;Essa semana trabalhei em um cliente e notei que suas customiza&amp;ccedil;&amp;otilde;es (plugins, webservices) possu&amp;iacute;am em grande maioria as queries (&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.query.queryexpression.aspx"&gt;QueryExpression&lt;/a&gt;) constru&amp;iacute;das com o objeto &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.query.columnset.aspx"&gt;ColumnSet&lt;/a&gt; definindo todas as colunas na pesquisa. &lt;br /&gt;Em v&amp;aacute;rias situa&amp;ccedil;&amp;otilde;es, as queries eram utilizadas com o prop&amp;oacute;sito de verificar apenas o valor de um ou dois campos dos registros. &lt;br /&gt; &lt;br /&gt;Vamos ver abaixo a diferen&amp;ccedil;a de performance quando temos uma QueryExpression com o objeto ColumnSet requisitando todos atributos e outro cen&amp;aacute;rio requisitando somente os necess&amp;aacute;rios. &lt;br /&gt; &lt;br /&gt;Considere o seguinte trecho de &lt;span style="text-decoration: underline;"&gt;&lt;em&gt;c&amp;oacute;digo de exemplo*&lt;/em&gt;&lt;/span&gt; executado em uma organiza&amp;ccedil;&amp;atilde;o com o Sample Data instalado:&lt;/p&gt;
&lt;pre class="scroll"&gt;&lt;span style="font-size: x-small;"&gt;&lt;code class="csharp"&gt;&lt;span style="color: #008080;"&gt;ConditionExpression&lt;/span&gt; condition = &lt;span style="color: #0000ff;"&gt;new &lt;/span&gt;&lt;span style="color: #008080;"&gt;ConditionExpression&lt;/span&gt;();&lt;br /&gt;condition.AttributeName = &lt;span style="color: #ff0000;"&gt;"address1_city"&lt;/span&gt;;&lt;br /&gt;condition.Operator = ConditionOperator.Equal;&lt;br /&gt;condition.Values.Add(&lt;span style="color: #ff0000;"&gt;"Redmond"&lt;/span&gt;);&lt;br /&gt; &lt;br /&gt;&lt;span style="color: #008080;"&gt;ColumnSet&lt;/span&gt; columns = &lt;span style="color: #0000ff;"&gt;new &lt;/span&gt;&lt;span style="color: #008080;"&gt;ColumnSet&lt;/span&gt;(&lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;QueryExpression&lt;/span&gt; query = new &lt;span style="color: #008080;"&gt;QueryExpression&lt;/span&gt;();&lt;br /&gt;query.EntityName = &lt;span style="color: #ff0000;"&gt;"contact"&lt;/span&gt;;&lt;br /&gt;query.ColumnSet = columns;&lt;br /&gt;query.Criteria.AddCondition(condition);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;EntityCollection&lt;/span&gt; results = service.RetrieveMultiple(query);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;foreach&lt;/span&gt; (&lt;span style="color: #008080;"&gt;Entity&lt;/span&gt; contact &lt;span style="color: #0000ff;"&gt;in&lt;/span&gt; results.Entities)&lt;br /&gt;{&lt;br /&gt; &lt;span style="color: #008080;"&gt;Console&lt;/span&gt;.WriteLine(contact[&lt;span style="color: #ff0000;"&gt;"fullname"&lt;/span&gt;] + &lt;span style="color: #ff0000;"&gt;": "&lt;/span&gt; + contact[&lt;span style="color: #ff0000;"&gt;"emailaddress1"&lt;/span&gt;]); &lt;br /&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Repare que preciso apenas do &lt;strong&gt;Nome Completo&lt;/strong&gt; e &lt;strong&gt;Endere&amp;ccedil;o de E-mail&lt;/strong&gt; dos contatos onde a cidade &amp;eacute; igual a &lt;strong&gt;Redmond&lt;/strong&gt;. Vamos ver como essa QueryExpression foi traduzida no SQL Server e respectivos n&amp;uacute;meros:&lt;/p&gt;
&lt;pre class="scroll"&gt;&lt;span style="font-size: x-small;"&gt;&lt;code class="mysql"&gt;&lt;span style="color: #0000ff;"&gt;exec&lt;/span&gt; &lt;span style="color: #800000;"&gt;sp_executesql&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;N'select top 5001 "contact0".SpousesName as "spousesname", "contact0".EMailAddress3 as "emailaddress3", "contact0".Address2_ShippingMethodCode as "address2_shippingmethodcode", "contact0".PreferredServiceId as "preferredserviceid"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".AnnualIncome as "annualincome", "contact0".Address2_Line2 as "address2_line2", "contact0".Fax as "fax", "contact0".Telephone3 as "telephone3", "contact0".PreferredAppointmentDayCode as "preferredappointmentdaycode"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address2_StateOrProvince as "address2_stateorprovince", "contact0".CreatedBy as "createdby", "contact0".Address2_Line1 as "address2_line1", "contact0".LastUsedInCampaign as "lastusedincampaign", "contact0".YomiLastName as "yomilastname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Pager as "pager", "contact0".EmployeeId as "employeeid", "contact0".TerritoryCode as "territorycode", "contact0".ParentCustomerId as "parentcustomerid", "contact0".ManagerName as "managername"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".BirthDate as "birthdate", "contact0".NumberOfChildren as "numberofchildren", "contact0".Address1_AddressTypeCode as "address1_addresstypecode", "contact0".OwningTeam as "owningteam", "contact0".Address2_PostalCode as "address2_postalcode"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".UTCConversionTimeZoneCode as "utcconversiontimezonecode", "contact0".OwningUser as "owninguser", "contact0".AssistantPhone as "assistantphone", "contact0".MasterId as "masterid", "contact0".CreatedOnBehalfBy as "createdonbehalfby"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address1_Latitude as "address1_latitude", "contact0".MobilePhone as "mobilephone", "contact0".CustomerTypeCode as "customertypecode", "contact0".ManagerPhone as "managerphone", "contact0".Address1_FreightTermsCode as "address1_freighttermscode"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address1_Longitude as "address1_longitude", "contact0".Address2_Telephone2 as "address2_telephone2", "contact0".StatusCode as "statuscode", "contact0".YomiFullName as "yomifullname", "contact0".Aging90_Base as "aging90_base"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".FamilyStatusCode as "familystatuscode", "contact0".FirstName as "firstname", "contact0".Address2_Latitude as "address2_latitude", "contact0".Department as "department", "contact0".OriginatingLeadId as "originatingleadid"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Aging60 as "aging60", "contact0".StateCode as "statecode", "contact0".Address2_FreightTermsCode as "address2_freighttermscode", "contact0".Address1_Name as "address1_name", "contact0".YomiMiddleName as "yomimiddlename"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".ModifiedOnBehalfBy as "modifiedonbehalfby", "contact0".Description as "description", "contact0".EducationCode as "educationcode", "contact0".Address1_Telephone3 as "address1_telephone3", "contact0".Address2_Telephone1 as "address2_telephone1"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".ImportSequenceNumber as "importsequencenumber", "contact0".GenderCode as "gendercode", "contact0".OwnerId as "ownerid", "contact0".Address2_AddressTypeCode as "address2_addresstypecode", "contact0".Address1_UTCOffset as "address1_utcoffset"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".CreditLimit_Base as "creditlimit_base", "contact0".Aging60_Base as "aging60_base", "contact0".Address1_County as "address1_county", "contact0".OwningBusinessUnit as "owningbusinessunit", "contact0".JobTitle as "jobtitle"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address1_Telephone2 as "address1_telephone2", "contact0".TimeZoneRuleVersionNumber as "timezoneruleversionnumber", "contact0".Address1_Fax as "address1_fax", "contact0".Address2_PostOfficeBox as "address2_postofficebox", "contact0".Address1_Line2 as "address1_line2"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".WebSiteUrl as "websiteurl", "contact0".DoNotPostalMail as "donotpostalmail", "contact0".Address2_UTCOffset as "address2_utcoffset", "contact0".ExchangeRate as "exchangerate", "contact0".CreatedOn as "createdon"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".EMailAddress2 as "emailaddress2", "contact0".Address2_Line3 as "address2_line3", "contact0".Address2_AddressId as "address2_addressid", "contact0".OverriddenCreatedOn as "overriddencreatedon", "contact0".AnnualIncome_Base as "annualincome_base"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address1_Telephone1 as "address1_telephone1", "contact0".ChildrensNames as "childrensnames", "contact0".PreferredContactMethodCode as "preferredcontactmethodcode", "contact0".Aging90 as "aging90", "contact0".DoNotBulkPostalMail as "donotbulkpostalmail"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".EMailAddress1 as "emailaddress1", "contact0".DoNotBulkEMail as "donotbulkemail", "contact0".CustomerSizeCode as "customersizecode", "contact0".Address1_StateOrProvince as "address1_stateorprovince", "contact0".FullName as "fullname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".PreferredAppointmentTimeCode as "preferredappointmenttimecode", "contact0".TransactionCurrencyId as "transactioncurrencyid", "contact0".PaymentTermsCode as "paymenttermscode", "contact0".Aging30 as "aging30", "contact0".LeadSourceCode as "leadsourcecode"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Merged as "merged", "contact0".Address2_County as "address2_county", "contact0".Address1_ShippingMethodCode as "address1_shippingmethodcode", "contact0".FtpSiteUrl as "ftpsiteurl", "contact0".PreferredSystemUserId as "preferredsystemuserid"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address1_AddressId as "address1_addressid", "contact0".NickName as "nickname", "contact0".Address1_PostOfficeBox as "address1_postofficebox", "contact0".PreferredEquipmentId as "preferredequipmentid", "contact0".AssistantName as "assistantname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address2_Country as "address2_country", "contact0".ModifiedOn as "modifiedon", "contact0".ExternalUserIdentifier as "externaluseridentifier", "contact0".Address2_Name as "address2_name", "contact0".CreditOnHold as "creditonhold"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".ParticipatesInWorkflow as "participatesinworkflow", "contact0".AccountRoleCode as "accountrolecode", "contact0".Address2_Telephone3 as "address2_telephone3", "contact0".DoNotPhone as "donotphone", "contact0".ContactId as "contactid"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".DoNotFax as "donotfax", "contact0".Aging30_Base as "aging30_base", "contact0".Address1_UPSZone as "address1_upszone", "contact0".Suffix as "suffix", "contact0".Address1_PrimaryContactName as "address1_primarycontactname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Salutation as "salutation", "contact0".ModifiedBy as "modifiedby", "contact0".GovernmentId as "governmentid", "contact0".Address2_PrimaryContactName as "address2_primarycontactname", "contact0".DoNotSendMM as "donotsendmm"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address2_Longitude as "address2_longitude", "contact0".Address1_Country as "address1_country", "contact0".LastName as "lastname", "contact0".Address2_City as "address2_city", "contact0".DoNotEMail as "donotemail"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address1_City as "address1_city", "contact0".YomiFirstName as "yomifirstname", "contact0".Telephone1 as "telephone1", "contact0".Address1_Line1 as "address1_line1", "contact0".ShippingMethodCode as "shippingmethodcode"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".CreditLimit as "creditlimit", "contact0".Anniversary as "anniversary", "contact0".Telephone2 as "telephone2", "contact0".HasChildrenCode as "haschildrencode", "contact0".Address2_Fax as "address2_fax"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".IsBackofficeCustomer as "isbackofficecustomer", "contact0".Address1_Line3 as "address1_line3", "contact0".Address2_UPSZone as "address2_upszone", "contact0".DefaultPriceLevelId as "defaultpricelevelid", "contact0".MiddleName as "middlename"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".Address1_PostalCode as "address1_postalcode", "contact0".new_customfield as "new_customfield", "contact0".PreferredServiceIdName as "preferredserviceidname", "contact0".CreatedByYomiName as "createdbyyominame", "contact0".CreatedByName as "createdbyname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".ParentCustomerIdName as "parentcustomeridname", "contact0".ParentCustomerIdYomiName as "parentcustomeridyominame", "contact0".ParentCustomerIdType as "parentcustomeridtype", "contact0".MasterContactIdYomiName as "mastercontactidyominame", "contact0".MasterContactIdName as "mastercontactidname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".CreatedOnBehalfByYomiName as "createdonbehalfbyyominame", "contact0".CreatedOnBehalfByName as "createdonbehalfbyname", "contact0".OriginatingLeadIdName as "originatingleadidname", "contact0".OriginatingLeadIdYomiName as "originatingleadidyominame", "contact0".ModifiedOnBehalfByYomiName as "modifiedonbehalfbyyominame"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".ModifiedOnBehalfByName as "modifiedonbehalfbyname", "contact0".OwnerIdType as "owneridtype", "contact0".OwnerIdName as "owneridname", "contact0".OwnerIdYomiName as "owneridyominame", "contact0".TransactionCurrencyIdName as "transactioncurrencyidname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".PreferredSystemUserIdName as "preferredsystemuseridname", "contact0".PreferredSystemUserIdYomiName as "preferredsystemuseridyominame", "contact0".PreferredEquipmentIdName as "preferredequipmentidname", "contact0".ModifiedByYomiName as "modifiedbyyominame", "contact0".ModifiedByName as "modifiedbyname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".DefaultPriceLevelIdName as "defaultpricelevelidname" from Contact as "contact0" where (("contact0".Address1_City = @Address1_City0)) order by&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; "contact0".ContactId asc',N'@Address1_City0 nvarchar(7)'&lt;/span&gt;&lt;span style="color: #008080;"&gt;,@Address1_City0=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;N'Redmond'&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;br /&gt;Uma grande quantidade desnecess&amp;aacute;ria de colunas s&amp;atilde;o retornadas. Adicionalmente, v&amp;aacute;rias outras tabelas s&amp;atilde;o inclu&amp;iacute;das nessa pesquisa (Left Outer Join) gerando cerca de 68 logical reads.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-small;"&gt;(2 row(s) affected) &lt;br /&gt; Table 'OwnerBase'. Scan count 1, &lt;strong&gt;logical reads 5&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;br /&gt;Table 'TransactionCurrencyBase'. Scan count 1, &lt;strong&gt;logical reads 5&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;br /&gt;Table 'SystemUserBase'. Scan count 5, &lt;strong&gt;logical reads 30&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;br /&gt;Table 'ServiceBase'. Scan count 1, &lt;strong&gt;logical reads 0&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: xx-small;"&gt;&lt;span style="font-size: x-small;"&gt;Table 'PriceLevelBase'. Scan count 1, &lt;strong&gt;logical reads 5&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Table 'EquipmentBase'. Scan count 1, logical reads 0, physical reads 0, &amp;hellip; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Table 'LeadBase'. Scan count 0, logical reads 0, physical reads 0, &amp;hellip; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Table 'ContactBase'. Scan count 0, &lt;strong&gt;logical reads 10&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Table 'CustomerAddressBase'. Scan count 1, &lt;strong&gt;logical reads 9&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Table 'ContactExtensionBase'. Scan count 0, &lt;strong&gt;logical reads 4&lt;/strong&gt;, physical reads 0, &amp;hellip;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Dessa vez, vamos executar o mesmo c&amp;oacute;digo de exemplo, por&amp;eacute;m, informando as colunas necess&amp;aacute;rias para este exemplo no ColumnSet:&lt;/p&gt;
&lt;pre class="scroll"&gt;&lt;span style="font-size: x-small;"&gt;&lt;code class="csharp"&gt;&lt;span style="color: #008080;"&gt;ColumnSet&lt;/span&gt; columns = new &lt;span style="color: #008080;"&gt;ColumnSet&lt;/span&gt;();&lt;br /&gt;columns.AddColumns(&lt;span style="color: #ff0000;"&gt;"fullname"&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;"emailaddress1"&lt;/span&gt;);&lt;br /&gt; &lt;br /&gt;&lt;span style="color: #008080;"&gt;QueryExpression&lt;/span&gt; query = new &lt;span style="color: #008080;"&gt;QueryExpression&lt;/span&gt;();&lt;br /&gt;query.EntityName = &lt;span style="color: #ff0000;"&gt;"contact"&lt;/span&gt;;&lt;br /&gt;query.ColumnSet = columns;&lt;br /&gt;query.Criteria.AddCondition(condition);&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;br /&gt;A diferen&amp;ccedil;a &amp;eacute; not&amp;aacute;vel na query e nos respectivos n&amp;uacute;meros (reduzimos de 10 tabelas para 3 e de 68 logical reads para apenas 19):&lt;/p&gt;
&lt;pre class="scroll"&gt;&lt;span style="font-size: x-small;"&gt;&lt;code class="mysql"&gt;&lt;span style="color: #0000ff;"&gt;exec&lt;/span&gt; &lt;span style="color: #800000;"&gt;sp_executesql&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;N'select &lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; top 5001 "contact0".FullName as "fullname"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".EMailAddress1 as "emailaddress1"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; , "contact0".ContactId as "contactid" &lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; from Contact as "contact0" where&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; (("contact0".Address1_City = @Address1_City0)) order by&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt; "contact0".ContactId asc',N'@Address1_City0 nvarchar(7)'&lt;/span&gt;&lt;span style="color: #008080;"&gt;,@Address1_City0=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;N'Redmond'&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-size: x-small;"&gt;(2 row(s) affected)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Table 'ContactExtensionBase'. Scan count 0, &lt;strong&gt;logical reads 4&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;br /&gt;Table 'ContactBase'. Scan count 0, &lt;strong&gt;logical reads 10&lt;/strong&gt;, physical reads 0, &amp;hellip; &lt;br /&gt;Table 'CustomerAddressBase'. Scan count 1, &lt;strong&gt;logical reads 5&lt;/strong&gt;, physical reads 0, &amp;hellip;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Resumo&lt;/strong&gt;: No exemplo acima, notamos melhor performance nas queries criadas via QueryExpression quando utilizamos o objeto ColumnSet para retornar somente os campos necess&amp;aacute;rios para este cen&amp;aacute;rio. &lt;br /&gt; &lt;br /&gt;&lt;strong&gt;C&amp;oacute;digo de Exemplo&lt;/strong&gt;: fornecido apenas como ilustra&amp;ccedil;&amp;atilde;o, sem qualquer tipo de garantia ou suporte da Microsoft.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419777" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mrneto/archive/tags/CRM+2011/">CRM 2011</category><category domain="http://blogs.msdn.com/b/mrneto/archive/tags/Developer/">Developer</category><category domain="http://blogs.msdn.com/b/mrneto/archive/tags/SDK/">SDK</category></item><item><title>SharePoint Adventures : Claims, Named Pipes and Kerberos</title><link>http://blogs.msdn.com/b/psssql/archive/2013/05/17/sharepoint-adventures-claims-named-pipes-and-kerberos.aspx</link><pubDate>Fri, 17 May 2013 21:17:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419751</guid><dc:creator>Adam W. Saxton</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I ran into a new Kerberos Scenario that I hadn’t hit before when I was working on the cases related to this &lt;a href="http://blogs.msdn.com/b/psssql/archive/2013/05/17/sharepoint-adventures-when-connectivity-is-not-connectivity.aspx" target="_blank"&gt;blog post&lt;/a&gt;. It’s rare that I actually see a case related to the Named Pipes protocol.&amp;#160; When I do, it is usually a customer trying to get it setup with a Cluster deployment.&amp;#160; I have never had a Named Pipes case related to Kerberos.&amp;#160; On top of that, I’ve never had a SQL related Kerberos issue that looked like an actual network related issue.&amp;#160; I usually see a traditional “Login failed for user” type error from the SQL Server itself.&lt;/p&gt;  &lt;p&gt;As part of my troubleshooting for the other blog post with the Claims configuration, I stumbled upon some information and theories about how Named Pipes responds when Kerberos is in the picture that I hadn’t ever seen or dealt with before.&amp;#160; I love when I see new things! It is very humbling and always reminds me there are a lot of things that I don’t know.&amp;#160; And, if you have read my other blog posts, or have seen me present at conferences like &lt;a href="http://www.sqlpass.org" target="_blank"&gt;PASS&lt;/a&gt;, you know I have a passion for Kerberos! &lt;/p&gt;  &lt;p&gt;Here is what I saw from an error perspective using SharePoint 2013 and Reporting Services 2012 SP1.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-73-84-metablogapi/2450.image_5F00_321159E3.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-73-84-metablogapi/8712.image_5F00_thumb_5F00_6D64BFA1.png" width="353" height="229" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;System.Data.SqlClient.&lt;font color="#ff0000"&gt;SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)&lt;/font&gt; ---&amp;gt; System.ComponentModel.&lt;font color="#ff0000"&gt;Win32Exception: &lt;font style="background-color: #ffff00"&gt;Access is denied&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This is a typical error if we can’t connect to SQL.&amp;#160; Think of this like a “Server doesn’t exist” type error.&amp;#160; We didn’t get the normal “Login failed for user” error that would possibly point towards Kerberos.&amp;#160; In this error, we didn’t even make it to SQL.&amp;#160; The interesting piece here though is the “&lt;font style="background-color: #ffff00"&gt;Access is denied&lt;/font&gt;” inner exception.&amp;#160; That does possibly point to a permission issue.&amp;#160; &lt;/p&gt;  &lt;p&gt;I had talked in the last Blog Post about protocol order with connecting to SQL and that the default was TCP.&amp;#160; In this case, I was forcing Named Pipes, so the fact that the error is a Named Pipes error is expected.&lt;/p&gt;  &lt;p&gt;I dropped down to a network trace to see how far we actually got and to see if that revealed any other information.&amp;#160; One thing to keep in mind here is that we are in a Claims to Windows Token Service (C2WTS) scenario with the SharePoint/RS 2012 integration.&amp;#160; So, Kerberos/Constrained Delegation will be in the picture here.&amp;#160; A lot of people aren’t necessarily familiar with how Named Pipes actually works.&amp;#160; Named Pipes actually uses the SMB (simple message block) protocol from a network perspective.&amp;#160; This is the same protocol used for file shares and you’ll see the traffic on port 445.&amp;#160; It can be a little confusing because SMB sits on top of TCP, but we aren’t actually using the TCP 1433 port.&amp;#160; It is just a different way to connect to SQL Server. The IP 10.0.0.20 was the SharePoint Server hosting the Reporting Services Service.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Courier New"&gt;300&amp;#160;&amp;#160;&amp;#160; 9:04:40 AM 5/17/2013&amp;#160;&amp;#160;&amp;#160; 10.0.0.20&amp;#160;&amp;#160;&amp;#160; captthrace.battlestar.local&amp;#160;&amp;#160;&amp;#160; SMB&amp;#160;&amp;#160;&amp;#160; SMB:C; Negotiate, Dialect = PC NETWORK PROGRAM 1.0, LANMAN1.0, Windows for Workgroups 3.1a, LM1.2X002, LANMAN2.1, NT LM 0.12, SMB 2.002, SMB 2.???&amp;#160;&amp;#160;&amp;#160; {SMBOverTCP:42, TCP:41, IPv4:1}&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Courier New"&gt;302&amp;#160;&amp;#160;&amp;#160; 9:04:40 AM 5/17/2013&amp;#160;&amp;#160;&amp;#160; captthrace.battlestar.local&amp;#160;&amp;#160;&amp;#160; 10.0.0.20&amp;#160;&amp;#160;&amp;#160; SMB2&amp;#160;&amp;#160;&amp;#160; SMB2:R&amp;#160;&amp;#160; NEGOTIATE (0x0), Revision: (0x2ff) - SMB2 wildcard revision number., ServerGUID={97B805C2-296C-477B-82B4-DEB6170A2A01} Authentication Method: GSSAPI,&amp;#160;&amp;#160;&amp;#160;&amp;#160; {SMBOverTCP:42, TCP:41, IPv4:1}&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Courier New"&gt;303&amp;#160;&amp;#160;&amp;#160; 9:04:40 AM 5/17/2013&amp;#160;&amp;#160;&amp;#160; 10.0.0.20&amp;#160;&amp;#160;&amp;#160; captthrace.battlestar.local&amp;#160;&amp;#160;&amp;#160; SMB2&amp;#160;&amp;#160;&amp;#160; SMB2:C&amp;#160;&amp;#160; NEGOTIATE (0x0), ClientGUID= {9CB563F9-BEF4-11E2-9403-00155D4CB97B},&amp;#160;&amp;#160;&amp;#160;&amp;#160; {SMBOverTCP:42, TCP:41, IPv4:1}&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Courier New"&gt;304&amp;#160;&amp;#160;&amp;#160; 9:04:40 AM 5/17/2013&amp;#160;&amp;#160;&amp;#160; captthrace.battlestar.local&amp;#160;&amp;#160;&amp;#160; 10.0.0.20&amp;#160;&amp;#160;&amp;#160; SMB2&amp;#160;&amp;#160;&amp;#160; SMB2:R&amp;#160;&amp;#160; NEGOTIATE (0x0), Revision: (0x300) - SMB 3.0 dialect revision number., ServerGUID={97B805C2-296C-477B-82B4-DEB6170A2A01} Authentication Method: GSSAPI,&amp;#160;&amp;#160;&amp;#160;&amp;#160; {SMBOverTCP:42, TCP:41, IPv4:1}&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Courier New"&gt;323&amp;#160;&amp;#160;&amp;#160; 9:04:40 AM 5/17/2013&amp;#160;&amp;#160;&amp;#160; 10.0.0.20&amp;#160;&amp;#160;&amp;#160; captthrace.battlestar.local&amp;#160;&amp;#160;&amp;#160; SMB2&amp;#160;&amp;#160;&amp;#160; SMB2:C&amp;#160;&amp;#160; SESSION SETUP (0x1) Authentication Method: GSSAPI,&amp;#160;&amp;#160;&amp;#160;&amp;#160; {SMBOverTCP:42, TCP:41, IPv4:1}&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Courier New"&gt;326&amp;#160;&amp;#160;&amp;#160; 9:04:40 AM 5/17/2013&amp;#160;&amp;#160;&amp;#160; captthrace.battlestar.local&amp;#160;&amp;#160;&amp;#160; 10.0.0.20&amp;#160;&amp;#160;&amp;#160; SMB2&amp;#160;&amp;#160;&amp;#160; SMB2:R&amp;#160; - NT Status: System - Error, Code = (22) STATUS_MORE_PROCESSING_REQUIRED&amp;#160; SESSION SETUP (0x1), SessionFlags=0x0 Authentication Method: GSSAPI,&amp;#160;&amp;#160;&amp;#160;&amp;#160; {SMBOverTCP:42, TCP:41, IPv4:1}&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Courier New"&gt;327&amp;#160;&amp;#160;&amp;#160; 9:04:40 AM 5/17/2013&amp;#160;&amp;#160;&amp;#160; 10.0.0.20&amp;#160;&amp;#160;&amp;#160; captthrace.battlestar.local&amp;#160;&amp;#160;&amp;#160; SMB2&amp;#160;&amp;#160;&amp;#160; SMB2:C&amp;#160;&amp;#160; SESSION SETUP (0x1) &lt;font style="background-color: #ffff00"&gt;Authentication Method: GSSAPI&lt;/font&gt;,&amp;#160;&amp;#160;&amp;#160;&amp;#160; {SMBOverTCP:42, TCP:41, IPv4:1}         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; - ResponseToken: NTLM AUTHENTICATE MESSAGE Version:&lt;font style="background-color: #ffff00"&gt;NTLM v2&lt;/font&gt;, Workstation: CAPTHELO         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Signature: &lt;font style="background-color: #ffff00"&gt;NTLMSSP&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Courier New"&gt;328&amp;#160;&amp;#160;&amp;#160; 9:04:40 AM 5/17/2013&amp;#160;&amp;#160;&amp;#160; captthrace.battlestar.local&amp;#160;&amp;#160;&amp;#160; 10.0.0.20&amp;#160;&amp;#160;&amp;#160; SMB2&amp;#160;&amp;#160;&amp;#160; SMB2:R&amp;#160; - NT Status: System - &lt;font color="#ff0000"&gt;Error&lt;/font&gt;, &lt;font color="#ff0000"&gt;Code = (34) STATUS_ACCESS_DENIED&lt;/font&gt;&amp;#160; SESSION SETUP (0x1) ,&amp;#160;&amp;#160;&amp;#160;&amp;#160; {SMBOverTCP:42, TCP:41, IPv4:1}&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Courier New"&gt;329&amp;#160;&amp;#160;&amp;#160; 9:04:40 AM 5/17/2013&amp;#160;&amp;#160;&amp;#160; 10.0.0.20&amp;#160;&amp;#160;&amp;#160; captthrace.battlestar.local&amp;#160;&amp;#160;&amp;#160; TCP&amp;#160;&amp;#160;&amp;#160; TCP:Flags=...A.R.., SrcPort=49665, DstPort=Microsoft-DS(445), PayloadLen=0, Seq=2945236632, Ack=2852397926, Win=0 (scale factor 0x8) = 0&amp;#160;&amp;#160;&amp;#160; {TCP:41, IPv4:1}&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In the Network Trace we can see that we were trying to connect via NTLM.&amp;#160; I already know that that will be a problem as we have to go Kerberos.&amp;#160; We started supporting Kerberos with Named Pipes starting in SQL 2008, so it should work. At this point, I’m thinking we actually have a Kerberos issue even though it looked like a network issue from the original error message.&amp;#160; So, lets go see if we can validate that.&amp;#160; I already had &lt;a href="http://support.microsoft.com/kb/262177" target="_blank"&gt;Kerberos Event Logging&lt;/a&gt; enabled.&amp;#160; These entries will be located in the System Event Log.&amp;#160; You can ignore errors that show “KDC_ERR_PREAUTH_REQUIRED”.&amp;#160; That is just noise and expected.&amp;#160; Also realize that errors may be cached and if they are, you will not see them in the Event Log or a Network Trace. It may require an IISRESET, a reset of the C2WTS Windows Service, or even a reboot of the box to get the items to show in the Event log or Network Trace. See this &lt;a href="http://blogs.msdn.com/b/psssql/archive/2009/07/01/when-in-doubt-reboot.aspx" target="_blank"&gt;Blog Post&lt;/a&gt;.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Courier New"&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System        &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft-Windows-Security-Kerberos         &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 5/17/2013 9:04:40 AM         &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3         &lt;br /&gt;Task Category: None         &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Error         &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic         &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A         &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CaptHelo.battlestar.local         &lt;br /&gt;Description:         &lt;br /&gt;A Kerberos error message was received:         &lt;br /&gt;on logon session         &lt;br /&gt;Client Time:         &lt;br /&gt;Server Time: 14:4:40.0000 5/17/2013 Z         &lt;br /&gt;Error Code: 0xd &lt;font style="background-color: #ffff00"&gt;KDC_ERR_BADOPTION&lt;/font&gt;         &lt;br /&gt;Extended Error: 0xc0000225 KLIN(0)         &lt;br /&gt;Client Realm:         &lt;br /&gt;Client Name:         &lt;br /&gt;Server Realm: BATTLESTAR.LOCAL         &lt;br /&gt;Server Name: &lt;font style="background-color: #00ff00"&gt;cifs/captthrace.battlestar.local&lt;/font&gt;         &lt;br /&gt;Target Name: cifs/captthrace.battlestar.local@BATTLESTAR.LOCAL         &lt;br /&gt;Error Text:         &lt;br /&gt;File: 9         &lt;br /&gt;Line: 12be         &lt;br /&gt;Error Data is in record data.&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This entry was the only non-PREAUTH_REQUIRED error.&amp;#160; Two things that were interesting about this.&amp;#160; First was &lt;font style="background-color: #ffff00"&gt;KDC_ERR_BADOPTION&lt;/font&gt;.&amp;#160; When I see this, especially in a Claims type configuration, it tells me we have a Constrained Delegation issue.&amp;#160; The other item that was interesting was the &lt;font style="background-color: #00ff00"&gt;CIFS&lt;/font&gt; SPN.&amp;#160; CIFS is used for File Sharing.&amp;#160; It stands for “Common Internet File System”.&amp;#160; This was our SMB traffic.&amp;#160; We can also see this in the Network Trace.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Courier New"&gt;319&amp;#160;&amp;#160;&amp;#160; 9:04:40 AM 5/17/2013&amp;#160;&amp;#160;&amp;#160; 10.0.0.20&amp;#160;&amp;#160;&amp;#160; 10.0.0.1&amp;#160;&amp;#160;&amp;#160; KerberosV5&amp;#160;&amp;#160;&amp;#160; KerberosV5:TGS Request Realm: BATTLESTAR.LOCAL Sname: &lt;font style="background-color: #00ff00"&gt;cifs/captthrace.battlestar.local&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {TCP:44, IPv4:14}&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Courier New"&gt;321&amp;#160;&amp;#160;&amp;#160; 9:04:40 AM 5/17/2013&amp;#160;&amp;#160;&amp;#160; 10.0.0.1&amp;#160;&amp;#160;&amp;#160; 10.0.0.20&amp;#160;&amp;#160;&amp;#160; KerberosV5&amp;#160;&amp;#160;&amp;#160; &lt;font color="#ff0000"&gt;KerberosV5:KRB_ERROR&amp;#160; - KDC_ERR_BADOPTION (13)&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160; {TCP:44, IPv4:14}&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This was interesting, because I never gave Constrained Delegation rights to CIFS for the C2WTS or the Computer Account.&amp;#160; When we talk about SPN’s and Delegation and placement, we talk about that the SPN should be on the account that is running the servers.&amp;#160; For CIFS, it will be the system itself and therefore on the machine account of the SQL Server that we are trying to connect to.&amp;#160; &lt;/p&gt;  &lt;p&gt;CIFS is one of those special Service Classes, similar to HTTP.&amp;#160; It is covered by the HOST SPN on the Machine Account and we won’t see an actual CIFS SPN defined, but when we go to the delegation side of things you will see it.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-73-84-metablogapi/8662.image4_5F00_4CDD7FEF.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-73-84-metablogapi/5852.image4_5F00_thumb_5F00_7DFCBA8F.png" width="368" height="239" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-73-84-metablogapi/3324.image7_5F00_0F6D1B68.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-73-84-metablogapi/1185.image7_5F00_thumb_5F00_6EE5DBB5.png" width="364" height="354" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I added this to both the Claims Service account and the Computer Account.&amp;#160; I say computer account, because the actual SMB request will come from the machine and not directly from the RS Process.&amp;#160; Under the hoods, it is affectively making a call to the CreateFile Windows API.&amp;#160; &lt;/p&gt;  &lt;p&gt;After resetting IIS and cycling the C2WTS Service, I still saw the same exact error.&amp;#160; This was one of those reboot moments.&amp;#160; After rebooting the server, I then got the following:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-73-84-metablogapi/3326.image_5F00_3C15D541.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-73-84-metablogapi/6076.image_5F00_thumb_5F00_29CD0E7F.png" width="234" height="63" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I didn’t necessarily expect this as I expected to fail on the Kerb side to SQL.&amp;#160; So, I ran a report and stuck a WAITFOR DELAY in there so I could see the connection.&amp;#160; had a look at dm_exec_connections on the SQL Server and saw that we had connected with NTLM:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-73-84-metablogapi/5482.image_5F00_497BE847.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-73-84-metablogapi/7485.image_5F00_thumb_5F00_490FB552.png" width="428" height="244" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;For our purposes this will work as I’m not going further than SQL.&amp;#160; This is technically a single hop between the SharePoint Server System context and the SQL Server.&amp;#160; You can configure it for Kerberos if you really want that auth_scheme by creating the appropriate Named Pipes SPN and configuring the appropriate Delegation for the C2WTS Service Account and the Machine Account for where the SMB request is originating from.&amp;#160; Also realize that if you have a misplaced Named Pipes SQL SPN, you will encounter a “Cannot Generate SSPI Context” similar to the following:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-73-84-metablogapi/4760.image_5F00_48374F68.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-73-84-metablogapi/4375.image_5F00_thumb_5F00_67E62930.png" width="566" height="119" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#333333"&gt;Adam W. Saxton | Microsoft Escalation Services&lt;/font&gt;     &lt;br /&gt;&lt;a href="http://twitter.com/awsaxton"&gt;http://twitter.com/awsaxton&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419751" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/psssql/archive/tags/Connectivity/">Connectivity</category><category domain="http://blogs.msdn.com/b/psssql/archive/tags/Reporting+Services/">Reporting Services</category><category domain="http://blogs.msdn.com/b/psssql/archive/tags/SharePoint+Integration/">SharePoint Integration</category><category domain="http://blogs.msdn.com/b/psssql/archive/tags/Adam/">Adam</category><category domain="http://blogs.msdn.com/b/psssql/archive/tags/Kerberos/">Kerberos</category><category domain="http://blogs.msdn.com/b/psssql/archive/tags/SharePoint/">SharePoint</category><category domain="http://blogs.msdn.com/b/psssql/archive/tags/SharePoint+Adventures/">SharePoint Adventures</category><category domain="http://blogs.msdn.com/b/psssql/archive/tags/SQL+Server+2012/">SQL Server 2012</category></item><item><title>AX 2012 - Dimensiones financieras para las letras de cambio</title><link>http://blogs.msdn.com/b/dynamics_latam/archive/2013/05/17/ax-2012-dimensiones-financieras-para-las-letras-de-cambio.aspx</link><pubDate>Fri, 17 May 2013 21:04:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419749</guid><dc:creator>FelixVazquez [MSFT]</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;En los diarios contables es posible definir dimensiones financieras espec&amp;iacute;ficas para la &lt;strong&gt;Cuenta&lt;/strong&gt; y para la &lt;strong&gt;Cuenta de contrapartida&lt;/strong&gt;, utilizando el Men&amp;uacute; &lt;strong&gt;Dimensiones financieras&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-40-47/3301.1.PNG"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-40-47/3301.1.PNG" alt="" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;Sin embargo, se ha detectado que en el diario de creaci&amp;oacute;n de &lt;strong&gt;Letras de cambio&lt;/strong&gt;, la opci&amp;oacute;n para registrar la &lt;strong&gt;Cuenta de contrapartida&lt;/strong&gt; est&amp;aacute; deshabilitada. Mediante el procedimiento abajo, se consigue activar esa opci&amp;oacute;n.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;1. Abre el AOT (Ctrl+D)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;2. En el nodo Forms, selecciona la forma LedgerJournalTransCustBillOfExchange&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;3. Expande: &lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;LedgerJournalTransCustBillOfExchange &amp;gt; Designs &amp;gt; Design &amp;gt; [ActionPane:ActionPane] &amp;gt; [ActionPaneTab:ActionPaneTab] &amp;gt; [ButtonGroup:ButtonGrop] &amp;gt; Select [MenuButton:FinacialDimension] &amp;gt; MenuItemButton:OffsetAccountDimension&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;4. En la propiedad Visible, definir &amp;lsquo;YES&amp;rsquo;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-40-47/6518.2.PNG"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-40-47/6518.2.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;DISCLAIMER:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;&lt;strong&gt;"Esto es una recomendaci&amp;oacute;n, la cual no ha sido publicada a trav&amp;eacute;s del sitio Web de Microsoft ya que no ha sido sometida a un ciclo de pruebas de regresi&amp;oacute;n. Por favor tenga en cuenta que esto tiene que ser probado en un ambiente de prueba por usted como si se tratara de una personalizaci&amp;oacute;n. Microsoft no puede garantizar este c&amp;oacute;digo".&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;&lt;strong&gt;Para M&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419749" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/dynamics_latam/archive/tags/AX+2012/">AX 2012</category><category domain="http://blogs.msdn.com/b/dynamics_latam/archive/tags/felvaz/">felvaz</category><category domain="http://blogs.msdn.com/b/dynamics_latam/archive/tags/Letras+de+cambio/">Letras de cambio</category><category domain="http://blogs.msdn.com/b/dynamics_latam/archive/tags/dimensiones/">dimensiones</category></item></channel></rss>