<?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>Saurabh Pant's Weblog  : Client Application Services</title><link>http://blogs.msdn.com/saurabh/archive/tags/Client+Application+Services/default.aspx</link><description>Tags: Client Application Services</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>.NET Framework 3.5 - Client Application Services</title><link>http://blogs.msdn.com/saurabh/archive/2008/05/16/net-framework-3-5-client-application-services.aspx</link><pubDate>Sat, 17 May 2008 00:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8515038</guid><dc:creator>Saurabh</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/saurabh/comments/8515038.aspx</comments><wfw:commentRss>http://blogs.msdn.com/saurabh/commentrss.aspx?PostID=8515038</wfw:commentRss><description>&lt;P&gt;I&amp;nbsp;wrote the blog post below about 6 months back and just realised that I never actually got around to posting it. I the spirit of 'better late than never' here it is ...&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&amp;nbsp;&lt;/B&gt;&lt;B&gt;.NET Framework 3.5 - Client Application Services&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;In .NET Framework 3.5, ASP.NET&lt;INS cite=mailto:Saurabh%20Pant dateTime=2007-08-30T17:41&gt; &lt;/INS&gt;provides built in &lt;A href="http://msdn2.microsoft.com/en-us/library/bb547119(VS.90).aspx#Examples" mce_href="http://msdn2.microsoft.com/en-us/library/bb547119(VS.90).aspx#Examples"&gt;Web Application Services&lt;/A&gt; that provide access to features such as forms authentication, roles, and profile properties. These services provide building blocks to enable super-common scenarios and as a result can provide significant productivity wins and time-savings for developers. &lt;/P&gt;
&lt;P&gt;The &lt;A href="http://msdn2.microsoft.com/en-us/library/bb384339(VS.90).aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb384339(VS.90).aspx"&gt;Client Application Services&lt;/A&gt; feature enables the Client developers to seamlessly leverage these Web Application Services from within their Client Applications. The feature also supports Occasionally Connect scenarios, enabling connected client applications to continue working even on loss of connectivity. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image002_2.gif" mce_href="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image002_2.gif"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=184 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image002_thumb.gif" width=244 border=0 mce_src="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image002_thumb.gif"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Consider the following scenario facilitated by this feature …&lt;/P&gt;
&lt;P&gt;An enterprise leverages .NET 3.5 and exposes Authentication, Roles and Profile Application Services from their existing web servers. The enterprise has a mixture of Ajax, Silverlight and Rich Client applications, all of which are used by a typical employee on daily basis. The employee can now use one set of credentials to logon to all these applications and any preferences/settings modified at one location are reflects for all applications.&amp;nbsp; When the employee is away from the corporate network, say on a flight, she can still continues to use her Client Application by logging on in the offline mode using the same credentials. Also, say an employee gets promoted to be a manager, all the enterprise needs to do is add her to the manager role on the server and now managerial data is available to her across all her web and client applications. &lt;/P&gt;
&lt;P&gt;The heavy lifting involved in enabling the scenario above today lies in the underlying plumbing code; With Client Application Services in .NET 3.5 this plumbing is now taken care of by the framework itself, significantly boosting developer productivity.&lt;/P&gt;
&lt;P&gt;Let’s walk through a scenario and see how easy it is to now add Web Settings support to your application -&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Part 1: Create the web site – &lt;/P&gt;
&lt;P&gt;1. In Orcas Beta2, Create a new ASP.NET Web Application &lt;/P&gt;
&lt;P&gt;2. Set the authentication mode to Windows Authentication&lt;/P&gt;
&lt;P&gt;&amp;lt;authentication mode="windows"/&amp;gt;&lt;/P&gt;
&lt;P&gt;3. Fill in the profile section of the web.config.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;lt;profile enabled="true"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;properties&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;add name="Text" type="string" readOnly="false" defaultValue="DefaultText" serializeAs="String" allowAnonymous="false"/&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;add name="Color" type="string" readOnly="false" defaultValue="white" serializeAs="String" allowAnonymous="false" /&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/properties&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/profile&amp;gt;&lt;/P&gt;
&lt;P&gt;4. Enable this property to be accessed via web services by adding this section to Web Config&lt;/P&gt;
&lt;P&gt;&amp;lt;system.web.extensions&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;scripting&amp;gt;&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;&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;&amp;nbsp; &amp;lt;webServices&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;profileService enabled="true" readAccessProperties="Text, Color" writeAccessProperties="Text, Color"/&amp;gt;&lt;/P&gt;
&lt;P&gt;Part 2: Create the Client Application – &lt;/P&gt;
&lt;P&gt;1. Right click on the solution and add a new project (works the same for WPF or WinForms)&lt;/P&gt;
&lt;P&gt;2. Right click on the new client project and select properties&lt;/P&gt;
&lt;P&gt;3. In the Services tab, enable application services, select windows auth and fill in the services url for the Web Settings Service. For now it is the development server URL, in production this would be your ASP.NET web site.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image004_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=207 alt=clip_image004 src="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image004_thumb.jpg" width=244 border=0 mce_src="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;4. In the settings tab, click on “Load Web Settings” ... this will pull down all the metadata for the profile properties defined on the server for the Windows User you are currently working as. ( If you were using Forms Authentication in your Application you would be prompted by the designer to enter you Forms Credentials before being able to download the settings meta data)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image006_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image006_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=207 alt=clip_image006 src="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image006_thumb.jpg" width=244 border=0 mce_src="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image006_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;We are now ready to go!&amp;nbsp; We can have strongly typed, async read-write access to your Web settings.&amp;nbsp; These settings will stay in sync no matter where you change them (WinForms/WPF/Asp.Net/AJAX/Silverlight Application), they are reflected everywhere!&lt;/P&gt;
&lt;P&gt;Examples:&lt;/P&gt;
&lt;P&gt;Windows Forms code – &lt;/P&gt;
&lt;P&gt;private void Form1_Load(object sender, EventArgs e)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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; BackColor = Color.FromName(Properties.Settings.Default.Color);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void button1_Click(object sender, EventArgs e)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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; Properties.Settings.Default.Color = this.textBox1.Text;&amp;nbsp;&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; BackColor = Color.FromName(Properties.Settings.Default.Color);&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; Properties.Settings.Default.Save();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image008_2.gif" mce_href="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image008_2.gif"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=244 alt=clip_image008 src="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image008_thumb.gif" width=238 border=0 mce_src="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image008_thumb.gif"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;ASP.NET Server side code – &lt;/P&gt;
&lt;P&gt;function loadColor()&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; {&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;&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;/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;&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;&amp;nbsp; Sys.Services.ProfileService.load(["Color"], loadCompleteCallback, loadSaveFailed, "");&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;/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; function btnSaveColor()&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;/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;&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;&amp;nbsp; Sys.Services.ProfileService.properties["Color"] = document.form1.theColor.value;&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;&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;&amp;nbsp; Sys.Services.ProfileService.save(null, saveCompleteCallback, loadSaveFailed, "");&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;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image010_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image010_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=198 alt=clip_image010 src="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image010_thumb.jpg" width=244 border=0 mce_src="http://blogs.msdn.com/blogfiles/saurabh/WindowsLiveWriter/.NETFramework.5ClientApplicationServices_C17F/clip_image010_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Source Code:&lt;/P&gt;
&lt;P&gt;The attached sample code contains the above Client scenario enabled with additional Forms Authentication (Login/Logout), Roles and Offline support. &lt;/P&gt;
&lt;P&gt;It also contains a Web Site with using the same Authentication and Profile service.&lt;/P&gt;
&lt;P&gt;Additional Resources:&lt;/P&gt;
&lt;P&gt;Web Application Services Overview …&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/bb547119(VS.90).aspx#Examples" mce_href="http://msdn2.microsoft.com/en-us/library/bb547119(VS.90).aspx#Examples"&gt;http://msdn2.microsoft.com/en-us/library/bb547119(VS.90).aspx#Examples&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Client Application Services Overview …&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/bb384339(VS.90).aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb384339(VS.90).aspx"&gt;http://msdn2.microsoft.com/en-us/library/bb384339(VS.90).aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Client Application Services end to end walkthrough …&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/winformsue/archive/2007/05/20/client-application-services-in-windows-forms-end-to-end-walkthrough-available.aspx" mce_href="http://blogs.msdn.com/winformsue/archive/2007/05/20/client-application-services-in-windows-forms-end-to-end-walkthrough-available.aspx"&gt;http://blogs.msdn.com/winformsue/archive/2007/05/20/client-application-services-in-windows-forms-end-to-end-walkthrough-available.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8515038" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/saurabh/attachment/8515038.ashx" length="119771" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/saurabh/archive/tags/Client+Application+Services/default.aspx">Client Application Services</category></item><item><title>Live From Redmond: Client Application Services in Orcas</title><link>http://blogs.msdn.com/saurabh/archive/2006/11/27/live-from-redmond-client-application-services-in-orcas.aspx</link><pubDate>Tue, 28 Nov 2006 00:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1161335</guid><dc:creator>Saurabh</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/saurabh/comments/1161335.aspx</comments><wfw:commentRss>http://blogs.msdn.com/saurabh/commentrss.aspx?PostID=1161335</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"&gt;[Update]&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"&gt;My&amp;nbsp;introductory post&amp;nbsp;to Client Application Services is available here &lt;A href="http://blogs.msdn.com/saurabh/archive/2008/05/16/net-framework-3-5-client-application-services.aspx"&gt;http://blogs.msdn.com/saurabh/archive/2008/05/16/net-framework-3-5-client-application-services.aspx&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"&gt;[Original Post]&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"&gt;Continuing further along in with our "Live from Redmond" series I shall be presenting the following talk on Nov 27th ...&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"&gt;Have attached the&amp;nbsp;slide deck from the talk. The actual presentation&amp;nbsp;can be viewed online at any time through the registration link below.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Arial&gt;&lt;SPAN&gt;Live From Redmond: Client Application Services in Orcas&lt;/SPAN&gt;&amp;nbsp;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Arial&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;STRONG&gt;27th Nov&amp;nbsp;2006 &lt;/STRONG&gt;[&lt;A class="" title="Click here to register" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032312759&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US" target=_blank mce_href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032312759&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;&lt;FONT color=#006ff7&gt;Click&amp;nbsp;here to register&lt;/FONT&gt;&lt;/A&gt;]&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN id=eventInfo_lblEventDescription&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Arial&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"&gt;Client Application Services&amp;nbsp;are&amp;nbsp;a new set of features in Orcas that&amp;nbsp;enable application to authenticate users, get roles for the&amp;nbsp;user and persisting&amp;nbsp;user settings&amp;nbsp;on a server.&amp;nbsp;These&amp;nbsp;Client Application Services work in conjugation with the Web Application Services&amp;nbsp;for Authentication, Roles and Profiles also new in Orcas.&amp;nbsp;Additionally these Client Application Services support Occasionally Connected Applications by supporting offline Authenticatoin, Roles and Profiles,&amp;nbsp;where they work&amp;nbsp;against a local cache instead of an online server.&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"&gt;This webcast will&amp;nbsp;provide an introduction Client Application Services&amp;nbsp;as well as examples of how&amp;nbsp;to use the services in you own applications.&lt;/SPAN&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1161335" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/saurabh/attachment/1161335.ashx" length="965632" type="application/vnd.ms-powerpoint" /><category domain="http://blogs.msdn.com/saurabh/archive/tags/Windows+Forms/default.aspx">Windows Forms</category><category domain="http://blogs.msdn.com/saurabh/archive/tags/Client+Application+Services/default.aspx">Client Application Services</category></item></channel></rss>