<?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/"><channel><title>Imaya's Blog</title><link>http://blogs.msdn.com/imayak/default.aspx</link><description>Windows Communication Foundation and more...</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>MySpace announces support for Microsoft Platforms, Silverlight Toolkit Available this week - Spread the Word!!</title><link>http://blogs.msdn.com/imayak/archive/2009/03/31/myspace-announces-support-for-microsoft-platforms-silverlight-toolkit-available-this-week-spread-the-word.aspx</link><pubDate>Tue, 31 Mar 2009 19:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9523132</guid><dc:creator>imayak</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/imayak/comments/9523132.aspx</comments><wfw:commentRss>http://blogs.msdn.com/imayak/commentrss.aspx?PostID=9523132</wfw:commentRss><description>&lt;P&gt;A Great Leap for Silverlight&amp;nbsp;!!&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/synergist/archive/2009/03/30/silverlight-for-the-myspace-developer-platform.aspx"&gt;http://blogs.msdn.com/synergist/archive/2009/03/30/silverlight-for-the-myspace-developer-platform.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9523132" width="1" height="1"&gt;</description></item><item><title>IE 8 RC1 Released</title><link>http://blogs.msdn.com/imayak/archive/2009/01/28/ie-8-rc1-released.aspx</link><pubDate>Wed, 28 Jan 2009 09:08:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9379931</guid><dc:creator>imayak</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/imayak/comments/9379931.aspx</comments><wfw:commentRss>http://blogs.msdn.com/imayak/commentrss.aspx?PostID=9379931</wfw:commentRss><description>&lt;p&gt;&lt;font face="Segoe UI"&gt;Dear Friends,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI"&gt;You know I work at Microsoft, and that I love technology.&amp;#160; Sometimes I love Microsoft technology so much that I can’t wait to tell people about it, and this is one of those times.&amp;#160; Microsoft has just released the Release Candidate 1 for Internet Explorer 8, and I think you should &lt;/font&gt;&lt;a href="http://www.microsoft.com/ie"&gt;&lt;font face="Segoe UI"&gt;install it&lt;/font&gt;&lt;/a&gt;&lt;font face="Segoe UI"&gt; and use it today.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI"&gt;You may want to know what a “release candidate” is:&amp;#160; that’s techno-speak for an almost-final version of software, like a sneak preview. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI"&gt;Internet Explorer 8 RC1 is much faster than previous versions of Internet Explorer, so you’ll notice that difference right away.&amp;#160; But you’ll also notice some cool new features that will make your surfing experience faster and easier—not mention a whole lot safer.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI"&gt;· Highlight a street address in your Hotmail, Yahoo Mail, or other web mail account, right-click on the blue button that appears, and hover over “Map with Live Search.”&amp;#160; Presto!&amp;#160; You’ll see the map with the location right there—no more copying and pasting street addresses from web mail to a mapping site.&amp;#160; Plus, you can choose what mapping service you want to use.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI"&gt;· Go to the search box in the top right, and type a search item—see how the enhanced Instant Search Box is more helpful, providing real-time search suggestions, including images, from your chosen search provider. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI"&gt;· Click on a new tab, and see the options that are presented there, including “InPrivate Browsing.”&amp;#160; Click InPrivate Browsing and watch what happens—you are now in a browser session that is leaving no trail behind, so research gift suggestions for your significant other to your heart’s content without worrying about who might pick up the crumbs after you.&amp;#160; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI"&gt;Harder to see are the many security enhancements that will help keep you protected against the ever-evolving online threats—things like protection from cross-site scripting attacks that no other browser offers.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI"&gt;We’re friends, and you know I wouldn’t lead you astray.&amp;#160; Let me know what you think of &lt;/font&gt;&lt;a href="http://www.microsoft.com/ie8"&gt;&lt;font face="Segoe UI"&gt;IE8 RC1&lt;/font&gt;&lt;/a&gt;&lt;font face="Segoe UI"&gt;.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9379931" width="1" height="1"&gt;</description></item><item><title>VBScript for Creating and Sharing a Folder</title><link>http://blogs.msdn.com/imayak/archive/2008/12/05/vbscript-for-creating-and-sharing-a-folder.aspx</link><pubDate>Fri, 05 Dec 2008 18:32:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9180281</guid><dc:creator>imayak</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/imayak/comments/9180281.aspx</comments><wfw:commentRss>http://blogs.msdn.com/imayak/commentrss.aspx?PostID=9180281</wfw:commentRss><description>&lt;p&gt;&lt;font face="Segoe UI" color="#000000" size="2"&gt;Nothing to type. The Code is well documented. :)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;'--------------------------------------     &lt;br /&gt;'Script Start      &lt;br /&gt;'Owner - Imayakumar J.      &lt;br /&gt;'Date - December 5 2008      &lt;br /&gt;'-------------------------------------- &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;'---------------------------------------------------------     &lt;br /&gt;' Get the Folder name      &lt;br /&gt;'--------------------------------------------------------- &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;'wscript.Echo Date &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;dim thismonth, thisday, thisyear, foldername &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;'wscript.echo Month(Date) &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;thismonth = Month(Date)     &lt;br /&gt;thisday = Day(Date)      &lt;br /&gt;thisyear = Year(Date) &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;if len(thisday) = 1 then     &lt;br /&gt;thisday = &amp;quot;0&amp;quot;&amp;amp;thisday      &lt;br /&gt;end if &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;foldername = thismonth&amp;amp;thisday&amp;amp;thisyear &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;'----------------------------------------------------     &lt;br /&gt;'Create folder      &lt;br /&gt;'---------------------------------------------------- &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;Dim filesys, returnvalue &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;Set filesys = CreateObject(&amp;quot;Scripting.FileSystemObject&amp;quot;) &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;'wscript.Echo returnvalue &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;filesys.createfolder &amp;quot;c:\&amp;quot;&amp;amp;foldername &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;'---------------------------------------------------------     &lt;br /&gt;' Check if another shar with the same name exists      &lt;br /&gt;'--------------------------------------------------------- &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;strComputer = &amp;quot;.&amp;quot;     &lt;br /&gt;Set objWMIService = GetObject(&amp;quot;winmgmts:&amp;quot; _      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;amp; &amp;quot;{impersonationLevel=impersonate}!\\&amp;quot; &amp;amp; strComputer &amp;amp; &amp;quot;\root\cimv2&amp;quot;)      &lt;br /&gt;Set colShares = objWMIService.ExecQuery _      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; (&amp;quot;Select * from Win32_Share Where Name = 'INGEST'&amp;quot;)      &lt;br /&gt;For Each objShare in colShares      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; objShare.Delete      &lt;br /&gt;Next &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;'-----------------------------------------------------     &lt;br /&gt;' Share the created folder      &lt;br /&gt;'----------------------------------------------------- &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;Const FILE_SHARE = 0     &lt;br /&gt;Const MAXIMUM_CONNECTIONS = 25      &lt;br /&gt;strComputer = &amp;quot;.&amp;quot;      &lt;br /&gt;Set objWMIService = GetObject(&amp;quot;winmgmts:&amp;quot; _      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;amp; &amp;quot;{impersonationLevel=impersonate}!\\&amp;quot; &amp;amp; strComputer &amp;amp; &amp;quot;\root\cimv2&amp;quot;)      &lt;br /&gt;Set objNewShare = objWMIService.Get(&amp;quot;Win32_Share&amp;quot;)      &lt;br /&gt;errReturn = objNewShare.Create _      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; (&amp;quot;c:\&amp;quot;&amp;amp;foldername, &amp;quot;INGEST&amp;quot;, FILE_SHARE, _      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MAXIMUM_CONNECTIONS, &amp;quot;Notes to Exchange Migration Share.&amp;quot;) &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;if errReturn = &amp;quot;0&amp;quot; then     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; wscript.echo &amp;quot;Success&amp;quot;      &lt;br /&gt;else      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; wscript.echo &amp;quot;Task Failed&amp;quot;      &lt;br /&gt;end if &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;'---------------------------------------------     &lt;br /&gt;' Script End      &lt;br /&gt;'-------------------------------&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI" color="#000000" size="2"&gt;Enjoy !!&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9180281" width="1" height="1"&gt;</description></item><item><title>Microsoft Web Platform Installer Released</title><link>http://blogs.msdn.com/imayak/archive/2008/11/25/microsoft-web-platform-installer-released.aspx</link><pubDate>Tue, 25 Nov 2008 07:10:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9140472</guid><dc:creator>imayak</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/imayak/comments/9140472.aspx</comments><wfw:commentRss>http://blogs.msdn.com/imayak/commentrss.aspx?PostID=9140472</wfw:commentRss><description>&lt;p&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;Download it here: &lt;/font&gt;&lt;a href="http://www.microsoft.com/web/channel/products/WebPlatformInstaller.aspx"&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;http://www.microsoft.com/web/channel/products/WebPlatformInstaller.aspx&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI" size="2"&gt;&lt;strong&gt;What is Microsoft Web Platform Installer? (WebPI)&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI" size="2"&gt;The Web Platform Installer (Web PI) is a simple tool that installs Microsoft's entire Web Platform, including IIS7, Visual Web Developer 2008 Express Edition, SQL Server 2008 Express Edition and the .NET Framework. Using the Web Platform Installer&amp;#8217;s user interface, you can choose to install either specific products or the entire Microsoft Web Platform onto your computer. The Web PI also helps keep your products up to date by always offering the latest additions to the Web Platform.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI" size="2"&gt;&lt;strong&gt;What is the Microsoft Web Application Installer? (WebAI):&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI" size="2"&gt;The Web Application Installer Beta is designed to help get you up and running with the most widely used Web Applications freely available for your Windows Server. Web AI provides support for popular ASP.Net and PHP Web applications including Graffiti, DotNetNuke, WordPress, Drupal, OSCommerce and more. With just a few simple clicks, Web AI will check your machine for the necessary pre-requisites, download these applications from their source location in the community, walk you through basic configuration items and then install them on your computer.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI" size="2"&gt;&lt;strong&gt;Microsoft Web Platform Installer Benefits&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI" size="2"&gt;&lt;strong&gt;&lt;em&gt;Obtain components of the Microsoft Web Platform quickly and easily&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI" size="2"&gt;The Microsoft Web Platform Installer provides a single installer that runs on Windows XP SP3, Windows Vista SP1, Windows Server 2003 SP2, and Windows Server 2008, to download the Microsoft Web Platform, including IIS 6.0 and 7.0, SQL Server 2008 Express, .NET Framework 3.5 SP1 and Visual Web Developer 2008 Express SP1. The installer also identifies and installs Extensions for IIS 7.0 and ASP.NET, service packs, database drivers and other relevant Web platform technologies.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI" size="2"&gt;&lt;em&gt;&lt;strong&gt;Choose which components to install to set up a complete or custom Web platform&lt;/strong&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI" size="2"&gt;The Web Platform Installer offers three installation options &amp;#8211; Complete, which installs all available server and development products, Web server components, Web server extensions, and additional technologies; ASP.NET Developer, which installs the server components, tools and technologies that support the development and hosting of ASP.NET applications; and Custom, which allows you to choose exactly which components are installed to customize and streamline your Web platform. For example, you can choose specific components to support developing and hosting PHP applications on IIS 7.0, with support for data-driven applications through the SQL Server driver for PHP.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI" size="2"&gt;&lt;strong&gt;&lt;em&gt;Install the latest versions of Microsoft Web Platform products, components and tools.&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI" size="2"&gt;The Web Platform Installer downloads an XML-based manifest of available products and technologies, which is continually updated to ensure that each time the tool is run, it will offer the most current components and the latest versions of each technology, including service packs and other software updates. In addition, the Web Platform Installer will highlight newly available or pre-release software.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI" size="2"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI" size="2"&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font face="Segoe UI" size="2"&gt;&lt;strong&gt;&lt;em&gt;Single installer for all Microsoft Web Platform components including:&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;font face="Segoe UI" size="2"&gt;Internet Information Services (IIS) 5.1 on Windows XP SP3&lt;/font&gt;&lt;/li&gt;      &lt;li&gt;&lt;font face="Segoe UI" size="2"&gt;IIS 6.0 on Windows Server 2003 SP2&lt;/font&gt;&lt;/li&gt;      &lt;li&gt;&lt;font face="Segoe UI" size="2"&gt;IIS 7.0 on Windows Vista SP1 and Windows Server 2008&lt;/font&gt;&lt;/li&gt;      &lt;li&gt;&lt;font face="Segoe UI" size="2"&gt;SQL Server 2008 Express&lt;/font&gt;&lt;/li&gt;      &lt;li&gt;&lt;font face="Segoe UI" size="2"&gt;.NET Framework 3.5 SP1&lt;/font&gt;&lt;/li&gt;      &lt;li&gt;&lt;font face="Segoe UI" size="2"&gt;Visual Web Developer 2008 Express SP1&lt;/font&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;font face="Segoe UI" size="2"&gt;&lt;strong&gt;&lt;em&gt;ASP.NET, Complete and Custom installation options&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font face="Segoe UI" size="2"&gt;&lt;strong&gt;&lt;em&gt;XML-based product manifest updated automatically when tool is run&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;Links&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/web/channel/products/WebPlatformInstaller.aspx"&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;Microsoft Web Platform Installer Overview&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://forums.iis.net/1155.aspx"&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;Microsoft Web Platform Installer Forum&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/web/"&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;Microsoft Web Platform Portal&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.iis.net/"&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;IIS.net Community Portal&lt;/font&gt;&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font face="Segoe UI" size="2"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9140472" width="1" height="1"&gt;</description></item><item><title>.NET Threading</title><link>http://blogs.msdn.com/imayak/archive/2008/11/18/net-threading.aspx</link><pubDate>Tue, 18 Nov 2008 19:06:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9119055</guid><dc:creator>imayak</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/imayak/comments/9119055.aspx</comments><wfw:commentRss>http://blogs.msdn.com/imayak/commentrss.aspx?PostID=9119055</wfw:commentRss><description>&lt;p&gt;&lt;font face="Segoe UI" size="2"&gt;Just came across this wonderful series of posts of my friend Raja on .NET threading and its internals. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI" size="2"&gt;He has detailed every aspect of .NET threads, its management, pooling and lifecycle. I would recommend anyone to have a look at this great series of 10 posts here&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.msdn.com/rnarayan/archive/2008/06/17/threading-deep-dive-day-1.aspx" href="http://blogs.msdn.com/rnarayan/archive/2008/06/17/threading-deep-dive-day-1.aspx"&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;http://blogs.msdn.com/rnarayan/archive/2008/06/17/threading-deep-dive-day-1.aspx&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI" size="2"&gt;Enjoy !!&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9119055" width="1" height="1"&gt;</description></item><item><title>Windows Live Hotmail – The Beautiful</title><link>http://blogs.msdn.com/imayak/archive/2008/11/11/windows-live-hotmail-the-beautiful.aspx</link><pubDate>Tue, 11 Nov 2008 07:45:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9059255</guid><dc:creator>imayak</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/imayak/comments/9059255.aspx</comments><wfw:commentRss>http://blogs.msdn.com/imayak/commentrss.aspx?PostID=9059255</wfw:commentRss><description>&lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;What a sweet surprise to land in such a wonderful Inbox page this morning. The Live Mail has changed, for good. Actually, it appears to be in the best of its shape than ever before.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;It is 56% faster than previous, clean and friendly looking and very readable. This is really a very good step forward by the Live Mail team in order to compete and win back the people from the competitors. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WindowsLiveHotmailTheBeautiful_8D44/image_14.png"&gt;&lt;font color="#333333" size="2" face="Segoe UI"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WindowsLiveHotmailTheBeautiful_8D44/image_thumb_6.png" width="792" height="337" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Segoe UI"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;I love the below Contacts picker..&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WindowsLiveHotmailTheBeautiful_8D44/image_10.png"&gt;&lt;font color="#333333" size="2" face="Segoe UI"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WindowsLiveHotmailTheBeautiful_8D44/image_thumb_4.png" width="956" height="226" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Segoe UI"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WindowsLiveHotmailTheBeautiful_8D44/image_8.png"&gt;&lt;font color="#333333" size="2" face="Segoe UI"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WindowsLiveHotmailTheBeautiful_8D44/image_thumb_3.png" width="550" height="359" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Segoe UI"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;The contact picker is lightning fast and very easy and intuitive to use. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;With the upcoming ever-growing mailbox limit, faster uploads, IM on the web feature, and better use interface, Live Mail might even pull back customers lost in the past few years.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;Overall, the new interface deserves a 5 star rating.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;Happy Emailing !!! :)&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9059255" width="1" height="1"&gt;</description></item><item><title>Not Using using() {..}</title><link>http://blogs.msdn.com/imayak/archive/2008/11/03/not-using-using.aspx</link><pubDate>Mon, 03 Nov 2008 09:16:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9031357</guid><dc:creator>imayak</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/imayak/comments/9031357.aspx</comments><wfw:commentRss>http://blogs.msdn.com/imayak/commentrss.aspx?PostID=9031357</wfw:commentRss><description>&lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;Yes, the title is a little confusing. Just wanted to make it little interesting that&amp;#8217;s all and no other intentions behind it :)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;You must have encountered the following error message often while coding WCF,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;And yes, it does not give any other detail except the above message. I had no clue on what is happening when I got this error the first time. But the solution to it is simple. Just *remove* the &amp;#8216;using..{}&amp;#8217; block and replace it with a try{}..catch() and it works as expected. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;Unless you do so, you would never get the actual exception information that has taken place in the method because, WCF replaces all information detail with the above exception message.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;For more information on why this happens, take a look at the following blog post.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blog.genom-e.com/CommentView,guid,b9e3019d-0d68-4344-9c7a-407774323d0f.aspx" href="http://blog.genom-e.com/CommentView,guid,b9e3019d-0d68-4344-9c7a-407774323d0f.aspx"&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;http://blog.genom-e.com/CommentView,guid,b9e3019d-0d68-4344-9c7a-407774323d0f.aspx&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;Happy Coding !!&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9031357" width="1" height="1"&gt;</description></item><item><title>WCF – BEA Aqualogic Interop Issue</title><link>http://blogs.msdn.com/imayak/archive/2008/10/07/wcf-bea-aqualogic-interop-issue.aspx</link><pubDate>Tue, 07 Oct 2008 13:01:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8983980</guid><dc:creator>imayak</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/imayak/comments/8983980.aspx</comments><wfw:commentRss>http://blogs.msdn.com/imayak/commentrss.aspx?PostID=8983980</wfw:commentRss><description>&lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;There are always constraints when it comes to interoperability between .NET and Java platforms. I had to go through a 3 week long struggle in making a simple thing work on these platforms. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;Here is the requirement,&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;Develop a WCF client which should talk to a Java Web Service running on Aqua Logic Web Server. The service is secured by 2 Way HTTPS (both Server &amp;amp; Client Certs) and message signing for non-repudiation.&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;Immediately after you see this requirement, anyone would just advice &amp;#8220;TransportWithMessageCredentail&amp;#8221; security mode which is out of the box as I did. I precisely did the same but wouldn&amp;#8217;t succeed. Why? &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;The reason is simple. &amp;#8220;TransportWithMessageCredential&amp;#8221; by default signs the &amp;#8220;timestamp&amp;#8221; element on the SOAP Header and sends it across. It is designed in this way because, the timestamp is the smallest attribute and signing it takes lesser cycles of canonicalization, compared to any other element in the entire SOAP content. But, ALSB (AquaLogic Service Bus)&amp;#160; wouldn&amp;#8217;t recognize this request. It was always throwing an error saying,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;No id attribute on element &lt;/font&gt;&lt;a href="http://schemas.xmlsoap.org/soap/envelope/:Body"&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;http://schemas.xmlsoap.org/soap/envelope/:Body&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;This means that ALSB requires the Body to be signed, and nothing else. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;There is no way to address this interop issue with not only the out-of-box &amp;#8220;TransportWithMessageCredentail&amp;#8221; security mode but also with any other custom configuration as well.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;But there is always a way to make things work in some or the other way. Here I show you how to make it work with a small modification on the service side.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;In my above said requirement, the Request is signed (SOAP Body), but not the Response. With the following configuration, you can make WCF sign the request (body) and still use transport security.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;&amp;lt;customBinding&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;binding name=&amp;quot;SigningBinding&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;textMessageEncoding messageVersion=&amp;quot;Soap11&amp;quot; /&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;security authenticationMode=&amp;quot;MutualCertificate&amp;quot; requireDerivedKeys=&amp;quot;false&amp;quot;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; includeTimestamp=&amp;quot;false&amp;quot; keyEntropyMode=&amp;quot;ClientEntropy&amp;quot;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; messageProtectionOrder=&amp;quot;SignBeforeEncrypt&amp;quot;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; messageSecurityVersion=&amp;quot;WSSecurity10WSTrustFebruary2005WSSecureConversation&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;February2005WSSecurityPolicy11BasicSecurityProfile10&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; requireSecurityContextCancellation=&amp;quot;false&amp;quot; securityHeaderLayout=&amp;quot;Strict&amp;quot; allowSerializedSigningTokenOnReply=&amp;quot;true&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;secureConversationBootstrap /&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;localClientSettings detectReplays=&amp;quot;false&amp;quot;/&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/security&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;httpsTransport requireClientCertificate=&amp;quot;true&amp;quot;/&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/binding&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/customBinding&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;But the catch here is, WCF expects the response also to be signed as it signs the request. It necessarily asks you to have the server certificate as well, installed on the client machine which is accessing the service.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;If you have the freedom to make the service behave so, you are out of trouble.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;Below is the rest of the configuration..&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;&amp;lt;endpoint address=&lt;/font&gt;&lt;a href="https://domain.com/services/service/"&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;https://domain.com/services/service&lt;/font&gt;&lt;/a&gt;    &lt;br /&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; behaviorConfiguration=&amp;quot;ServiceSecurityBehavior&amp;quot; binding=&amp;quot;customBinding&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bindingConfiguration=&amp;quot;SigningBinding&amp;quot; contract=&amp;quot;MyContract&amp;quot;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; name=&amp;quot;SuscribeEventEndPoint&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;identity&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;certificateReference storeLocation=&amp;quot;LocalMachine&amp;quot; x509FindType=&amp;quot;FindByThumbprint&amp;quot;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; findValue=&amp;quot;v2d43d464abd384b5cc3a2d669862807241234567&amp;quot; /&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/identity&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/endpoint&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;&amp;lt;behaviors&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;endpointBehaviors&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;behavior name=&amp;quot;ServiceSecurityBehavior&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;clientCredentials&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;clientCertificate findValue=&amp;quot;123459f47cb80f67tgb385ae0ebc0b92f8861234&amp;quot;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; storeLocation=&amp;quot;LocalMachine&amp;quot; x509FindType=&amp;quot;FindByThumbprint&amp;quot;/&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;serviceCertificate&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;defaultCertificate findValue=&amp;quot;v2d43d464abd384b5cc3a2d669862807241234567&amp;quot;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; storeLocation=&amp;quot;LocalMachine&amp;quot; x509FindType=&amp;quot;FindByThumbprint&amp;quot;/&amp;gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/serviceCertificate&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/clientCredentials&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/behavior&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/endpointBehaviors&amp;gt;      &lt;br /&gt;&amp;lt;/behaviors&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8983980" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/imayak/archive/tags/No+id+attribute+on+element+http_3A002F002F00_schemas.xmlsoap.org_2F00_soap_2F00_envelope_2F003A00_Body/default.aspx">No id attribute on element http://schemas.xmlsoap.org/soap/envelope/:Body</category></item><item><title>SvcUtil.exe – Quick Trick</title><link>http://blogs.msdn.com/imayak/archive/2008/10/01/svcutil-exe-quick-trick.aspx</link><pubDate>Wed, 01 Oct 2008 17:14:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8971643</guid><dc:creator>imayak</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/imayak/comments/8971643.aspx</comments><wfw:commentRss>http://blogs.msdn.com/imayak/commentrss.aspx?PostID=8971643</wfw:commentRss><description>&lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;When using SvcUtil.exe to generate proxy for a Web Service which references a .XSD, you might face this error very often:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;Error: Cannot import wsdl:portType      &lt;br /&gt;Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.XmlSerializerMessageContractImporter       &lt;br /&gt;Error: The attribute tokenType is missing.       &lt;br /&gt;XPath to Error Source: //wsdl:definitions[@targetNamespace='&lt;/font&gt;&lt;a href="http://fw3rd.service"&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;http://fw3rd.service&lt;/font&gt;&lt;/a&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;s.telefonica.es/services/IDP']/wsdl:portType[@name='TokenTranslation'] &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;Error: Cannot import wsdl:binding      &lt;br /&gt;Detail: There was an error importing a wsdl:portType that the wsdl:binding is dependent on.       &lt;br /&gt;XPath to wsdl:portType: //wsdl:definitions[@targetNamespace='&lt;/font&gt;&lt;a href="http://fw3rd.servic"&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;http://fw3rd.servic&lt;/font&gt;&lt;/a&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;es.telefonica.es/services/IDP']/wsdl:portType[@name='TokenTranslation']      &lt;br /&gt;XPath to Error Source: //wsdl:definitions[@targetNamespace='&lt;/font&gt;&lt;a href="http://fw3rd.service"&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;http://fw3rd.service&lt;/font&gt;&lt;/a&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;s.telefonica.es/services/IDP']/wsdl:binding[@name='TokenTranslationSOAP'] &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;Error: Cannot import wsdl:port      &lt;br /&gt;Detail: There was an error importing a wsdl:binding that the wsdl:port is dependent on.       &lt;br /&gt;XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='&lt;/font&gt;&lt;a href="http://fw3rd.service"&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;http://fw3rd.service&lt;/font&gt;&lt;/a&gt;     &lt;br /&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;s.telefonica.es/services/IDP']/wsdl:binding[@name='TokenTranslationSOAP']      &lt;br /&gt;XPath to Error Source: //wsdl:definitions[@targetNamespace='&lt;/font&gt;&lt;a href="http://fw3rd.service"&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;http://fw3rd.service&lt;/font&gt;&lt;/a&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;s.telefonica.es/services/IDP']/wsdl:service[@name='TokenTranslation']/wsdl:port[@name='TokenTranslationSOAP'] &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;Generating files...      &lt;br /&gt;Warning: No code was generated.       &lt;br /&gt;If you were trying to generate a client, this could be because the metadata documents did not contain any valid contracts or services       &lt;br /&gt;or because all contracts/services were discovered to exist in /reference assemblies. Verify that you passed all the metadata documents to the tool. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;Warning: If you would like to generate data contracts from schemas make sure to use the /dataContractOnly option.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;It took me plenty of time to figure out the problem. But actually, the solution to it is simple. The SvcUtil.exe requires you to pass the .XSD files as parameters along with the input. It does not take the .XSD by itself even if you have given referenced it in the WSDL document.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;The following syntax will fix the problem.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;&amp;gt; SvcUtil.exe &amp;lt;WSDL Path&amp;gt; &amp;lt;.XSD Path&amp;gt; [If you have multiple XSDs referenced, give all of them separated by space]&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8971643" width="1" height="1"&gt;</description></item><item><title>Using Custom SOAP Headers</title><link>http://blogs.msdn.com/imayak/archive/2008/09/15/using-custom-soap-headers.aspx</link><pubDate>Mon, 15 Sep 2008 12:09:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8952254</guid><dc:creator>imayak</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/imayak/comments/8952254.aspx</comments><wfw:commentRss>http://blogs.msdn.com/imayak/commentrss.aspx?PostID=8952254</wfw:commentRss><description>&lt;p&gt;&lt;font face="Segoe UI"&gt;Here is a simple way of adding custom SOAP Headers on an outgoing request. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;font face="Segoe UI"&gt;Write a Data class as shown below:&lt;/font&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;[DataContract(Namespace = &lt;/font&gt;&lt;a href="http://personalspace.org"&gt;&lt;font color="#0000ff" face="Courier New"&gt;&amp;#8220;http://personalspace.org&lt;/font&gt;&lt;/a&gt;&lt;font color="#0000ff" face="Courier New"&gt;&amp;#8221;, Name =&amp;quot;CustomHeader&amp;quot;)]     &lt;br /&gt;public class CustomHeader      &lt;br /&gt;{      &lt;br /&gt;private string something;      &lt;br /&gt;[DataMember(Name=&amp;#8221;CustomElement&amp;#8221;)&amp;#8221;]      &lt;br /&gt;public string someThing      &lt;br /&gt;{      &lt;br /&gt;get { return something; }      &lt;br /&gt;set { something= value; }      &lt;br /&gt;}      &lt;br /&gt;}&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI"&gt;In the BeforeSendRequest() method of the class that you have implemented the IClientMessageInterceptor interface, add the code below&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;MessageHeader&amp;lt;CustomHeader&amp;gt; header = new MessageHeader&amp;lt;CustomHeader&amp;gt;();     &lt;br /&gt;MyHeaderClass customHeader= new MyHeaderClass();      &lt;br /&gt;customHeader.someThing = &amp;quot;My value&amp;quot;;      &lt;br /&gt;header.Content = header;      &lt;br /&gt;header.Actor = &amp;#8220;anonymoususer&amp;#8221;;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;MessageHeader unTypedHeader =     &lt;br /&gt;header.GetUntypedHeader(&amp;quot;CustomHeader&amp;quot;, &amp;#8220;&lt;/font&gt;&lt;a href="http://personalspace.org"&gt;&lt;font color="#0000ff" face="Courier New"&gt;http://personalspace.org&lt;/font&gt;&lt;/a&gt;&lt;font color="#0000ff" face="Courier New"&gt;&amp;#8221;);     &lt;br /&gt;request.Headers.Add(unTypedHeader);&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI"&gt;That&amp;#8217;s it. This will generate a header similar to the one below:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;&amp;lt;CustomHeader:actor=&amp;quot;Anyone&amp;quot; xmlns=&amp;quot;http://personalspace.org&amp;quot;&amp;gt;     &lt;br /&gt;&amp;lt;CustomElement&amp;gt;My Value&amp;lt;/CustomElement&amp;gt;      &lt;br /&gt;&amp;lt;/CustomHeader&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Segoe UI"&gt;Enjoy !!&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8952254" width="1" height="1"&gt;</description></item><item><title>WCF – 2 Way SSL Security using Certificates</title><link>http://blogs.msdn.com/imayak/archive/2008/09/12/wcf-2-way-ssl-security-using-certificates.aspx</link><pubDate>Fri, 12 Sep 2008 17:59:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8947006</guid><dc:creator>imayak</dc:creator><slash:comments>27</slash:comments><comments>http://blogs.msdn.com/imayak/comments/8947006.aspx</comments><wfw:commentRss>http://blogs.msdn.com/imayak/commentrss.aspx?PostID=8947006</wfw:commentRss><description>&lt;p&gt;&lt;font size="1"&gt;I had to work extensively in this topic, and had to go through hundreds of blogs and articles to finally make it work. It&amp;#8217;s actually pretty simple but for someone who is new to WCF, it might give a few sleepless nights and some terrible days.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;This article assumes that you have a decent knowledge on WCF, IIS hosted WCF Services, transport security and digital certificates.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;&lt;font size="1"&gt;Configuring the Service:&lt;/font&gt;&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;Open your Service&amp;#8217;s web.config file and edit it&amp;#8217;s binding configuration as below:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;&amp;#160;&lt;/font&gt;&lt;font size="1" face="Courier New"&gt;&amp;lt;bindings&amp;gt;      &lt;br /&gt;&amp;#160; &amp;lt;wsHttpBinding&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;binding name=&amp;quot;CertificateWithTransport&amp;quot;&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;security mode=&amp;quot;Transport&amp;quot;&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;transport clientCredentialType=&amp;quot;Certificate&amp;quot; /&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/security&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/binding&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/wsHttpBinding&amp;gt;       &lt;br /&gt;&amp;lt;/bindings&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;The above binding configuration uses &lt;/font&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms731299.aspx"&gt;&lt;font size="1"&gt;wsHttpBinding&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt; with Transport mode security. You can also notice that the &lt;em&gt;clientCredentialType&lt;/em&gt; is mentioned as &amp;#8220;&lt;em&gt;Certificate&lt;/em&gt;&amp;#8221;. It means, that the consumer of the service is authenticated using a certificate. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;Your behavior section should look like this,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1" face="Courier New"&gt;&amp;lt;serviceBehaviors&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;behavior name=&amp;quot;BindingBehavior&amp;quot;&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;serviceMetadata httpsGetEnabled=&amp;quot;true&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;serviceDebug includeExceptionDetailInFaults=&amp;quot;true&amp;quot;/&amp;gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1" face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/behavior&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/serviceBehaviors&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;Notice that the httpsGetEnabled=&amp;#8221;true&amp;#8221; attribute. It tells WCF to serve get request on the service. This is should be set to &lt;em&gt;true &lt;/em&gt;when you want the consumers to get the wsdl themselves.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;If this is set to &lt;em&gt;false, &lt;/em&gt;no one will know about this service, unless you give them the wsdl file for consumption. Most of the enterprise services do set this attribute to false for security reasons.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;Your &lt;em&gt;Services &lt;/em&gt;section should look like this,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1" face="Courier New"&gt;&amp;lt;services&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;service behaviorConfiguration=&amp;quot;BindingBehavior&amp;quot;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; name=&amp;quot;servicename&amp;quot;&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;endpoint binding=&amp;quot;wsHttpBinding&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; contract=&amp;quot;SSPNotificationReceiver.IReceiverService&amp;quot; bindingConfiguration=&amp;quot;CertificateWithTransport&amp;quot;&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/endpoint&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;!--&amp;lt;endpoint address=&amp;quot;mex&amp;quot; binding=&amp;quot;mexHttpsBinding&amp;quot;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; name=&amp;quot;MetadataBinding&amp;quot; contract=&amp;quot;IMetadataExchange&amp;quot;/&amp;gt;--&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/service&amp;gt;       &lt;br /&gt;&amp;lt;/services&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;The above behavior configuration basically exposes an endpoint with information about the binding type, service contract type and the binding configuration. The bindingConfiguration attribute is the link between the binding settings and the endpoint, and the behaviorConfiguration attribute is the link between the behavior settings and the service settings.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;The commented endpoint is for the meta data exchange. Since we are using SSL, the meta data exchange is also secure. But beware, may be this is the most important statement in the entire article. There is something very important about commenting this part at the end of the article.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;&lt;font size="1"&gt;Setting up IIS and creating the Certificates:&lt;/font&gt;&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;Now, publish the service on IIS using Visual Studio. The following screen shots show you how to configure the IIS SSL mappings.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font size="1"&gt;The following example will show you how to create SSL Server and SSL client certificates using a Certificate Authority running on Windows Server 2003. You can also create your own certs for development through makecert.exe. There are multiple articles on the internet showing how to create certificates using the tool. Just do a Live Search and find out.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="1"&gt;Set Anonymous Access on IIS for your website (another important task which you might easily miss out) and remove all other authentication modes. &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_4.png"&gt;&lt;font size="1"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_thumb_1.png" width="287" height="344" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt; &lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="1"&gt;On the Directory Security tab, click Server Certificate and choose &amp;#8220;Create new Certificate&amp;#8221;. Follow the wizard to generate the certificate request. The certificate request is by default created in &amp;#8220;c:\certreq.txt&amp;#8221; &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="1"&gt;Open the Certtificate Services Website. It is generally &lt;/font&gt;&lt;a href="http://localhost/certsrv"&gt;&lt;font size="1"&gt;http://localhost/certsrv&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt; on the server which is running the certificate authority. &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_6.png"&gt;&lt;font size="1"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_thumb_2.png" width="371" height="246" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="1"&gt;Click on the Request a Certificate link &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_8.png"&gt;&lt;font size="1"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_thumb_3.png" width="244" height="162" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="1"&gt;On the next screen, click on advanced certificate request &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_10.png"&gt;&lt;font size="1"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_thumb_4.png" width="563" height="106" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="1"&gt;Choose the second option in the above screen &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_12.png"&gt;&lt;font size="1"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_thumb_5.png" width="300" height="289" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt;&amp;#160; &lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="1"&gt;In the next screen, paste the contents of the c:\certreq.txt file in the saved request textbox as shown above. &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="1"&gt;After you click submit, the certificate is created and queued in the Pending Requests on the Certificate Authority. &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="1"&gt;Open Certificate Authority in the Windows Server 2003 machine &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_14.png"&gt;&lt;font size="1"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_thumb_6.png" width="369" height="149" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="1"&gt;Issue the certificate. &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="1"&gt;Again, go back to the Certification Services and click on the &amp;#8220;View Status of the pending requests&amp;#8221; link in the home page. &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_16.png"&gt;&lt;font size="1"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_thumb_7.png" width="385" height="123" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="1"&gt;Click on Download Certificate link and save the certificate to a location and name it SSLServerCert.cer &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="1"&gt;&amp;#160;&lt;/font&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_18.png"&gt;&lt;font size="1"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_thumb_8.png" width="344" height="322" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;With this, you have successfully created the SSL Server Certificate which can be used for Server Authentication purpose.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="1"&gt;Follow these steps to create a Client Authentication certificate.&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="1"&gt;On the Certificate Services home page, click on Request a Certificate option which will take you to the page shown below. &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_20.png"&gt;&lt;font size="1"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_thumb_9.png" width="277" height="176" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="1"&gt;Click on advanced certificate request option in this page. &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="1"&gt;In the next page, click on &amp;#8220;Create and submit a request to CA&amp;#8221; option &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="1"&gt;Choose &amp;#8220;Client Authentication Certificate&amp;#8221; in the Type of certificate needed drop down. &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="1"&gt;Give all text boxes with appropriate information in the Identifying Information section. &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="1"&gt;Check &amp;#8220;Mark Keys as exportable&amp;#8221; option &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_22.png"&gt;&lt;font size="1"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_thumb_10.png" width="314" height="350" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="1"&gt;Click Submit &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="1"&gt;As you did for SSL Server Certificate, go to Certification Authority and Issue this certificate as well &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="1"&gt;Come back to the Certificate Services again and click on Install Certificate link &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_24.png"&gt;&lt;font size="1"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_thumb_11.png" width="294" height="173" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="1"&gt;Your Certificate will be installed in your Personal Store as shown below &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_26.png"&gt;&lt;font size="1"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_thumb_12.png" width="417" height="134" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="1"&gt;You can export this cert with private key and send it across to the client who is going to use the certificate for authenticating itself. &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;font size="1"&gt;Configuring IIS for 2 Way SSL Authentication&lt;/font&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="1"&gt;On your website&amp;#8217;s directory security tab, click on Server Certificate &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="1"&gt;Click next and choose the option as shown below &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_28.png"&gt;&lt;font size="1"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_thumb_13.png" width="340" height="259" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="1"&gt;Follow the wizard and select the SSLServerCert.cer that you already saved &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="1"&gt;Once finished, again click Edit button in the Secure Communications Section in Directory Security tab. &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_34.png"&gt;&lt;font size="1"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_thumb_16.png" width="337" height="320" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="1"&gt;Check the Require secure channel (SSL) option &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="1"&gt;Choose Require client certificates under Client Certificates section &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;&lt;font size="1"&gt;Do not do the following steps if your service needs only SSL Server Authentication. To enable SSL Client authentication also, proceed with the following steps&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="1"&gt;Check Enable client certificate mapping option &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="1"&gt;Click Edit to create a 1-1 certificate mapping&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="1"&gt;Browse to the client certificate that you already created and give map a local user account to it. All requests that carry this certificate will run using the account that you give here&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="1"&gt;Now, you have completed the entire hosting part of the service. The Service that you created is secured by SSL Server as well as SSL Client authentication.&lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;font size="1"&gt;Configuring the client to use SSL&lt;/font&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1" face="Courier New"&gt;&amp;lt;system.serviceModel&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;bindings&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;wsHttpBinding&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;binding name=&amp;quot;WSHttpBinding_IReceiverService&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;security mode=&amp;quot;Transport&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;transport clientCredentialType=&amp;quot;Certificate&amp;quot; /&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/security&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/binding&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/wsHttpBinding&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/bindings&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;client&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;endpoint address=&lt;/font&gt;&lt;a href="https://YourIP/ReceiverHost.svc"&gt;&lt;font size="1" face="Courier New"&gt;https://YourIP/ReceiverHost.svc&lt;/font&gt;&lt;/a&gt;&lt;font size="1" face="Courier New"&gt; behaviorConfiguration=&amp;quot;credentialConfiguration&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding=&amp;quot;wsHttpBinding&amp;quot; bindingConfiguration=&amp;quot;WSHttpBinding_IReceiverService&amp;quot;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; contract=&amp;quot;NotificationProxy.IReceiverService&amp;quot; name=&amp;quot;WSHttpBinding_IReceiverService&amp;quot; /&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/client&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;behaviors&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;endpointBehaviors&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;behavior name=&amp;quot;credentialConfiguration&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;clientCredentials&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;clientCertificate findValue=&amp;quot;99bbc6c9e6f4a6bd526bc8bb21f9c21f0716c23r&amp;quot;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; storeLocation=&amp;quot;CurrentUser&amp;quot;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; x509FindType=&amp;quot;FindByThumbprint&amp;quot; /&amp;gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1" face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/clientCredentials&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/behavior&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/endpointBehaviors&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/behaviors&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/system.serviceModel&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;I have pretty much posted the entire client configuration here. There is nothing very different from the service configuration, but for the behavior and the endpoint address.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;Now, you are all set to access the service through the client. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;You can access the service using the browser too..&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;When you do so, the browser (IE) pops up a window showing all the certificates installed in your personal store. You need to select a the certificate that you already installed in it&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_38.png"&gt;&lt;font size="1"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_thumb_18.png" width="329" height="285" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;Select the appropriate certificate to view the service screen.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_40.png"&gt;&lt;font size="1"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/imayak/WindowsLiveWriter/WCFTransportSecurityusingCertificates_100A8/image_thumb_19.png" width="353" height="339" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;That&amp;#8217;s it. Your service is up and running on IIS, secured using 2 Way SSL Authentication.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;font size="1"&gt;Two most important things not to forget:&lt;/font&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;As I said earlier there are two things that you should do:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="1"&gt;NEVER FORGET TO ENABLE ANONYMOUS ACCESS ON IIS. &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="1"&gt;NEVER FORGET TO COMMENT THE MEX ENDPOINT ON THE SERVICE CONFIG&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;These two things are the most crucial part of this entire process. WCF, for some reason that I don&amp;#8217;t know, wants Anonymous Access to be enabled on the website. You will get this error if you don&amp;#8217;t do so.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font size="1" face="Courier New"&gt;Exception: System.ServiceModel.ServiceActivationException: The service '/ReceiverHost.svc' cannot be activated due to an exception during compilation.&amp;#160; The exception message is: Security settings for this service require 'Anonymous' Authentication but it is not enabled for the IIS application that hosts this service.. ---&amp;gt; &lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;Next, if you forget to leave the mex endpoint uncommented, you might end up seeing this error on the event log of the service.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;&lt;font face="Courier New"&gt;&lt;em&gt;Exception: System.ServiceModel.ServiceActivationException: The service '/ReceiverHost.svc' cannot be activated due to an exception during compilation.&amp;#160; The exception message is: The SSL settings for the service 'None' does not match those of the IIS 'Ssl, SslNegotiateCert, SslRequireCert, SslMapCert'.. &amp;#8211;-&amp;gt;&lt;/em&gt;&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;As you can see, this does not convey any reasonable thing to you, leave alone suggestions to fix the error. Be careful with these two settings.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;Enjoy WCF !!&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8947006" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/imayak/archive/tags/Transport/default.aspx">Transport</category><category domain="http://blogs.msdn.com/imayak/archive/tags/Certificates+WCF/default.aspx">Certificates WCF</category><category domain="http://blogs.msdn.com/imayak/archive/tags/SSL+Server/default.aspx">SSL Server</category><category domain="http://blogs.msdn.com/imayak/archive/tags/SSL+Client/default.aspx">SSL Client</category><category domain="http://blogs.msdn.com/imayak/archive/tags/SSL/default.aspx">SSL</category></item><item><title>Apple's Safari on wrong route</title><link>http://blogs.msdn.com/imayak/archive/2007/06/18/apple-s-safari-on-wrong-route.aspx</link><pubDate>Mon, 18 Jun 2007 13:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3380923</guid><dc:creator>imayak</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/imayak/comments/3380923.aspx</comments><wfw:commentRss>http://blogs.msdn.com/imayak/commentrss.aspx?PostID=3380923</wfw:commentRss><description>&lt;P&gt;News about Apple's Safari for Windows caught many's attention and everyone was wondering what was Steve Jobs' intention behind it. Apple tries to play an intelligent game here, which will prove futile soon. Already there have been many criticisms on the security vulnerability of Safari browser for Windows. The beta version is simply not yet mature enough to fit into Windows. &lt;/P&gt;
&lt;P&gt;Hackers were able to break the browser's security within 2 hours of it's release. More than 6 critical flaws were discovered within a day of it's release. &lt;/P&gt;
&lt;P&gt;Now, what is that Apple trying to do? Is it trying to tighten the competition for Internet Explorer? Or, is it trying to eat up some Firefox market? IE is used in not less than 95% of the computers worldwide. Firefox is still finding it very hard to compete with IE in all aspects. Apple's move on Safari is not surprising. In a era where people started appreciating Apple's success in the Music and Entertainment field, Steve wants to release as many products as he can to cash in. &lt;/P&gt;
&lt;P&gt;You might remember Apple released Apple TV couple of months ago, which is just a Set Top Box with no single special feature apart from regular basic ones. But yes, it was a White colored Box. Apple also tries to get into the Mobile phone market with Apple iPhone as well, but yet to find huge success. &lt;/P&gt;
&lt;P&gt;All one can say is that Apple is trying&amp;nbsp;more than it is capable of, just betting on its User Interface which will not reap success in the long term for them.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3380923" width="1" height="1"&gt;</description></item><item><title>Zune Website Launched</title><link>http://blogs.msdn.com/imayak/archive/2006/11/06/zune-website-launched.aspx</link><pubDate>Mon, 06 Nov 2006 07:40:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:990352</guid><dc:creator>imayak</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/imayak/comments/990352.aspx</comments><wfw:commentRss>http://blogs.msdn.com/imayak/commentrss.aspx?PostID=990352</wfw:commentRss><description>&lt;p&gt;Microsoft has launched its companion site for its Zune player. The webiste is not going to be Zune.com, but &lt;a href="http://www.zune.net"&gt;www.zune.net&lt;/a&gt;. It will give a free 14 days trial pass initially for its users. &lt;/p&gt; &lt;p&gt;The website will allow the Zune owners to download as many songs as they want in the free trial period, but the songs will go dead after 14 days.&lt;/p&gt; &lt;p&gt;MSN Music will start pointing to Zune website eventually. There will be no selling/renting music on the MSN Music site anymore. &lt;/p&gt; &lt;p&gt;For those affected by this change in policy, you can view Microsoft’s Q&amp;amp;A &lt;a href="http://music.msn.com/help/music/changes?"&gt;here.&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=990352" width="1" height="1"&gt;</description></item><item><title>Microsoft launches sixth-generation Windows Embedded CE</title><link>http://blogs.msdn.com/imayak/archive/2006/11/02/microsoft-launches-sixth-generation-windows-embedded-ce.aspx</link><pubDate>Thu, 02 Nov 2006 06:29:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:928103</guid><dc:creator>imayak</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/imayak/comments/928103.aspx</comments><wfw:commentRss>http://blogs.msdn.com/imayak/commentrss.aspx?PostID=928103</wfw:commentRss><description>&lt;p&gt;Microsoft Corp. today released the sixth generation of its Windows Embedded CE software, which is used to build real-time operating systems that power millions of smaller devices, from thin-client computers to point-of-sale appliances to Global Positioning System devices.&lt;/p&gt; &lt;p&gt;For more info, read this article..&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;taxonomyName=development&amp;amp;articleId=9004677&amp;amp;taxonomyId=11&amp;amp;intsrc=kc_top" href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;taxonomyName=development&amp;amp;articleId=9004677&amp;amp;taxonomyId=11&amp;amp;intsrc=kc_top"&gt;http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;taxonomyName=development&amp;amp;articleId=9004677&amp;amp;taxonomyId=11&amp;amp;intsrc=kc_top&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=928103" width="1" height="1"&gt;</description></item><item><title>Atlas Rechristened:</title><link>http://blogs.msdn.com/imayak/archive/2006/09/19/761847.aspx</link><pubDate>Tue, 19 Sep 2006 13:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:761847</guid><dc:creator>imayak</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/imayak/comments/761847.aspx</comments><wfw:commentRss>http://blogs.msdn.com/imayak/commentrss.aspx?PostID=761847</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Info on, &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A title=http://weblogs.asp.net/scottgu/archive/2006/09/11/_2200_Atlas_2200_-1.0-Naming-and-Roadmap.aspx href="http://weblogs.asp.net/scottgu/archive/2006/09/11/_2200_Atlas_2200_-1.0-Naming-and-Roadmap.aspx"&gt;&lt;FONT face=Tahoma size=2&gt;http://weblogs.asp.net/scottgu/archive/2006/09/11/_2200_Atlas_2200_-1.0-Naming-and-Roadmap.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt; &lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=761847" width="1" height="1"&gt;</description></item></channel></rss>