<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1182622043123890463</id><updated>2012-01-23T21:32:16.781+11:00</updated><category term='Ribbon'/><category term='User Profile'/><category term='JQuery'/><category term='SharePont 2010'/><category term='Service Applications'/><category term='Disable Social Feature'/><category term='WCF'/><category term='Beta'/><category term='Managed Metadata'/><category term='Lookup Drop Down List'/><category term='ForeFront Identity Manager'/><category term='About Me'/><category term='Claim Based Authentication'/><category term='SharePoint 2010'/><category term='Visual Studio 2010'/><category term='SharePoint Not installed'/><category term='Windows 7'/><title type='text'>An Egg in the SharePoint World</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-3050214693365269432</id><published>2011-10-21T10:08:00.001+11:00</published><updated>2011-10-21T10:08:52.836+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Unexpected Error on SharePoint Web Analytics Page</title><content type='html'>&lt;p&gt;We have recently deployed another new branded look and feel to our SharePoint 2010 intranet.&amp;nbsp; It comes with heavy customization and of course a custom master page.&amp;nbsp; Everything works fine until we hit the web analytics report under site settings – the famous SharePoint unexpected error.&amp;nbsp; &lt;/p&gt; &lt;p&gt;We went to the ULS log and found the following error:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;System.ArgumentException: Could not find the sitemap node with URL '/_layouts/WebAnalytics/WebAppSelection.aspx'.&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;This seems strange to me as we used to have an old customized master page and it didn’t have the same problem.&amp;nbsp; It’s quite a common problem after some Google, but none of the mentioned solutions (&lt;a href="http://social.technet.microsoft.com/Forums/en/sharepoint2010setup/thread/2022cff0-e2cf-4702-bb2a-17dc91dd4247"&gt;http://social.technet.microsoft.com/Forums/en/sharepoint2010setup/thread/2022cff0-e2cf-4702-bb2a-17dc91dd4247&lt;/a&gt;) really works for us.&lt;/p&gt; &lt;p&gt;Just a quick run down of our custom master page: we have 3 heavy customized navigation control: Global navigation, side navigation, as well as a footer (doormat) navigation.&amp;nbsp; &lt;/p&gt; &lt;p&gt;I start to remove these navigation one by one from the master page – and eventually I found that the footer navigation is the one that is causing the problem. And what’s more, it is the SiteMapDataSource object that is causing the problem.&amp;nbsp; This is strange, because the global navigation and the side navigation is using the same site map provider.&amp;nbsp; &lt;/p&gt; &lt;p&gt;After bit of playing around, I found the solution – by moving the footer data source control before the &lt;strong&gt;QuickLaunchDataSource&lt;/strong&gt; delegate control (or the side side navigation).&amp;nbsp; I don’t have any explanation, but it looks like you cannot declare any SiteMapDataSource after the Quick Launch (or Side Nav) data source. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-3050214693365269432?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/3050214693365269432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=3050214693365269432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/3050214693365269432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/3050214693365269432'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2011/10/unexpected-error-on-sharepoint-web.html' title='Unexpected Error on SharePoint Web Analytics Page'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-5427560166847239680</id><published>2011-06-10T12:23:00.002+10:00</published><updated>2011-06-10T12:32:18.451+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ribbon'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>SharePoint 2010 Ribbon stuck at “Loading…”</title><content type='html'>Do you experience the following:&lt;br&gt; &lt;ul&gt; &lt;li&gt;The ribbon is stuck at “Loading…” and never comes up, even you are using out of the box SharePoint site template and master page.&amp;nbsp; &lt;li&gt;Your site is setup with a DNS/host header, rather than the actual machine name.  &lt;li&gt;There is a “.” in your DNS host (e.g. sp2010.dev).&amp;nbsp; &lt;li&gt;The ribbon works if you access the site using FQDN (e.g. sp2010.dev.domain.com) &lt;li&gt;Your SharePoint environment is running on either Windows 7 or Windows 2008 R2.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;If you answer “Yes” for all of the questions above, you are in the right place.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-ltrIYwpgP94/TfGBVJimKzI/AAAAAAAAAJQ/a-SA_XKJP50/s1600-h/image%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-v-Uoo8prqbs/TfGBWxGTJEI/AAAAAAAAAJU/vnaVsvLq_u4/image_thumb%25255B1%25255D.png?imgmax=800" width="396" height="202"&gt;&lt;/a&gt;&lt;br&gt;This problem is actually caused by a new concept called &lt;a href="http://technet.microsoft.com/en-us/library/ee683928%28WS.10%29.aspx" target="_blank"&gt;DNS Devolution&lt;/a&gt; that Microsoft introduced in Windows 7 and Windows 2008 R2.&amp;nbsp; This concept give a finer controls over how far you search up the tree with an unqualified name.&amp;nbsp; For example, if you host name is sp2010, Windows will resolve it to sp2010.domain.com.&amp;nbsp; However, if you have a “.” in your hostname, e.g. sp2010.dev, Windows 7 and Windows 2008 R2 will not append the DNS search suffix to it.&amp;nbsp; &lt;/p&gt; &lt;p&gt;To solve the ribbon “Loading…” problem, you need to allow DNS suffix append to unqualified multi-label name.&amp;nbsp; To do that, run gpedit.msc on the server, Browse Local Computer Policy &amp;gt; Computer Configuration &amp;gt; Administrative Templates &amp;gt; Network &amp;gt; DNS Client.&amp;nbsp; Enable “Allow DNS Suffix Appending to Unqualified Multi-Label Name Queries”.&amp;nbsp; Then flush the DNS by running a ipconfig /flushdns in command prompt.&amp;nbsp; Refresh your site and your ribbon should work!&lt;/p&gt; &lt;p&gt;&lt;br&gt;&lt;a href="http://lh5.ggpht.com/-5LoYXbStcAk/TfGBXYBegRI/AAAAAAAAAJY/AYDBrio1iT4/s1600-h/image%25255B8%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-HhH9DKBmT1s/TfGBYL7BjAI/AAAAAAAAAJc/Xbg2_IM0SfU/image_thumb%25255B4%25255D.png?imgmax=800" width="428" height="324"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-5427560166847239680?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/5427560166847239680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=5427560166847239680' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/5427560166847239680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/5427560166847239680'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2011/06/sharepoint-2010-ribbon-stuck-at-loading.html' title='SharePoint 2010 Ribbon stuck at “Loading…”'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-v-Uoo8prqbs/TfGBWxGTJEI/AAAAAAAAAJU/vnaVsvLq_u4/s72-c/image_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-3571501314265504116</id><published>2011-01-31T13:21:00.001+11:00</published><updated>2011-01-31T13:23:41.072+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Claim Based Authentication'/><title type='text'>Reverting Claim Based Authentication to Classic Mode Authentication</title><content type='html'>&lt;p&gt;Let me start with my story first: I have 3 different SharePoint environments:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Development with Classic Mode (Windows)&lt;/li&gt; &lt;li&gt;Testing with Claim Based&lt;/li&gt; &lt;li&gt;Production with Classic Mode (Windows)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Sometimes I will need to move a site from development to the testing environment, and since they are using different types of authentication, I will need to execute the $webApp.MigrateUsers($true) to convert the stored username in the content database from the “Windows” format (DOMAIN/username) to Claim based format (i:0#.w|DOMAIN/username).&amp;nbsp; &lt;/p&gt; &lt;p&gt;And now here’s a very stupid things that I have done last week.&amp;nbsp; I tried to move a site from Testing to the Production environment.&amp;nbsp; I went to the site permission and noticed the most of the username are stored in the Claim Based format, and the user is getting access denied error.&amp;nbsp; Immediately I think of the MigrateUsers($true) command that I mentioned above and I executed it (Yes, a real stupidity as a SharePoint guy).&amp;nbsp; Ops, other sites sit under the same Web Application starts to bound users off with an “Access Denied” error.&amp;nbsp; I can’t even login to the site with the farm administrator account.&amp;nbsp; &lt;/p&gt; &lt;p&gt;I immediately search for any information about MigrateUsers and found the Microsoft Official description &lt;a href="http://msdn.microsoft.com/en-us/library/ee554321.aspx" target="_blank"&gt;here&lt;/a&gt;.&amp;nbsp; It says “true to move users to claims authentication; false to move users from claims authentication”.&amp;nbsp; Cool, this is a life saver and all I need to do is execute this command passing in false.&amp;nbsp; Run this and I am getting “Operation is not valid due to the current state of the object”.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_Z7jRJouC2-U/TUYcqlEi38I/AAAAAAAAAJE/pqKIe3UR3jU/s1600-h/image%5B8%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_Z7jRJouC2-U/TUYcrHBChrI/AAAAAAAAAJI/SFHUVqdAxdY/image_thumb%5B4%5D.png?imgmax=800" width="561" height="214"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;No good again.&amp;nbsp; My colleague opened up reflector and tried to look at the MigrateUsers method, and what we have noticed is the method intentionally throws an exception when we pass in false as the parameter.&amp;nbsp; Why??? I did more searching and found out that Claims to Classic mode is not currently supported by Microsoft.&amp;nbsp; &lt;/p&gt; &lt;p&gt;I went into the content database and checked the UserInfo table and have noticed that all logins had been converted to claim based format.&amp;nbsp; I tried to change one of the login back to Windows format (by the way, modification directly to SQL is not supported), but still not success.&amp;nbsp; &lt;/p&gt; &lt;p&gt;I did another test by creating a new site collection in a new content database under the same web application, and setting my Windows account as the site collection administrator.&amp;nbsp; In theory, this should work as everything is clean, however I am still getting “Access Denied”.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Based on the above testing and investigation, we can prove that:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;MigrateUsers($true) convert all username to “Claim-Based” format and this change applies to every content database under the same web application.&amp;nbsp; &lt;/li&gt; &lt;li&gt;Since the site is still using Windows Classic mode, when a user access the site, it will take the username in Windows format.&amp;nbsp; However, when it compares the “Windows” username with the converted claim based format username in the content database.&amp;nbsp; Since they are different, it returns an access denied error.&amp;nbsp; &lt;/li&gt; &lt;li&gt;Based on the result of the new site collection testing mentioned above, the MigratedUsers command will also do something to the web application, making it no longer accept “Windows” username.&amp;nbsp; Hence the web application is corrupted.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;After spending whole night in the office, finally I found a solution to roll back the changes: A command already existed in SharePoint 2007 fixed the problem, and it is &lt;a href="http://technet.microsoft.com/en-us/library/cc262141%28office.12%29.aspx" target="_blank"&gt;MigrateUser&lt;/a&gt;.&amp;nbsp; Basically this command will convert one login to a new login. However this only works on single user every time.&amp;nbsp; &lt;/p&gt; &lt;p&gt;So here is my strategy for the problem:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;As mentioned, the web application is corrupted.&amp;nbsp; We will need to delete the corrupted web application and recreate a new one.&amp;nbsp; Make sure you keep an backup of the database&lt;/li&gt; &lt;li&gt;After you recreate the web application, mount the content database(s).&amp;nbsp; &lt;/li&gt; &lt;li&gt;Reset the Site Collection Administrator in Central Administration.&amp;nbsp; &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Up to this point, you should be able to login to the site using the site collection administrator account that you defined in 3.).&amp;nbsp; And the next/final step that we need to do is to run the MigrateUser command to every users in the site collection.&amp;nbsp; To do that, I have implemented the following console application:&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:9574008c-6cef-4494-b128-b3958f939820" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px"&gt;Code Snippet&lt;/div&gt; &lt;div style="background: #ddd; max-height: 300px; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; Program(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; url)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;{&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af"&gt;SPSite&lt;/span&gt; site = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SPSite&lt;/span&gt;(url))&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    {&lt;/li&gt; &lt;li&gt;        &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af"&gt;SPWeb&lt;/span&gt; web = site.RootWeb)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        {&lt;/li&gt; &lt;li&gt;            &lt;span style="color:#0000ff"&gt;foreach&lt;/span&gt; (&lt;span style="color:#2b91af"&gt;SPUser&lt;/span&gt; user &lt;span style="color:#0000ff"&gt;in&lt;/span&gt; web.AllUsers)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;            {&lt;/li&gt; &lt;li&gt;                &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; username = GetClaimBasedUserName(user);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                &lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (!username.Equals(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt;.Empty))&lt;/li&gt; &lt;li&gt;                {&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                    &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.Write(&lt;span style="color:#a31515"&gt;&amp;quot;Migrating {0} to {1}...&amp;quot;&lt;/span&gt;, user.LoginName, username);&lt;/li&gt; &lt;li&gt;                    &lt;span style="color:#0000ff"&gt;try&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                    {&lt;/li&gt; &lt;li&gt;                        &lt;span style="color:#2b91af"&gt;SPFarm&lt;/span&gt; Farm = &lt;span style="color:#2b91af"&gt;SPFarm&lt;/span&gt;.Local;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                        Farm.MigrateUserAccount(user.LoginName, username, &lt;span style="color:#0000ff"&gt;false&lt;/span&gt;);&lt;/li&gt; &lt;li&gt;                        &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515"&gt;&amp;quot;Done&amp;quot;&lt;/span&gt;);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                    }&lt;/li&gt; &lt;li&gt;                    &lt;span style="color:#0000ff"&gt;catch&lt;/span&gt; (&lt;span style="color:#2b91af"&gt;Exception&lt;/span&gt; ex)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                    {&lt;/li&gt; &lt;li&gt;                        &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.WriteLine(ex.Message);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                    }&lt;/li&gt; &lt;li&gt;                }&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;            }&lt;/li&gt; &lt;li&gt;        }&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    }&lt;/li&gt; &lt;li&gt;}&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; GetClaimBasedUserName(&lt;span style="color:#2b91af"&gt;SPUser&lt;/span&gt; user)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;{&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; username = &lt;span style="color:#0000ff"&gt;string&lt;/span&gt;.Empty;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#0000ff"&gt;try&lt;/span&gt;&lt;/li&gt; &lt;li&gt;    {&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (user.IsDomainGroup)&lt;/li&gt; &lt;li&gt;        {&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;            &lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (user.LoginName.StartsWith(&lt;span style="color:#a31515"&gt;&amp;quot;c:0+.w|&amp;quot;&lt;/span&gt;))&lt;/li&gt; &lt;li&gt;            {&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;                username = user.Name;&lt;/li&gt; &lt;li&gt;            }&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        }&lt;/li&gt; &lt;li&gt;        &lt;span style="color:#0000ff"&gt;else&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        {&lt;/li&gt; &lt;li&gt;            &lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (user.LoginName.StartsWith(&lt;span style="color:#a31515"&gt;&amp;quot;i:0#.w|&amp;quot;&lt;/span&gt;))&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;            {&lt;/li&gt; &lt;li&gt;                username = user.LoginName.Substring(7);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;            }&lt;/li&gt; &lt;li&gt;        }&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    }&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;catch&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    {&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    }&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;return&lt;/span&gt; username;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;}&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;ol&gt; &lt;li&gt;Basically the above code does the following:&lt;/li&gt; &lt;li&gt;Grab all the users in the site collections, &lt;/li&gt; &lt;li&gt;Get the current username which is in the claim based format&lt;/li&gt; &lt;li&gt;Extract the “Windows” user name from the claim based username (Just trim the first 7 characters)&lt;/li&gt; &lt;li&gt;Run the MigrateUser method&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;And after running this console application, your site is back up and running with Classic mode. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-3571501314265504116?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/3571501314265504116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=3571501314265504116' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/3571501314265504116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/3571501314265504116'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2011/01/reverting-claim-based-authentication-to.html' title='Reverting Claim Based Authentication to Classic Mode Authentication'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_Z7jRJouC2-U/TUYcrHBChrI/AAAAAAAAAJI/SFHUVqdAxdY/s72-c/image_thumb%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-8422563820988013480</id><published>2011-01-06T22:57:00.000+11:00</published><updated>2011-01-06T22:57:25.861+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='User Profile'/><title type='text'>Error Creating User Profile Connection - Unable to process Create Message</title><content type='html'>I have managed to setup User Profile Synchronisation in a few different environments without any problem - Connection created, FIM services are running, user profiles are imported successfully.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Recently I was trying to setup a new server farm in the production environment.&amp;nbsp; I followed the exact same procedure as I always do, but this time I am getting a new error message when I tried to create a new User Profile Connection - Unable to process Create Message:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Z7jRJouC2-U/TSWnbuApv6I/AAAAAAAAAJA/8zGDeQ_W4II/s1600/UserProfileError.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/_Z7jRJouC2-U/TSWnbuApv6I/AAAAAAAAAJA/8zGDeQ_W4II/s320/UserProfileError.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;And I was getting these errors in the error log:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="x_MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt;"&gt;Microsoft.ResourceManagement.Service: System.InvalidOperationException: Retrieve schema failed&lt;/span&gt;&lt;/div&gt;&lt;div class="x_MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;  at  Microsoft.ResourceManagement.ActionProcessor.SyncConfigActionProcessor.Create(String  typeName, IList`1 createParameters, Guid creator,  Guid cause)&lt;/span&gt;&lt;/div&gt;&lt;div class="x_MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; at Microsoft.ResourceManagement.ActionProcessor.SyncConfigActionProcessor.ProcessInputRequest(RequestType request)&lt;/span&gt;&lt;/div&gt;&lt;div class="x_MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; at Microsoft.ResourceManagement.ActionProcessor.ActionDispatcher.ProcessInputRequest(RequestType request)&lt;/span&gt;&lt;/div&gt;&lt;div class="x_MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; at Microsoft.ResourceManagement.WebServices.RequestDispatcher.ExecuteAction(RequestType request)&lt;/span&gt;&lt;/div&gt;&lt;div class="x_MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; at Microsoft.ResourceManagement.WebServices.RequestDispatcher.ExecuteAction[ResponseBodyType](RequestType request)&lt;/span&gt;&lt;/div&gt;&lt;div class="x_MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;  at  Microsoft.ResourceManagement.WebServices.RequestDispatcher.DispatchRequest[ResponseBodyType](RequestType  request, Guid requestIdentifier,  Object redispatchSingleInstanceKey)&lt;/span&gt;&lt;/div&gt;&lt;div class="x_MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; at Microsoft.ResourceManagement.WebServices.RequestDispatcher.DispatchRequest[ResponseBodyType](RequestType request)&lt;/span&gt;&lt;/div&gt;&lt;div class="x_MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; at Microsoft.ResourceManagement.WebServices.ResourceManagementService.Create(Message request)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;This is weird because I followed the exactly same procedure as the other environments.&amp;nbsp; FIM services are running, service accounts are setup properly, Net Bios Name flag enabled for the UPS, what was going wrong? Someone got the same error as me here and they fixed the problem by pointing the Sync to a Windows 2008 Domain Controller:&lt;br /&gt;&lt;a href="http://social.technet.microsoft.com/Forums/en-US/sharepoint2010setup/thread/6c68c067-5b2a-482f-925b-5a0a25759344"&gt;http://social.technet.microsoft.com/Forums/en-US/sharepoint2010setup/thread/6c68c067-5b2a-482f-925b-5a0a25759344&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;However I have confirmed both the domain controller of production environment and other environments Windows 2003.&amp;nbsp; So what was wrong?&amp;nbsp; I spent 2 overnights, and one premium support called was raised and I was still going no where, where I was 4 days away from the production launch.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;I didn't install the August cumulative updates due to an error I posted earlier (&lt;a href="http://sharepointegg.blogspot.com/2010/09/sharepoint-2010-august-cumulative.html"&gt;link&lt;/a&gt;).&amp;nbsp; Then I thought....well, worth a try as I have tried out every thing already.&amp;nbsp; And you know what? That fixed the problem! And this also fixed the August CU problem that I had earlier (it broke the User Profile Service Application).&amp;nbsp;&lt;br /&gt;&lt;br /&gt;So if you are getting this error when you create an user profile synchronisation connection, here are the two things that you should do:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Check your domain controller&lt;/li&gt;&lt;li&gt;Install the August (or later) Cumulative Updates &lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-8422563820988013480?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/8422563820988013480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=8422563820988013480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/8422563820988013480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/8422563820988013480'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2011/01/error-creating-user-profile-connection.html' title='Error Creating User Profile Connection - Unable to process Create Message'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Z7jRJouC2-U/TSWnbuApv6I/AAAAAAAAAJA/8zGDeQ_W4II/s72-c/UserProfileError.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-184105491221932566</id><published>2011-01-06T22:12:00.000+11:00</published><updated>2011-01-06T22:12:40.124+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='ForeFront Identity Manager'/><title type='text'>SharePoint 2010 August Cumulative Updates breaks ForeFront Identity Manager</title><content type='html'>&lt;span style="font-family: webdings;"&gt;&lt;/span&gt;I have recently came across a bug in the Newsfeed Settings. I have gone into my newsfeed setting and unchecked some of the activity types. The first time I done it, it was fine. However when I try to do it again, I noticed that my changes doesn't get saved.&lt;br /&gt;&lt;br /&gt;Found nothing out there, so I decided to apply to SharePoint 2010 August Cumulative Updates:&lt;br /&gt;SharePoint Foundation 2010: &lt;a href="http://support.microsoft.com/kb/2266423"&gt;kb2266423&lt;/a&gt;&lt;br /&gt;SharePoint Server 2010: &lt;a href="http://support.microsoft.com/kb/2352342"&gt;kb2352342&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After I applied the updates, my problems gone! I can now save my newsfeed settings.&lt;br /&gt;&lt;br /&gt;BUT!!!! (You know that I am going to say this, right?) It produces another problem.&lt;br /&gt;&lt;br /&gt;As usual, after the reboot required by the updates, my two ForeFront Identity Manager services have stopped. The Forefront Identity Manager Service has started successfully, but I couldn't get the Synchronization Service start.&lt;br /&gt;&lt;br /&gt;I am getting the following error:&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_Z7jRJouC2-U/TJv75dHu3yI/AAAAAAAAAHU/nPM6PZ8ecGA/s1600/FIM_Service_Error.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5520282732760850210" src="http://1.bp.blogspot.com/_Z7jRJouC2-U/TJv75dHu3yI/AAAAAAAAAHU/nPM6PZ8ecGA/s400/FIM_Service_Error.jpg" style="cursor: pointer; height: 202px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And when I checked my error log, I am getting a WorkflowManagerException: Forefront Identity Management Service does not support workflows of type 'Microsoft.ResourceManagement.Workflow.Activities.SequentialWorkflow, Microsoft.ResourceManagement, Version=2.0.2450.5" error:&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_Z7jRJouC2-U/TJv9SeZFXTI/AAAAAAAAAHs/oqWWKHXoB_4/s1600/FIM_Error_Log.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5520284262110420274" src="http://4.bp.blogspot.com/_Z7jRJouC2-U/TJv9SeZFXTI/AAAAAAAAAHs/oqWWKHXoB_4/s400/FIM_Error_Log.jpg" style="height: 280px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To fix this problem, simply delete your User Profile Service Application, and recreate a new one.&amp;nbsp; Somehow the cumulative update does not work with the service application that was created using the old binary?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-184105491221932566?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/184105491221932566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=184105491221932566' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/184105491221932566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/184105491221932566'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2010/09/sharepoint-2010-august-cumulative.html' title='SharePoint 2010 August Cumulative Updates breaks ForeFront Identity Manager'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Z7jRJouC2-U/TJv75dHu3yI/AAAAAAAAAHU/nPM6PZ8ecGA/s72-c/FIM_Service_Error.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-4924918537334222993</id><published>2011-01-06T22:09:00.000+11:00</published><updated>2011-01-06T22:09:28.253+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lookup Drop Down List'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Fixing SharePoint 2010 Lookup Drop Down 20 Items Limit</title><content type='html'>As you might have noticed already, SharePoint (both 2007 and 2010) will render your lookup drop down column differently depends on the number of item in the drop down list. If you have less than 20 items, SharePoint will just render the drop down using the normal drop down list control.&lt;br /&gt;&lt;br /&gt;However SharePoint will change the rendering style when there is more than 20 items. Instead of the simple drop down list control, it will be changed to a textbox + ajax + filtering list, like the following:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_Z7jRJouC2-U/TMEZ5HScn4I/AAAAAAAAAIE/eNV9CXcUQdo/s1600/DropDownComparsion.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5530730286387339138" src="http://4.bp.blogspot.com/_Z7jRJouC2-U/TMEZ5HScn4I/AAAAAAAAAIE/eNV9CXcUQdo/s400/DropDownComparsion.jpg" style="cursor: pointer; height: 265px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So when you start typing in the textbox, it filters the options, allows the user to select an item from a large list. There are pros, and of course there are cons:&lt;br /&gt;- If you decide to select from the list, you need to do a double click in order to pick an option&lt;br /&gt;- The free-text box gives an impression that you can free-text, which ends up saving empty string&lt;br /&gt;- Inconsistent user experience if you have other drop down list in the form that has less than 20 items.&lt;br /&gt;- There are some rendering issue for the Ajax Drop Down list in SharePoint 2010&lt;br /&gt;&lt;br /&gt;To get around this, I have implemented a JQuery solution. Basically the script does the following if the drop down has more than 20 items:&lt;br /&gt;- Hide the text box&lt;br /&gt;- Hide the drop down arrow&lt;br /&gt;- Provision the options in a simple drop down list, register an OnChange event to set the lookup hidden field that SharePoint is using.&lt;br /&gt;- Add the drop down to the page.&lt;br /&gt;&lt;br /&gt;Insert the following script to the New/Edit form (by using a content editor web part or custom ribbon javascript). I am assuming that you have a reference to the JQuery library in your master page.&lt;br /&gt;&lt;br /&gt;&lt;div class="wlWriterEditableSmartContent" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:bfddd9b7-86ce-45c2-a6cf-0b42dd577247" style="display: inline; float: none; margin: 0px; padding: 0px;"&gt;&lt;div style="border: 1px solid rgb(0, 0, 128); color: black; font-family: 'Courier New',Courier,Monospace; font-size: 10pt;"&gt;&lt;div style="background: none repeat scroll 0% 0% rgb(0, 0, 128); color: white; font-family: Verdana,Tahoma,Arial,sans-serif; font-weight: bold; padding: 2px 5px;"&gt;Code Snippet&lt;/div&gt;&lt;div style="background: none repeat scroll 0% 0% rgb(221, 221, 221); max-height: 300px; overflow: auto;"&gt;&lt;ol style="background: none repeat scroll 0% 0% rgb(255, 255, 255); margin: 0pt 0pt 0pt 2.5em; padding: 0pt 0pt 0pt 5px;"&gt;&lt;li&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;  $(document).ready(&lt;span style="color: blue;"&gt;function&lt;/span&gt; () {&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;    &lt;span style="color: darkgreen;"&gt;// Name of the column (Display Name)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;    &lt;span style="color: blue;"&gt;var&lt;/span&gt; columnName = &lt;span style="color: maroon;"&gt;"Lookup"&lt;/span&gt;;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;    &lt;span style="color: darkgreen;"&gt;// Override the Drop Down List&lt;/span&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;    OverrideDropDownList(columnName);&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;    &lt;span style="color: darkgreen;"&gt;// Main Function&lt;/span&gt;&lt;/li&gt;&lt;li&gt;    &lt;span style="color: blue;"&gt;function&lt;/span&gt; OverrideDropDownList(columnName) {&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;      &lt;span style="color: darkgreen;"&gt;// Construct a drop down list object&lt;/span&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;      &lt;span style="color: blue;"&gt;var&lt;/span&gt; lookupDDL = &lt;span style="color: blue;"&gt;new&lt;/span&gt; DropDownList(columnName);&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;      &lt;span style="color: darkgreen;"&gt;// Do this only in complex mode...&lt;/span&gt;&lt;/li&gt;&lt;li&gt;      &lt;span style="color: blue;"&gt;if&lt;/span&gt; (lookupDDL.Type == &lt;span style="color: maroon;"&gt;"C"&lt;/span&gt;) {&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;        &lt;span style="color: darkgreen;"&gt;// Hide the text box and drop down arrow&lt;/span&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;        lookupDDL.Obj.css(&lt;span style="color: maroon;"&gt;'display'&lt;/span&gt;, &lt;span style="color: maroon;"&gt;'none'&lt;/span&gt;);&lt;/li&gt;&lt;li&gt;        lookupDDL.Obj.next(&lt;span style="color: maroon;"&gt;"img"&lt;/span&gt;).css(&lt;span style="color: maroon;"&gt;'display'&lt;/span&gt;, &lt;span style="color: maroon;"&gt;'none'&lt;/span&gt;);&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;        &lt;span style="color: darkgreen;"&gt;// Construct the simple drop down field with change trigger&lt;/span&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;        &lt;span style="color: blue;"&gt;var&lt;/span&gt; tempDDLName = &lt;span style="color: maroon;"&gt;"tempDDLName_"&lt;/span&gt; + columnName;&lt;/li&gt;&lt;li&gt;        &lt;span style="color: blue;"&gt;if&lt;/span&gt; (lookupDDL.Obj.parent().find(&lt;span style="color: maroon;"&gt;"select[ID='"&lt;/span&gt; + tempDDLName + &lt;span style="color: maroon;"&gt;"']"&lt;/span&gt;).length == 0) {&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;          lookupDDL.Obj.parent().append(&lt;span style="color: maroon;"&gt;"&amp;lt;select name='"&lt;/span&gt; + tempDDLName + &lt;span style="color: maroon;"&gt;"' id='"&lt;/span&gt; + tempDDLName + &lt;span style="color: maroon;"&gt;"' title='"&lt;/span&gt; + tempDDLName + &lt;span style="color: maroon;"&gt;"'&amp;gt;&amp;lt;/select&amp;gt;"&lt;/span&gt;);&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;          lookupDDL.Obj.parent().find(&lt;span style="color: maroon;"&gt;"select[ID='"&lt;/span&gt; + tempDDLName + &lt;span style="color: maroon;"&gt;"']"&lt;/span&gt;).bind(&lt;span style="color: maroon;"&gt;"change"&lt;/span&gt;, &lt;span style="color: blue;"&gt;function&lt;/span&gt; () {&lt;/li&gt;&lt;li&gt;            updateOriginalField(columnName, tempDDLName);&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;          });&lt;/li&gt;&lt;li&gt;        }&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;        &lt;span style="color: darkgreen;"&gt;// Get all the options&lt;/span&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;        &lt;span style="color: blue;"&gt;var&lt;/span&gt; splittedChoices = lookupDDL.Obj.attr(&lt;span style="color: maroon;"&gt;'choices'&lt;/span&gt;).split(&lt;span style="color: maroon;"&gt;"|"&lt;/span&gt;);&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;        &lt;span style="color: darkgreen;"&gt;// get selected value&lt;/span&gt;&lt;/li&gt;&lt;li&gt;        &lt;span style="color: blue;"&gt;var&lt;/span&gt; hiddenVal = $(&lt;span style="color: maroon;"&gt;'input[name='&lt;/span&gt; + lookupDDL.Obj.attr(&lt;span style="color: maroon;"&gt;"optHid"&lt;/span&gt;) + &lt;span style="color: maroon;"&gt;']'&lt;/span&gt;).val()&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;        &lt;span style="color: blue;"&gt;if&lt;/span&gt; (hiddenVal == &lt;span style="color: maroon;"&gt;"0"&lt;/span&gt;) {&lt;/li&gt;&lt;li&gt;          hiddenVal = lookupDDL.Obj.attr(&lt;span style="color: maroon;"&gt;"value"&lt;/span&gt;)&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;        }&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;        &lt;span style="color: darkgreen;"&gt;// Replacing the drop down object with the simple drop down list&lt;/span&gt;&lt;/li&gt;&lt;li&gt;        lookupDDL = &lt;span style="color: blue;"&gt;new&lt;/span&gt; DropDownList(tempDDLName);&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;        &lt;span style="color: darkgreen;"&gt;// Populate the drop down list&lt;/span&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;        &lt;span style="color: blue;"&gt;for&lt;/span&gt; (&lt;span style="color: blue;"&gt;var&lt;/span&gt; i = 0; i &amp;lt; splittedChoices.length; i++) {&lt;/li&gt;&lt;li&gt;          &lt;span style="color: blue;"&gt;var&lt;/span&gt; optionVal = splittedChoices[i];&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;          i++;&lt;/li&gt;&lt;li&gt;          &lt;span style="color: blue;"&gt;var&lt;/span&gt; optionId = splittedChoices[i];&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;          &lt;span style="color: blue;"&gt;var&lt;/span&gt; selected = (optionId == hiddenVal) ? &lt;span style="color: maroon;"&gt;" selected='selected'"&lt;/span&gt; : &lt;span style="color: maroon;"&gt;""&lt;/span&gt;;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;          lookupDDL.Obj.append(&lt;span style="color: maroon;"&gt;"&amp;lt;option"&lt;/span&gt; + selected + &lt;span style="color: maroon;"&gt;" value='"&lt;/span&gt; + optionId + &lt;span style="color: maroon;"&gt;"'&amp;gt;"&lt;/span&gt; + optionVal + &lt;span style="color: maroon;"&gt;"&amp;lt;/option&amp;gt;"&lt;/span&gt;);&lt;/li&gt;&lt;li&gt;        }&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;      }&lt;/li&gt;&lt;li&gt;    }&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;    &lt;span style="color: darkgreen;"&gt;// method to update the original and hidden field.&lt;/span&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;    &lt;span style="color: blue;"&gt;function&lt;/span&gt; updateOriginalField(child, temp) {&lt;/li&gt;&lt;li&gt;      &lt;span style="color: blue;"&gt;var&lt;/span&gt; childSelect = &lt;span style="color: blue;"&gt;new&lt;/span&gt; DropDownList(child);&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;      &lt;span style="color: blue;"&gt;var&lt;/span&gt; tempSelect = &lt;span style="color: blue;"&gt;new&lt;/span&gt; DropDownList(temp);&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;      &lt;span style="color: darkgreen;"&gt;// Set the text box&lt;/span&gt;&lt;/li&gt;&lt;li&gt;      childSelect.Obj.attr(&lt;span style="color: maroon;"&gt;"value"&lt;/span&gt;, tempSelect.Obj.find(&lt;span style="color: maroon;"&gt;"option:selected"&lt;/span&gt;).val());&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;      &lt;span style="color: darkgreen;"&gt;// Get Hidden ID&lt;/span&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;      &lt;span style="color: blue;"&gt;var&lt;/span&gt; hiddenId = childSelect.Obj.attr(&lt;span style="color: maroon;"&gt;"optHid"&lt;/span&gt;);&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;      &lt;span style="color: darkgreen;"&gt;// Update the hidden variable&lt;/span&gt;&lt;/li&gt;&lt;li&gt;      $(&lt;span style="color: maroon;"&gt;'input[name='&lt;/span&gt; + hiddenId + &lt;span style="color: maroon;"&gt;']'&lt;/span&gt;).val(tempSelect.Obj.find(&lt;span style="color: maroon;"&gt;"option:selected"&lt;/span&gt;).val());&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;    }&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;    &lt;span style="color: darkgreen;"&gt;// just to construct a drop down box object.  Idea token from SPServces&lt;/span&gt;&lt;/li&gt;&lt;li&gt;    &lt;span style="color: blue;"&gt;function&lt;/span&gt; DropDownList(colName) {&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;      &lt;span style="color: darkgreen;"&gt;// Simple - when they are less than 20 items&lt;/span&gt;&lt;/li&gt;&lt;li&gt;      &lt;span style="color: blue;"&gt;if&lt;/span&gt; ((&lt;span style="color: blue;"&gt;this&lt;/span&gt;.Obj = $(&lt;span style="color: maroon;"&gt;"select[Title='"&lt;/span&gt; + colName + &lt;span style="color: maroon;"&gt;"']"&lt;/span&gt;)).html() != &lt;span style="color: blue;"&gt;null&lt;/span&gt;) {&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;        &lt;span style="color: blue;"&gt;this&lt;/span&gt;.Type = &lt;span style="color: maroon;"&gt;"S"&lt;/span&gt;;&lt;/li&gt;&lt;li&gt;        &lt;span style="color: darkgreen;"&gt;// Compound - when they are more than 20 items&lt;/span&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;      } &lt;span style="color: blue;"&gt;else&lt;/span&gt; &lt;span style="color: blue;"&gt;if&lt;/span&gt; ((&lt;span style="color: blue;"&gt;this&lt;/span&gt;.Obj = $(&lt;span style="color: maroon;"&gt;"input[Title='"&lt;/span&gt; + colName + &lt;span style="color: maroon;"&gt;"']"&lt;/span&gt;)).html() != &lt;span style="color: blue;"&gt;null&lt;/span&gt;) {&lt;/li&gt;&lt;li&gt;        &lt;span style="color: blue;"&gt;this&lt;/span&gt;.Type = &lt;span style="color: maroon;"&gt;"C"&lt;/span&gt;;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;        &lt;span style="color: darkgreen;"&gt;// Multi-select: This will find the multi-select column control on English and most other languages sites where the Title looks like 'Column Name possible values'&lt;/span&gt;&lt;/li&gt;&lt;li&gt;      } &lt;span style="color: blue;"&gt;else&lt;/span&gt; &lt;span style="color: blue;"&gt;if&lt;/span&gt; ((&lt;span style="color: blue;"&gt;this&lt;/span&gt;.Obj = $(&lt;span style="color: maroon;"&gt;"select[ID$='SelectCandidate'][Title^='"&lt;/span&gt; + colName + &lt;span style="color: maroon;"&gt;" ']"&lt;/span&gt;)).html() != &lt;span style="color: blue;"&gt;null&lt;/span&gt;) {&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;        &lt;span style="color: blue;"&gt;this&lt;/span&gt;.Type = &lt;span style="color: maroon;"&gt;"M"&lt;/span&gt;;&lt;/li&gt;&lt;li&gt;        &lt;span style="color: darkgreen;"&gt;// Multi-select: This will find the multi-select column control on a Russian site (and perhaps others) where the Title looks like 'Выбранных значений: Column Name'&lt;/span&gt;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;      } &lt;span style="color: blue;"&gt;else&lt;/span&gt; &lt;span style="color: blue;"&gt;if&lt;/span&gt; ((&lt;span style="color: blue;"&gt;this&lt;/span&gt;.Obj = $(&lt;span style="color: maroon;"&gt;"select[ID$='SelectCandidate'][Title$=': "&lt;/span&gt; + colName + &lt;span style="color: maroon;"&gt;"']"&lt;/span&gt;)).html() != &lt;span style="color: blue;"&gt;null&lt;/span&gt;) {&lt;/li&gt;&lt;li&gt;        &lt;span style="color: blue;"&gt;this&lt;/span&gt;.Type = &lt;span style="color: maroon;"&gt;"M"&lt;/span&gt;;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;      } &lt;span style="color: blue;"&gt;else&lt;/span&gt;&lt;/li&gt;&lt;li&gt;        &lt;span style="color: blue;"&gt;this&lt;/span&gt;.Type = &lt;span style="color: blue;"&gt;null&lt;/span&gt;;&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;    } &lt;span style="color: darkgreen;"&gt;// End of function dropdownCtl&lt;/span&gt;&lt;/li&gt;&lt;li&gt;  });&lt;/li&gt;&lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;The script will then turn the complex drop down list (if it has more than 20 items) to the simple drop down list:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_Z7jRJouC2-U/TMEbICWYexI/AAAAAAAAAIM/AJMP0z-7j0U/s1600/SimpleDropDownList.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5530731642271333138" src="http://4.bp.blogspot.com/_Z7jRJouC2-U/TMEbICWYexI/AAAAAAAAAIM/AJMP0z-7j0U/s400/SimpleDropDownList.jpg" style="cursor: pointer; height: 400px; width: 396px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Originally I extended the &lt;a href="http://spservices.codeplex.com/"&gt;SPServices JQuery Library&lt;/a&gt; to fix the drop down issue. So you may find that my scripts contains little portion of the library. I have integrated the above solution with the Cascading Drop Down list function provided by the SPServices library. Let me know if you want to obtain the extended script.&lt;br /&gt;Update:&lt;br /&gt;Since there are request for the Extended SPServices, I have make it available for download.  You can download it from &lt;a href="https://sites.google.com/site/eggghost/Home/jquery.SPServices-0.5.7.txt"&gt;here&lt;/a&gt;.  (Please rename the extension from .txt to .js)&lt;br /&gt;Few notes before you use this:&lt;br /&gt;&lt;br /&gt;1. This extended version is based of SPServices version 0.5.7&lt;br /&gt;&lt;br /&gt;2. I have extended SPCascadeDropDowns and called the new function SPCascadeDropDownsEx&lt;br /&gt;&lt;br /&gt;3. The original SPServices expects you to have the parent-child list in the following format:&lt;br /&gt;Parent1 - Child1a&lt;br /&gt;Parent1 - Child1b&lt;br /&gt;Parent1 - Child1c&lt;br /&gt;Parent2 - Child2a&lt;br /&gt;Parent3 - Child3a&lt;br /&gt;Parent3 - Child3b&lt;br /&gt;&lt;br /&gt;However I have changed this so that it works with a child list and a parent list.  For example, I have a child list with list item Child1a, Child1b, Child1c, Child2a, Child3a, Child3b.  And then I create a parent list with a multi-valued lookup child colume like this:&lt;br /&gt;&lt;br /&gt;Parent1 - Child1a, Child1b, Child1c&lt;br /&gt;Parent2 - Child2a&lt;br /&gt;Parent3 - Child3a, Child3b&lt;br /&gt;&lt;br /&gt;(Sorry for the rough explanation, I will include screenshots when I have the system around)&lt;br /&gt;&lt;br /&gt;And this is how I invoked the function:&lt;br /&gt;&lt;pre&gt;// Enable Cascading Drop down for Department&lt;br /&gt;$().SPServices.SPCascadeDropdownsEx({&lt;br /&gt;relationshipList: "Department",&lt;br /&gt;relationshipListParentColumn: "Title",&lt;br /&gt;relationshipListChildColumn: "AreaOfImpact",&lt;br /&gt;parentColumn: "Department",&lt;br /&gt;childColumn: "Area Of Impact",&lt;br /&gt;relationshipListType: "LookupMultiValue",&lt;br /&gt;promptText: "--- Please select ---",&lt;br /&gt;debug: false&lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;So in the above script:&lt;br /&gt;- relationshipList is the parent list&lt;br /&gt;- relationshipListParentColumn is the name of the parent column in the parent list&lt;br /&gt;- relationshipListChildColumn is the name of the childLookup column in the parent list&lt;br /&gt;- parentColumn is the display name of the parent drop down list&lt;br /&gt;- childColumn is the display name of the child drop down list&lt;br /&gt;- relationshipListType is the type of the relationshipListChildColumn in the parent list&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-4924918537334222993?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/4924918537334222993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=4924918537334222993' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/4924918537334222993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/4924918537334222993'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2010/10/fixing-sharepoint-2010-lookup-drop-down.html' title='Fixing SharePoint 2010 Lookup Drop Down 20 Items Limit'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Z7jRJouC2-U/TMEZ5HScn4I/AAAAAAAAAIE/eNV9CXcUQdo/s72-c/DropDownComparsion.jpg' height='72' width='72'/><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-83800488667218674</id><published>2010-10-28T14:44:00.002+11:00</published><updated>2010-10-28T14:45:12.062+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Disable Social Feature'/><title type='text'>Disable MySite and Tagging in SharePoint 2010</title><content type='html'>&lt;p&gt;SharePoint 2010 provides some cool social features like social tag, note board, and ratings which nicely integrated with MySite.  However there might be chance that you don’t want to roll out these features, due to various reasons like change management, training, and governance.  &lt;/p&gt; &lt;p&gt;You can disable these features in your server farm and enable them when you are ready.  Here are the instructions to disable the features.  &lt;/p&gt; &lt;ol&gt; &lt;li&gt;Logon to Central Administration web site, go to the &lt;strong&gt;Application Management&lt;/strong&gt; section, and click &lt;strong&gt;Manage service applications&lt;/strong&gt;.&lt;/li&gt; &lt;li&gt;Click the user profile service application item in your farm (by default, it is “&lt;strong&gt;User Profile Service Application&lt;/strong&gt;”)&lt;/li&gt; &lt;li&gt;Click “&lt;strong&gt;Manage User Permissions&lt;/strong&gt;” under &lt;strong&gt;People&lt;/strong&gt;.  &lt;/li&gt; &lt;li&gt;In the “Permissions for User Profile Service Application” pop up, select a user group, e.g. All authenticated Users.&lt;/li&gt; &lt;li&gt;Uncheck the “Permissions” item, base on what you want to disable.  For your information&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Use Personal Features – My Links, My Colleagues, Personalization.  &lt;/li&gt; &lt;li&gt;Create Personal Site – My Site&lt;/li&gt; &lt;li&gt;Use Social Features – Tagging, Note Board, and Ratings&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Click &lt;strong&gt;OK&lt;/strong&gt; to save the settings.  &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_Z7jRJouC2-U/TMjxeJR95rI/AAAAAAAAAIk/i7Uz-dYZW5A/s1600-h/ManageUserPermissions%5B3%5D.jpg"&gt;&lt;img style="border: 0px none; display: block; float: none; margin-left: auto; margin-right: auto;" title="ManageUserPermissions" alt="ManageUserPermissions" src="http://lh5.ggpht.com/_Z7jRJouC2-U/TMjxfAjc1bI/AAAAAAAAAIo/qM92ttx88RY/ManageUserPermissions_thumb%5B1%5D.jpg?imgmax=800" border="0" height="313" width="353" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Please note, unselect Social Features does not remove the “Tags and Notes” group from the ribbon.  It will still show up on the page but it will grey out.  &lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_Z7jRJouC2-U/TMjxgHmK7wI/AAAAAAAAAIs/6BNO5FBKVeA/s1600-h/Grey_Out_Tags_and_Notes%5B2%5D.jpg"&gt;&lt;img style="border: 0px none; display: block; float: none; margin-left: auto; margin-right: auto;" title="Grey_Out_Tags_and_Notes" alt="Grey_Out_Tags_and_Notes" src="http://lh6.ggpht.com/_Z7jRJouC2-U/TMjxgnl7_cI/AAAAAAAAAIw/NcTV9IF_Ct8/Grey_Out_Tags_and_Notes_thumb.jpg?imgmax=800" border="0" height="191" width="244" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;To hide the “Tags and Notes” from your site, there’s actually a farm feature that you need to disable.  To disable this feature:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Logon to Central Administration web site, go to the &lt;strong&gt;System Settings&lt;/strong&gt; section, and click &lt;strong&gt;Manage farm features&lt;/strong&gt;.&lt;/li&gt; &lt;li&gt;There is a feature called “&lt;strong&gt;Social Tags and Note Board Ribbon Controls&lt;/strong&gt;”.  Deactivate it to hide the “Tags and Notes” group from the ribbon.  &lt;/li&gt; &lt;li&gt;Now go to your site and the “Tags and Notes” should be removed from the Ribbon.  &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_Z7jRJouC2-U/TMjxhoDZS7I/AAAAAAAAAI0/-EsxIV3ER9Y/s1600-h/SocialTagsFeature%5B3%5D.jpg"&gt;&lt;img style="border: 0px none; display: block; float: none; margin-left: auto; margin-right: auto;" title="SocialTagsFeature" alt="SocialTagsFeature" src="http://lh6.ggpht.com/_Z7jRJouC2-U/TMjxiOadm2I/AAAAAAAAAI4/RMdOpRwuGCQ/SocialTagsFeature_thumb%5B1%5D.jpg?imgmax=800" border="0" height="183" width="453" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-83800488667218674?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/83800488667218674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=83800488667218674' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/83800488667218674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/83800488667218674'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2010/10/disable-mysite-and-tagging-in.html' title='Disable MySite and Tagging in SharePoint 2010'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_Z7jRJouC2-U/TMjxfAjc1bI/AAAAAAAAAIo/qM92ttx88RY/s72-c/ManageUserPermissions_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-8866814245337900117</id><published>2010-10-26T17:08:00.002+11:00</published><updated>2010-10-26T17:09:47.956+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Managed Metadata'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Creating Term Set in SharePoint 2010 Programmatically</title><content type='html'>Managed Metadata is a very nice feature introduced in SharePoint 2010.  It allows you to define terms in a hierarchical collection centrally, and create a managed metadata field that is reference a term sets.   &lt;p&gt;By using the Term Store Management Tool found in Managed Metadata Service, you can create a term set either manually, or by importing a CSV file.  You can also create a term set programmatically, either by a feature receiver or a console application.  You may ask “Why do I want to provision a term set programmatically?”.  Well, by creating the term set programmatically, you are able to define a fixed ID/GUID for you term set or term, and this becomes handy if you want to provision a managed metadata field in a feature (&lt;a href="https://blogs.blackmarble.co.uk/blogs/iangus/archive/2010/08/24/declaratively-provision-managed-metadata-column-in-sharepoint-2010.aspx" target="_blank"&gt;Angus&lt;/a&gt; has created an excellent article on how to do this).  &lt;/p&gt; &lt;p&gt;First, you will need to add a reference to “Microsoft.SharePoint.Taxonomy.dll”, which should not be too hard to find in Visual Studio 2010.  Next, an obviously, you will need to put the following line:&lt;/p&gt; &lt;div style="padding: 0px; margin: 0px; display: inline; float: none;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:597f71ab-434f-471a-b2a2-7917a8fd132f" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: 1px solid rgb(0, 0, 128); color: rgb(0, 0, 0); font-family: 'Courier New',Courier,Monospace; font-size: 10pt;"&gt; &lt;div style="background: none repeat scroll 0% 0% rgb(0, 0, 128); color: rgb(255, 255, 255); font-family: Verdana,Tahoma,Arial,sans-serif; font-weight: bold; padding: 2px 5px;"&gt;Code Snippet&lt;/div&gt; &lt;div style="background: none repeat scroll 0% 0% rgb(221, 221, 221); max-height: 300px; overflow: auto;"&gt; &lt;ol style="background: none repeat scroll 0% 0% rgb(255, 255, 255); margin: 0pt 0pt 0pt 2em; padding: 0pt 0pt 0pt 5px;"&gt; &lt;li&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; Microsoft.SharePoint.Taxonomy;&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt;And here is the code:&lt;/p&gt; &lt;div style="padding: 0px; margin: 0px; display: inline; float: none;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:87f40c19-4aed-44d5-831e-1908e2894acb" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: 1px solid rgb(0, 0, 128); color: rgb(0, 0, 0); font-family: 'Courier New',Courier,Monospace; font-size: 10pt;"&gt; &lt;div style="background: none repeat scroll 0% 0% rgb(0, 0, 128); color: rgb(255, 255, 255); font-family: Verdana,Tahoma,Arial,sans-serif; font-weight: bold; padding: 2px 5px;"&gt;Code Snippet&lt;/div&gt; &lt;div style="background: none repeat scroll 0% 0% rgb(221, 221, 221); max-height: 500px; overflow: auto;"&gt; &lt;ol style="background: none repeat scroll 0% 0% rgb(255, 255, 255); margin: 0pt 0pt 0pt 2.5em; padding: 0pt 0pt 0pt 5px;"&gt; &lt;li&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; siteUrl = &lt;span style="color: rgb(163, 21, 21);"&gt;"http://sharepoint2010"&lt;/span&gt;;&lt;/li&gt; &lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Guid&lt;/span&gt; newTermSetId = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Guid&lt;/span&gt;(&lt;span style="color: rgb(163, 21, 21);"&gt;"{60F494A0-C31C-4D7C-9C9B-D8AF3191F3D5}"&lt;/span&gt;);&lt;/li&gt; &lt;li&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Guid&lt;/span&gt; newTermId = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Guid&lt;/span&gt;(&lt;span style="color: rgb(163, 21, 21);"&gt;"{E39C3477-500E-4EB0-9891-0785F840DF53}"&lt;/span&gt;);&lt;/li&gt; &lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt; &lt;/li&gt; &lt;li&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (&lt;span style="color: rgb(43, 145, 175);"&gt;SPSite&lt;/span&gt; site = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;SPSite&lt;/span&gt;(siteUrl))&lt;/li&gt; &lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;{&lt;/li&gt; &lt;li&gt;    &lt;span style="color: rgb(43, 145, 175);"&gt;TaxonomySession&lt;/span&gt; session = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;TaxonomySession&lt;/span&gt;(site);&lt;/li&gt; &lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt; &lt;/li&gt; &lt;li&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (session.TermStores.Count &amp;gt; 0)&lt;/li&gt; &lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;    {&lt;/li&gt; &lt;li&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// Get a reference to the store&lt;/span&gt;&lt;/li&gt; &lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;        &lt;span style="color: rgb(43, 145, 175);"&gt;TermStore&lt;/span&gt; store = session.TermStores[&lt;span style="color: rgb(163, 21, 21);"&gt;"Managed Metadata Service"&lt;/span&gt;];&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// Create a group &lt;/span&gt;&lt;/li&gt; &lt;li&gt;        &lt;span style="color: rgb(43, 145, 175);"&gt;Group&lt;/span&gt; group = store.CreateGroup(&lt;span style="color: rgb(163, 21, 21);"&gt;"SharePointEgg.Test"&lt;/span&gt;);&lt;/li&gt; &lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt; &lt;/li&gt; &lt;li&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// Create a term set in the group, with a pre-defined ID&lt;/span&gt;&lt;/li&gt; &lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;        &lt;span style="color: rgb(43, 145, 175);"&gt;TermSet&lt;/span&gt; termSet = group.CreateTermSet(&lt;span style="color: rgb(163, 21, 21);"&gt;"Term Set Test"&lt;/span&gt;, newTermSetId, 1033);&lt;/li&gt; &lt;li&gt; &lt;/li&gt; &lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// Create a term in the term set in the newly created term set, with a pre-defined ID&lt;/span&gt;&lt;/li&gt; &lt;li&gt;        &lt;span style="color: rgb(43, 145, 175);"&gt;Term&lt;/span&gt; term = termSet.CreateTerm(&lt;span style="color: rgb(163, 21, 21);"&gt;"Term 01"&lt;/span&gt;, 1033, newTermId);&lt;/li&gt; &lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt; &lt;/li&gt; &lt;li&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// Save everything by calling CommitAll&lt;/span&gt;&lt;/li&gt; &lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;        store.CommitAll();&lt;/li&gt; &lt;li&gt;    }&lt;/li&gt; &lt;li style="background: none repeat scroll 0% 0% rgb(243, 243, 243);"&gt;}&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt; &lt;/p&gt;&lt;p&gt;And here is the end result:&lt;/p&gt; &lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_Z7jRJouC2-U/TMZwgwkg22I/AAAAAAAAAIU/58Z1tSbUe-s/s1600/Creation_Programmatically.jpg"&gt;&lt;img style="cursor: pointer; width: 585px; height: 372px;" src="http://4.bp.blogspot.com/_Z7jRJouC2-U/TMZwgwkg22I/AAAAAAAAAIU/58Z1tSbUe-s/s400/Creation_Programmatically.jpg" alt="" id="BLOGGER_PHOTO_ID_5532232900367407970" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-8866814245337900117?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/8866814245337900117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=8866814245337900117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/8866814245337900117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/8866814245337900117'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2010/10/creating-term-set-in-sharepoint-2010.html' title='Creating Term Set in SharePoint 2010 Programmatically'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Z7jRJouC2-U/TMZwgwkg22I/AAAAAAAAAIU/58Z1tSbUe-s/s72-c/Creation_Programmatically.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-6079407720591124360</id><published>2010-02-03T15:14:00.002+11:00</published><updated>2010-02-03T15:21:15.496+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ribbon'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Remove button from the Ribbon in SharePoint 2010</title><content type='html'>In SharePoint 2007, I have quite a few requests from different client to remove button from the document list view, such as the “Edit in Datasheet” and “Open with Windows Explorer” button. I was able to solve the problem by writing a Javascript to hide the button.   &lt;p&gt;Ribbon is introduced in SharePoint 2010. We can easily make customization it by using the Feature Infrastructure. For example, we can create a new button, delete an existing button, as well as replacing an existing button. Hence I can easily get around with the problem that I had in SharePoint 2007. &lt;/p&gt;  &lt;p&gt;In order to hide a button, say the “Open with Explorer”, we will need to create a feature. We start by creating a new folder called “DisableRibbonButton”. Create a new file called “feature.xml” in the new folder and insert the following XML into the file&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:8c62336e-3dbb-4b3a-9386-17e944f4e269" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px; white-space: nowrap"&gt;&lt;span style="color:#0000ff"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#a31515"&gt;xml&lt;/span&gt;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;version&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;1.0&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;encoding&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;utf-8&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt; ?&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;Feature&lt;/span&gt;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;Id&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;33057CD9-6D14-45c9-83ED-5E1FE066AC92&lt;/span&gt;&amp;quot;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff0000"&gt;Title&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;DisableRibbonButton&lt;/span&gt;&amp;quot;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff0000"&gt;Description&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;DisableRibbonButton&lt;/span&gt;&amp;quot;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff0000"&gt;Version&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;1.0.0.0&lt;/span&gt;&amp;quot;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff0000"&gt;Scope&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;Web&lt;/span&gt;&amp;quot;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;http://schemas.microsoft.com/sharepoint/&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;ElementManifests&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;ElementManifest&lt;/span&gt;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;Location&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;Manifest.xml&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt; /&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;ElementManifests&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;Feature&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Then create another file called “Manifest.xml” and insert the following XML:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:5529859f-9eef-4b10-b35a-8e5a06644825" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px; white-space: nowrap"&gt;&lt;span style="color:#0000ff"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#a31515"&gt;xml&lt;/span&gt;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;version&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;1.0&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;encoding&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;utf-8&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;?&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;Elements&lt;/span&gt;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;http://schemas.microsoft.com/sharepoint/&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;CustomAction&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff0000"&gt;Id&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;RemoveExplorerButton&lt;/span&gt;&amp;quot;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff0000"&gt;Location&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;CommandUI.Ribbon&lt;/span&gt;&amp;quot;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff0000"&gt;RegistrationType&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;List&lt;/span&gt;&amp;quot;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff0000"&gt;RegistrationId&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;101&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;CommandUIExtension&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;CommandUIDefinitions&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;CommandUIDefinition&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff0000"&gt;Location&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;Ribbon.Library.Actions.OpenWithExplorer&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt; /&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;CommandUIDefinitions&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;CommandUIExtension&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;CustomAction&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;Elements&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;The above XML is to remove the “Open with Explorer” button from the Ribbon for all list with type ID 101, hence all the Document Library type. The location “Ribbon.Library.Actions.OpenWithExplorer” is the ID that is registered in the default Ribbon button XML, which can be found in C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\GLOBAL\XML\CMDUI.XML”&lt;/p&gt;  &lt;p&gt;Now we will execute the following Cmdlet using the “SharePoint 2010 Management Shell” to install and active the feature:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Install-SPFeature DisableRibbonButton&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Enable-SPFeature DisableRibbonButton –url http://&amp;lt;servername&amp;gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;After that, go to any document library in your site, click the “Library” tab at the top and you should see the “Open with Explorer” button is now disappeared from the Ribbon.   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Z7jRJouC2-U/S2j4zOHjS9I/AAAAAAAAAHA/ZAzaSbnEsLk/s1600-h/Ribbon.JPG"&gt;&lt;img style="width: 400px; height: 175px; cursor: pointer" id="BLOGGER_PHOTO_ID_5433866509269289938" border="0" alt="" src="http://2.bp.blogspot.com/_Z7jRJouC2-U/S2j4zOHjS9I/AAAAAAAAAHA/ZAzaSbnEsLk/s400/Ribbon.JPG" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-6079407720591124360?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/6079407720591124360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=6079407720591124360' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/6079407720591124360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/6079407720591124360'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2010/02/remove-button-from-ribbon-in-sharepoint.html' title='Remove button from the Ribbon in SharePoint 2010'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Z7jRJouC2-U/S2j4zOHjS9I/AAAAAAAAAHA/ZAzaSbnEsLk/s72-c/Ribbon.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-5479048898540606606</id><published>2010-01-08T12:10:00.003+11:00</published><updated>2010-01-08T12:12:33.742+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><title type='text'>Notes on Installing SharePoint 2010 Beta 2 on Windows 7 Ultimate</title><content type='html'>&lt;p&gt;I have just bought a new Sony VAIO laptop for SharePoint 2010 development. It has Windows 7 Ultimate on it and obviously it is 64 bit. Even though there were some problems with the SharePoint 2010 Beta 2 installation, but fortunately I am able to get SharePoint 2010 Beta 2 running on my laptop now without any problem. &lt;/p&gt;  &lt;p&gt;I am going to list out the installation steps in this post, as there are lots of article around about the installation steps already. Instead I will list out the problem that I had and how I got around them. &lt;/p&gt;  &lt;p&gt;I followed the MSDN article “&lt;a href="http://msdn.microsoft.com/en-us/library/ee554869%28office.14%29.aspx" target="_blank"&gt;Setting Up the Development Environment for SharePoint Server&lt;/a&gt;” to prepare the installation and most of the things work fine. &lt;/p&gt;  &lt;p&gt;For your information, here are the detail of my development environment:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Windows 7 Ultimate – 64 bit, with 6GB RAM &lt;/li&gt;    &lt;li&gt;SQL Server 2008 Standard Edison – with SP1 and latest cumulative updates &lt;/li&gt;    &lt;li&gt;SharePoint 2010 Beta 2 &lt;/li&gt;    &lt;li&gt;Visual Studio 2010 Ultimate Beta 2 &lt;/li&gt;    &lt;li&gt;Office 2010 Beta &lt;/li&gt;    &lt;li&gt;No Active Directory &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Here are the problems that I had when I setup my SharePoint 2010 development environment. &lt;/p&gt;  &lt;h5&gt;&lt;span style="color: rgb(0, 128, 255);"&gt;1. SQL 2008 Install Error: Invoke or BeginInvoke cannot be called on a control&lt;/span&gt;&lt;/h5&gt;  &lt;p&gt;When I run the SQL Server 2008 installation wizard, I got the error message “&lt;strong&gt;Invoke or BeginInvoke cannot be called on a control&lt;/strong&gt;”. After a bit of research, I found the solution mentioned in this &lt;a href="http://www.sqlservercentral.com/Forums/Topic813885-391-1.aspx" target="_blank"&gt;post&lt;/a&gt; works. All you need to do is minimize all other windows when the installer is running, and make sure the SQL 2008 installer windows is always active by clicking the installer dialog.&lt;/p&gt;  &lt;p&gt;Well, this is a weird problem…&lt;/p&gt;  &lt;h5&gt;&lt;span style="color: rgb(0, 128, 255);"&gt;2.) Cannot Create New Web Application and Running the Configuration Wizard in Central Admin&lt;/span&gt;&lt;/h5&gt;  &lt;p&gt;This one is easy, just turn off User Access Control and you will be fine. &lt;/p&gt;  &lt;h5&gt;&lt;span style="color: rgb(0, 128, 255);"&gt;3.) Visual Studio 2010 Install Error: VC 10.0 Runtime (x86)&lt;/span&gt;&lt;/h5&gt;  &lt;p&gt;I was trying to install Visual Studio 2010 Beta 2 using the ISO file that I downloaded from MSDN. However I was getting an error when the installer try to install the “VC 10.0 Runtime (x86)” component. &lt;/p&gt;  &lt;p&gt;After Google for a while, I found this &lt;a href="http://www.shailen.sukul.org/2009/11/visual-studio-2010-beta-2-installation.html" target="_blank"&gt;post&lt;/a&gt; suggesting using the web installer will fix the problem. I have tried this and it works fine for me. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-5479048898540606606?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/5479048898540606606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=5479048898540606606' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/5479048898540606606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/5479048898540606606'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2010/01/notes-on-installing-sharepoint-2010.html' title='Notes on Installing SharePoint 2010 Beta 2 on Windows 7 Ultimate'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-2000745160253091035</id><published>2009-11-24T15:00:00.002+11:00</published><updated>2009-11-24T17:17:16.447+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Service Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Create Custom Service Application in SharePoint 2010 – Part 3</title><content type='html'>&lt;div style="text-align: left;"&gt; &lt;ul&gt;   &lt;li&gt;&lt;a href="http://sharepointegg.blogspot.com/2009/11/create-custom-service-application-in.html"&gt;Create Custom Service Application in SharePoint 2010 – Part 1&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://sharepointegg.blogspot.com/2009/11/create-custom-service-application-in_24.html"&gt;Create Custom Service Application in SharePoint 2010 – Part 2&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Create Custom Service Application in SharePoint 2010 – Part 3 &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Creating Service Administration Pages &lt;/h5&gt;  &lt;p&gt;We will need to create two administration pages for our Hello service application. One will be used for service application instance creation, and the other one for managing existing application instance. As a reference we will use the pages for Excel Service, which can be located in the ADMIN folder (C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\ADMIN). &lt;/p&gt;  &lt;p&gt;First we will create a mapped folder to the ADMIN folder and this is the folder where the administration pages will deploy. To do this, right click the HelloServiceApplication &amp;gt; Add &amp;gt; SharePoint Mapped Folder..., then expand the “TEMPLATE” node and select the “ADMIN” folder. A new ADMIN folder “HelloServiceApplication” will be added to the project. &lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Z7jRJouC2-U/SwtvfBN6GxI/AAAAAAAAAGc/JfjSL3cVYRM/s1600/04+-+AdminMappedFolder.jpg"&gt;&lt;img style="width: 320px; height: 244px; cursor: pointer" id="BLOGGER_PHOTO_ID_5407538356281809682" border="0" alt="" src="http://4.bp.blogspot.com/_Z7jRJouC2-U/SwtvfBN6GxI/AAAAAAAAAGc/JfjSL3cVYRM/s320/04+-+AdminMappedFolder.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We will first create the service creation page. Right click the newly created “HelloServiceApplication” folder under “ADMIN” and add a new item. Select the “Application Page” template and give the page a name “CreateApplication.aspx”&lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Z7jRJouC2-U/Swtse3nerUI/AAAAAAAAAFk/KuUMjXJDwfk/s1600/05+-+CreateApplicationAspx.jpg"&gt;&lt;img style="width: 320px; height: 182px; cursor: pointer" id="BLOGGER_PHOTO_ID_5407535055169826114" border="0" alt="" src="http://3.bp.blogspot.com/_Z7jRJouC2-U/Swtse3nerUI/AAAAAAAAAFk/KuUMjXJDwfk/s320/05+-+CreateApplicationAspx.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I am using Visual Studio 2010 Beta 2 and notice a funny thing. VS2010 will create the CreateApplication.aspx in “Layouts/HelloServiceAplication”. If you have this problem, just drag the aspx file to ADMIN\HelloServiceApplication, as this is the location where we referencing in out Service Application implementation (HelloService.cs). &lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Z7jRJouC2-U/SwtsejE6NcI/AAAAAAAAAFc/R-1K9Oiqx_s/s1600/06+-+CreateApplicationAspxMoved.jpg"&gt;&lt;img style="width: 304px; height: 320px; cursor: pointer" id="BLOGGER_PHOTO_ID_5407535049656120770" border="0" alt="" src="http://2.bp.blogspot.com/_Z7jRJouC2-U/SwtsejE6NcI/AAAAAAAAAFc/R-1K9Oiqx_s/s320/06+-+CreateApplicationAspxMoved.jpg" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;span class="fullpost"&gt; &lt;p&gt;Put the following code in the aspx file:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:e5e280b8-283c-4668-9fa2-e38fa814df3e" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px; white-space: nowrap"&gt;&lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Assembly&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;$SharePoint.Project.AssemblyFullName$&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Import&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Namespace&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint.ApplicationPages&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;SharePoint&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Namespace&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint.WebControls&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Assembly&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Utilities&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Namespace&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint.Utilities&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Assembly&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;asp&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Namespace&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;System.Web.UI&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Assembly&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Import&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Namespace&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Assembly&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Tagprefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssawc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Namespace&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint.WebControls&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Assembly&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Page&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Language&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;C#&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;AutoEventWireup&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;CodeBehind&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;CreateApplication.aspx.cs&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Inherits&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;SharePointEgg.Layouts.HelloServiceApplication.CreateApplication&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;MasterPageFile&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;~/_layouts/dialog.master&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Assembly&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.Office.Excel.Server.MossHost, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot;&lt;/span&gt;&lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Assembly&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot;&lt;/span&gt;&lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;LinksTable&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/LinksTable.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;InputFormSection&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/InputFormSection.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;InputFormControl&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/InputFormControl.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;LinkSection&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/LinkSection.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;ButtonSection&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/ButtonSection.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;ActionBar&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/ActionBar.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;ToolBar&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/ToolBar.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;ToolBarButton&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/ToolBarButton.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Welcome&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/Welcome.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;IisWebServiceApplicationPoolSection&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;~/_admin/IisWebServiceApplicationPoolSection.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Content&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Content1&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;contentplaceholderid&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;PlaceHolderDialogHeaderPageTitle&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Literal&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;CreateASAppTitle&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Text&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Create New Hello Service Application&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;/&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Content&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Content&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Content2&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;contentplaceholderid&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;PlaceHolderDialogDescription&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Literal&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;CreateASAppDesc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Text&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Specify the name, application pool, and default for this Application.&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;/&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Content&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Content&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Content3&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ContentPlaceHolderId&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;PlaceHolderDialogBodyMainSection&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;TABLE&lt;/span&gt; &lt;span style="color:#ff0000"&gt;border&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;cellspacing&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;cellpadding&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;width&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;100%&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;class&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;ms-authoringcontrols&amp;quot;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;wssuc&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;InputFormSection&lt;/span&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;&lt;span style="color:#ff0000"&gt;Title&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;$&lt;/span&gt;Resources:xlsrv, ManagementUI_ServiceAppNameLabel&lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;quot;&lt;/span&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;&lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&amp;gt;&lt;/span&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;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;Template_InputFormControls&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&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;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;wssuc&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;InputFormControl&lt;/span&gt; &lt;span style="color:#ff0000"&gt;LabelText&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;LabelAssociatedControlID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;TextBoxAppName&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&amp;gt;&lt;/span&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;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;Template_control&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;wssawc&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;InputFormTextBox&lt;/span&gt; &lt;span style="color:#ff0000"&gt;title&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;$&lt;/span&gt;Resources:xlsrv, ManagementUI_ServiceAppNameLabel&lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;class&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;ms-input&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;TextBoxAppName&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Columns&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;35&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;MaxLength&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=256&lt;/span&gt; &lt;span style="color:#0000ff"&gt;/&amp;gt;&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;wssawc&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;InputFormRequiredFieldValidator&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;AppNameValidator&amp;quot;&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#ff0000"&gt;ControlToValidate&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;TextBoxAppName&amp;quot;&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#ff0000"&gt;ErrorMessage&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;$&lt;/span&gt;Resources:xlsrv, ManagementUI_RequiredFieldErrorMessage&lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;quot;&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#ff0000"&gt;width&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;#39;300px&amp;#39;&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#ff0000"&gt;Runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;/&amp;gt;&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;wssawc&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;InputFormCustomValidator&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;UniqueNameValidator&amp;quot;&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#ff0000"&gt;ControlToValidate&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;TextBoxAppName&amp;quot;&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#ff0000"&gt;ErrorMessage&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;$&lt;/span&gt;Resources:xlsrv, ManagementUI_DuplicateNameErrorMessage&lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;quot;&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#ff0000"&gt;OnServerValidate&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;ValidateUniqueName&amp;quot;&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;/&amp;gt;&lt;/span&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;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;Template_control&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&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;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;wssuc&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;InputFormControl&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&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;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;Template_InputFormControls&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;wssuc&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;InputFormSection&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;wssuc&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;IisWebServiceApplicationPoolSection&lt;/span&gt; &lt;span style="color:#ff0000"&gt;id&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;AppPoolSection&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;wssuc&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;InputFormSection&lt;/span&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;&lt;span style="color:#ff0000"&gt;Title&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;$&lt;/span&gt;Resources:xlsrv, ManagementUI_DefaultLabel&lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;quot;&lt;/span&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;&lt;span style="color:#ff0000"&gt;Description&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;$&lt;/span&gt;Resources:xlsrv, ManagementUI_DefaultDescription&lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;quot;&lt;/span&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;&lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&amp;gt;&lt;/span&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;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;Template_InputFormControls&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&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;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;wssuc&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;InputFormControl&lt;/span&gt; &lt;span style="color:#ff0000"&gt;LabelText&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;LabelAssociatedControlID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;CheckBoxDefault&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&amp;gt;&lt;/span&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;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;Template_control&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;CheckBox&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Checked&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;True&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;CheckBoxDefault&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Text&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;$&lt;/span&gt;Resources:xlsrv, ManagementUI_DefaultCheckboxDescription&lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;/&amp;gt;&lt;/span&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;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;Template_control&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&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;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;wssuc&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;InputFormControl&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&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;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;Template_InputFormControls&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;wssuc&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;InputFormSection&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;SharePoint&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;FormDigest&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;FormDigest1&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=server/&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Content&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Put enter the following for the code behind:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:cc8df018-8cb6-4bf1-b72f-c2df3fd5a002" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px; white-space: nowrap"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Web;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Web.UI;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Web.UI.WebControls;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint.WebControls;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint.Administration;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.Office.Server.Internal.UI;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;namespace&lt;/span&gt; SharePointEgg.Layouts.HelloServiceApplication&lt;br&gt; {&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;partial&lt;/span&gt; &lt;span style="color:#0000ff"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;CreateApplication&lt;/span&gt; : &lt;span style="color:#2b91af"&gt;GlobalAdminPageBase&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;// Fields&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#2b91af"&gt;RequiredFieldValidator&lt;/span&gt; AppNameValidator;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#2b91af"&gt;IisWebServiceApplicationPoolSection&lt;/span&gt; AppPoolSection;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Button&lt;/span&gt; ButtonOk;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#2b91af"&gt;CheckBox&lt;/span&gt; CheckBoxDefault;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#2b91af"&gt;TextBox&lt;/span&gt; TextBoxAppName;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#2b91af"&gt;CustomValidator&lt;/span&gt; UniqueNameValidator;&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;// Methods&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; OkButton_Click(&lt;span style="color:#0000ff"&gt;object&lt;/span&gt; sender, &lt;span style="color:#2b91af"&gt;EventArgs&lt;/span&gt; e)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#008000"&gt;//ULS.SendTraceTag(0x39766663, UlsInformation.Management, ULSTraceLevel.Verbose, &amp;quot;ExcelServerCreateApplication.ButtonNext_Click: Entering ButtonNext_Click...&amp;quot;);&lt;/span&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;&lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.Page.Validate();&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (&lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.Page.IsValid)&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;{&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;&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; applicationName = &lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.TextBoxAppName.Text.Trim();&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;&lt;span style="color:#2b91af"&gt;SPLongOperation&lt;/span&gt;.Begin(&lt;span style="color:#0000ff"&gt;delegate&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;SPLongOperation&lt;/span&gt; longOperation)&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;{&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;&lt;span style="color:#0000ff"&gt;try&lt;/span&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;#160;&amp;#160;&amp;#160;{&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;SharePointEgg.&lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt; serviceApplication = &lt;span style="color:#0000ff"&gt;null&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;serviceApplication = &lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt;.Local.CreateApplication(applicationName, &lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.AppPoolSection.GetOrCreateApplicationPool());&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;serviceApplication.Update();&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;&lt;span style="color:#2b91af"&gt;IAsyncResult&lt;/span&gt; asyncResult = serviceApplication.BeginProvision(&lt;span style="color:#0000ff"&gt;null&lt;/span&gt;, &lt;span style="color:#0000ff"&gt;null&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;serviceApplication.EndProvision(asyncResult);&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;&lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt; proxy = &lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt;.Local.CreateProxy(applicationName, serviceApplication);&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;proxy.Update();&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;proxy.AddToDefaultGroup(&lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.CheckBoxDefault.Checked);&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;}&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;&lt;span style="color:#0000ff"&gt;catch&lt;/span&gt; (&lt;span style="color:#2b91af"&gt;Exception&lt;/span&gt; exception)&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;{&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;&lt;span style="color:#008000"&gt;//ULS.SendTraceTag(0x39766664, UlsInformation.Management, ULSTraceLevel.High, &amp;quot;ExcelServerCreateApplication.ButtonNext_Click: {0}&amp;quot;, new object[] { exception.Message });&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;throw&lt;/span&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;#160;&amp;#160;&amp;#160;}&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;longOperation.EndScript(&lt;span style="color:#a31515"&gt;&amp;quot;window.frameElement.commonModalDialogClose(1, null);&amp;quot;&lt;/span&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;});&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;}&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;&lt;span style="color:#008000"&gt;//ULS.SendTraceTag(0x39766665, UlsInformation.Management, ULSTraceLevel.Verbose, &amp;quot;ExcelServerCreateApplication.ButtonNext_Click: Exiting ButtonNext_Click.&amp;quot;);&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff"&gt;override&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; OnInit(&lt;span style="color:#2b91af"&gt;EventArgs&lt;/span&gt; e)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;base&lt;/span&gt;.OnInit(e);&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;((&lt;span style="color:#2b91af"&gt;DialogMaster&lt;/span&gt;)&lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.Page.Master).OkButton.Click += &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;EventHandler&lt;/span&gt;(&lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.OkButton_Click);&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; ValidateUniqueName(&lt;span style="color:#0000ff"&gt;object&lt;/span&gt; sender, &lt;span style="color:#2b91af"&gt;ServerValidateEventArgs&lt;/span&gt; eventArgs)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (eventArgs == &lt;span style="color:#0000ff"&gt;null&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;ArgumentNullException&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;eventArgs&amp;quot;&lt;/span&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;}&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;SharePointEgg.&lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt; applicationByName = SharePointEgg.&lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt;.GetApplicationByName(&lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.TextBoxAppName.Text.Trim());&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;eventArgs.IsValid = applicationByName == &lt;span style="color:#0000ff"&gt;null&lt;/span&gt;;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; }&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;We also need to remove some of the control’s declaration in teh designer.cs because we declared these controls in the code behind. CreateApplication.aspx.designer.cs looks like this:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:da863a90-af05-4df2-ad6d-beb2c1818666" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px; white-space: nowrap"&gt;&lt;span style="color:#008000"&gt;//------------------------------------------------------------------------------&lt;/span&gt;&lt;br&gt; &lt;span style="color:#008000"&gt;// &amp;lt;auto-generated&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#008000"&gt;//&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;This code was generated by a tool.&lt;/span&gt;&lt;br&gt; &lt;span style="color:#008000"&gt;//&lt;/span&gt;&lt;br&gt; &lt;span style="color:#008000"&gt;//&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Changes to this file may cause incorrect behavior and will be lost if&lt;/span&gt;&lt;br&gt; &lt;span style="color:#008000"&gt;//&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;the code is regenerated. &lt;/span&gt;&lt;br&gt; &lt;span style="color:#008000"&gt;// &amp;lt;/auto-generated&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#008000"&gt;//------------------------------------------------------------------------------&lt;/span&gt;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;namespace&lt;/span&gt; SharePointEgg.Layouts.HelloServiceApplication {&lt;br&gt; &lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;partial&lt;/span&gt; &lt;span style="color:#0000ff"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;CreateApplication&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; CreateASAppTitle control.&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;remarks&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; Auto-generated field.&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; To modify move field declaration from designer file to code-behind file.&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;/remarks&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff"&gt;global&lt;/span&gt;::System.Web.UI.WebControls.&lt;span style="color:#2b91af"&gt;Literal&lt;/span&gt; CreateASAppTitle;&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; CreateASAppDesc control.&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;remarks&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; Auto-generated field.&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; To modify move field declaration from designer file to code-behind file.&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;/remarks&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff"&gt;global&lt;/span&gt;::System.Web.UI.WebControls.&lt;span style="color:#2b91af"&gt;Literal&lt;/span&gt; CreateASAppDesc;&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; FormDigest1 control.&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;remarks&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; Auto-generated field.&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; To modify move field declaration from designer file to code-behind file.&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;/remarks&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff"&gt;global&lt;/span&gt;::Microsoft.SharePoint.WebControls.&lt;span style="color:#2b91af"&gt;FormDigest&lt;/span&gt; FormDigest1;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; }&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Next we will create a management page for our service application. For demonstration purpose, this page is just a dummy page that doesn’t do anything. Right click the newly created “HelloServiceApplication” folder under “ADMIN” and add a new item. Select the “Application Page” template and this time we call it “HelloServiceAdmin.aspx”. Due to the bug that I mentioned above, you may need to drag the page from “Layouts/HelloServiceApplication” back to “ADMIN\HelloServiceApplication”. &lt;/p&gt;  &lt;p&gt;Put the following code in the aspx file:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:23e9c0ea-a817-467d-a5cc-048a48ef7aee" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px; white-space: nowrap"&gt;&lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Assembly&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;$SharePoint.Project.AssemblyFullName$&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Import&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Namespace&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint.ApplicationPages&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Tagprefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;SharePoint&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Namespace&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint.WebControls&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Assembly&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Tagprefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Utilities&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Namespace&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint.Utilities&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Assembly&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Tagprefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;asp&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Namespace&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;System.Web.UI&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Assembly&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Import&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Namespace&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Assembly&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Page&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Language&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;C#&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;AutoEventWireup&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;CodeBehind&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;HelloServiceAdmin.aspx.cs&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Inherits&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;SharePointEgg.Layouts.HelloServiceApplication.HelloServiceAdmin&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;MasterPageFile&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;~/_admin/admin.master&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Assembly&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint.ApplicationPages.Administration, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot;&lt;/span&gt;&lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Tagprefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;SharePoint&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Namespace&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint.WebControls&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Assembly&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Tagprefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssawc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Namespace&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint.WebControls&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Assembly&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;LinksTable&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/LinksTable.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;InputFormSection&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/InputFormSection.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;InputFormControl&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/InputFormControl.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;LinkSection&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/LinkSection.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;ButtonSection&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/ButtonSection.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;ActionBar&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/ActionBar.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;ToolBar&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/ToolBar.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;ToolBarButton&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/ToolBarButton.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;Register&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagPrefix&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;wssuc&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;TagName&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Welcome&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;src&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;/_controltemplates/Welcome.ascx&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Content&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Content1&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;contentplaceholderid&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;PlaceHolderPageTitle&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;Test Service Admin Page&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;content&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Content&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Content2&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;contentplaceholderid&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;PlaceHolderPageTitleInTitleArea&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;Test Service Admin Page&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Content&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;content&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Content3&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;contentplaceholderid&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;PlaceHolderPageDescription&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Literal&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;m_pathPageDescription&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;content&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;content&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Content4&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;contentplaceholderid&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;PlaceHolderMain&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;table&lt;/span&gt; &lt;span style="color:#ff0000"&gt;width&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;100%&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;class&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;propertysheet&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;cellspacing&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;cellpadding&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;border&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;0&amp;quot;&amp;gt;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;td&lt;/span&gt; &lt;span style="color:#ff0000"&gt;class&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;ms-descriptionText&amp;quot;&amp;gt;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Label&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;LabelMessage&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;EnableViewState&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;False&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;class&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;ms-descriptionText&amp;quot;/&amp;gt;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;td&lt;/span&gt; &lt;span style="color:#ff0000"&gt;class&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;ms-error&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Label&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;LabelErrorMessage&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;EnableViewState&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;False&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;td&lt;/span&gt; &lt;span style="color:#ff0000"&gt;class&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;ms-descriptionText&amp;quot;&amp;gt;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;ValidationSummary&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;ValSummary&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;HeaderText&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;$&lt;/span&gt;SPHtmlEncodedResources:spadmin, ValidationSummaryHeaderText&lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;DisplayMode&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;BulletList&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ShowSummary&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;True&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&amp;gt;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;ValidationSummary&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;table&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;P&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;span&lt;/span&gt; &lt;span style="color:#ff0000"&gt;style&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000"&gt;font-size&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:140%&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;HyperLink&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;m_linkToSettingsPage&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;span&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;br&lt;/span&gt; &lt;span style="color:#0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Test Service Admin Page Description&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;P&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;P&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;span&lt;/span&gt; &lt;span style="color:#ff0000"&gt;style&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000"&gt;font-size&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:140%&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;HyperLink&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;m_linkToTrustedLocations&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;span&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;br&lt;/span&gt; &lt;span style="color:#0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Trusted Location&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;P&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;P&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;span&lt;/span&gt; &lt;span style="color:#ff0000"&gt;style&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000"&gt;font-size&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:140%&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;HyperLink&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;m_linkToTrustedDataProviders&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;span&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;br&lt;/span&gt; &lt;span style="color:#0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Trusted Data Provider&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;P&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;P&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;span&lt;/span&gt; &lt;span style="color:#ff0000"&gt;style&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000"&gt;font-size&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:140%&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;HyperLink&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;m_linkToTrustedDcls&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;span&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;br&lt;/span&gt; &lt;span style="color:#0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Trusted Data Connection Library&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;P&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;P&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;span&lt;/span&gt; &lt;span style="color:#ff0000"&gt;style&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000"&gt;font-size&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:140%&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;HyperLink&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;m_linkToUdfs&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;span&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;br&lt;/span&gt; &lt;span style="color:#0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;User Defined Library&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;P&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;content&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;The code behind looks like this:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:61a13aa3-5422-4ea9-969b-7b193ead9402" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px; white-space: nowrap"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint.WebControls;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.Office.Server.Internal.UI;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;namespace&lt;/span&gt; SharePointEgg.Layouts.HelloServiceApplication&lt;br&gt; {&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;partial&lt;/span&gt; &lt;span style="color:#0000ff"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceAdmin&lt;/span&gt; : &lt;span style="color:#2b91af"&gt;GlobalAdminPageBase&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; Page_Load(&lt;span style="color:#0000ff"&gt;object&lt;/span&gt; sender, &lt;span style="color:#2b91af"&gt;EventArgs&lt;/span&gt; e)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; }&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;And we have completed the administration pages for our service application. However we are not there yet. We need to add our service application to the server farm so that we can create an instance of it. We will create a feature receiver to do this.&lt;/p&gt;  &lt;h5&gt;Feature Receiver: Create Service Application in Server Farm&lt;/h5&gt;  &lt;p&gt;Right click the “Features” folder in Visual Studio and select “Add Feature”. Then right click the newly created Feature1.feature node and select “Add Event Receiver”. This will create the event receiver class and xml file. &lt;/p&gt;  &lt;p&gt;Open “Feature1.EventReceiver.cs” and uncomment the “FeatureActivated” method. Put the following code in the method:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:b3a87c01-7593-48b6-b402-868a080841c6" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px; white-space: nowrap"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;override&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; FeatureActivated(&lt;span style="color:#2b91af"&gt;SPFeatureReceiverProperties&lt;/span&gt; properties)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;try&lt;/span&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;{&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;&lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt; service = &lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt;.Local;&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (service == &lt;span style="color:#0000ff"&gt;null&lt;/span&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;{&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;service = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;SPFarm&lt;/span&gt;.Local);&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;service.Update();&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;}&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;}&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;&lt;span style="color:#0000ff"&gt;catch&lt;/span&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;{&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;And there you go our service application is ready to be deployed!!! &lt;/p&gt;  &lt;p&gt;Creating Client Page&lt;/p&gt;  &lt;p&gt;Ops, just before we deploy, we will quickly create a page under the “Layouts\HelloServiceApplication” folder to call our service application. Right click the “Layouts” folder in Visual Studio and add a new item. Select “Application Page” and we will call this page “Test.aspx”. We will have a textbox, a button, and a literal control in our page. When the user clicks the button, the page will grab whatever value in the textbox and sends it to our custom service application. The literal control will be used to display whatever returns from the service application. We will insert the controls into “PlaceHolderMain” like this:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:28805659-ca9e-40fa-9dba-bb838d00cfab" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px; white-space: nowrap"&gt;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Content&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Main&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ContentPlaceHolderID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;PlaceHolderMain&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;UpdatePanel&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;ContentTemplate&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&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;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;SharePoint&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;InputFormTextBox&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;InputFormTextBoxName&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;/&amp;gt;&lt;/span&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;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Button&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;OKButton&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Text&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Submit&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff"&gt;/&amp;gt;&lt;/span&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;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Literal&lt;/span&gt; &lt;span style="color:#ff0000"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;ResultLiteral&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Literal&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;ContentTemplate&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;UpdatePanel&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000"&gt;asp&lt;/span&gt;&lt;span style="color:#0000ff"&gt;:&lt;/span&gt;&lt;span style="color:#800000"&gt;Content&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;The code behind is here:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:440ce2f7-5546-4528-94c4-1fa91b50e786" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px; white-space: nowrap"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint.WebControls;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;namespace&lt;/span&gt; SharePointEgg.Layouts.HelloServiceApplication&lt;br&gt; {&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;partial&lt;/span&gt; &lt;span style="color:#0000ff"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Test&lt;/span&gt; : &lt;span style="color:#2b91af"&gt;LayoutsPageBase&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; Page_Load(&lt;span style="color:#0000ff"&gt;object&lt;/span&gt; sender, &lt;span style="color:#2b91af"&gt;EventArgs&lt;/span&gt; e)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff"&gt;override&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; OnInit(&lt;span style="color:#2b91af"&gt;EventArgs&lt;/span&gt; e)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;base&lt;/span&gt;.OnInit(e);&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;OKButton.Click += &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;EventHandler&lt;/span&gt;(OKButton_Click);&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;void&lt;/span&gt; OKButton_Click(&lt;span style="color:#0000ff"&gt;object&lt;/span&gt; sender, &lt;span style="color:#2b91af"&gt;EventArgs&lt;/span&gt; e)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;try&lt;/span&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;{&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;&lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt; proxy = &lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt;.GetProxy(&lt;span style="color:#2b91af"&gt;SPServiceContext&lt;/span&gt;.Current);&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;SharePointEgg.&lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt; app = proxy.Application;&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;&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; endPoint = app.DefaultEndpoint.ToString();&lt;br&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;ResultLiteral.Text = app.Hello(InputFormTextBoxName.Text);&lt;br&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;}&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;&lt;span style="color:#0000ff"&gt;catch&lt;/span&gt; (&lt;span style="color:#2b91af"&gt;Exception&lt;/span&gt; ex)&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;{&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;ResultLiteral.Text = ex.Message;&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; }&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;h5&gt;Deploying Service Application&lt;/h5&gt;  &lt;p&gt;Right click the “HelloServiceApplication” and select “Deploy”. Hopefully you will get a “Deploy succeeded” message. &lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Z7jRJouC2-U/SwtseSHFkfI/AAAAAAAAAFU/fVdnZ3-PnQo/s1600/07+-+Deploy.jpg"&gt;&lt;img style="width: 320px; height: 304px; cursor: pointer" id="BLOGGER_PHOTO_ID_5407535045101851122" border="0" alt="" src="http://4.bp.blogspot.com/_Z7jRJouC2-U/SwtseSHFkfI/AAAAAAAAAFU/fVdnZ3-PnQo/s320/07+-+Deploy.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h5&gt;Create an Hello Service Application Instance&lt;/h5&gt;  &lt;p&gt;First browse to the SharePoint Central Administration site. Under “Application Management”, click “Manage service applications”. In the “Manage Service Applications” page, click the “New” button in the ribbon and you should see “Hello Service Application” in there&amp;quot;:&lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Z7jRJouC2-U/Swts63EsOGI/AAAAAAAAAGU/tA1KEttgfMg/s1600/08+-+NewServiceApplication.jpg"&gt;&lt;img style="width: 320px; height: 240px; cursor: pointer" id="BLOGGER_PHOTO_ID_5407535536060250210" border="0" alt="" src="http://1.bp.blogspot.com/_Z7jRJouC2-U/Swts63EsOGI/AAAAAAAAAGU/tA1KEttgfMg/s320/08+-+NewServiceApplication.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Select “Hello Service Application” and a dialog should show up. This is actually the CreateApplication.aspx that we created earlier. &lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Z7jRJouC2-U/Swts0y94nSI/AAAAAAAAAGM/mEeK55JV1as/s1600/09+-+NewHelloService.jpg"&gt;&lt;img style="width: 320px; height: 190px; cursor: pointer" id="BLOGGER_PHOTO_ID_5407535431878745378" border="0" alt="" src="http://1.bp.blogspot.com/_Z7jRJouC2-U/Swts0y94nSI/AAAAAAAAAGM/mEeK55JV1as/s320/09+-+NewHelloService.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Give it a name “Hello Service Application”. Create a new application pool called “HelloServiceAppPool”. Check the Default checkbox as well. Click “OK” to proceed. &lt;/p&gt;  &lt;p&gt;After a while, a new service application called “Hello Service Application” is created, like shown as below.&lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Z7jRJouC2-U/Swts0jfUEjI/AAAAAAAAAGE/TsCmkYX1Ts8/s1600/10+-+HelloService.jpg"&gt;&lt;img style="width: 320px; height: 240px; cursor: pointer" id="BLOGGER_PHOTO_ID_5407535427723989554" border="0" alt="" src="http://4.bp.blogspot.com/_Z7jRJouC2-U/Swts0jfUEjI/AAAAAAAAAGE/TsCmkYX1Ts8/s320/10+-+HelloService.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Select the new service application and click “Manage” in the Ribbon. You will be redirect to the management page, however this page doesn’t really do anything now.&lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Z7jRJouC2-U/SwtszwUWh1I/AAAAAAAAAFs/1sr1ZTHRG88/s1600/13+-+ManageApplication.jpg"&gt;&lt;img style="width: 320px; height: 240px; cursor: pointer" id="BLOGGER_PHOTO_ID_5407535413987805010" border="0" alt="" src="http://3.bp.blogspot.com/_Z7jRJouC2-U/SwtszwUWh1I/AAAAAAAAAFs/1sr1ZTHRG88/s320/13+-+ManageApplication.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now let see if everything is working by accessing the client page that we created. You can get to the client page via the URL &lt;a href="http://yoursite/_layouts/HelloServiceApplication/Test.aspx"&gt;http://yoursite/_layouts/HelloServiceApplication/Test.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Z7jRJouC2-U/Swts0e_p4OI/AAAAAAAAAF8/plNmx6be9u4/s1600/11+-+ClientPage.jpg"&gt;&lt;img style="width: 320px; height: 240px; cursor: pointer" id="BLOGGER_PHOTO_ID_5407535426517459170" border="0" alt="" src="http://4.bp.blogspot.com/_Z7jRJouC2-U/Swts0e_p4OI/AAAAAAAAAF8/plNmx6be9u4/s320/11+-+ClientPage.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Enter a name say “Wilson” in the text box and click OK. If anything is working, you will get and message back like the following screen:&lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Z7jRJouC2-U/Swts0PltCFI/AAAAAAAAAF0/3js7_egnc68/s1600/12+-+Result.jpg"&gt;&lt;img style="width: 320px; height: 240px; cursor: pointer" id="BLOGGER_PHOTO_ID_5407535422382082130" border="0" alt="" src="http://3.bp.blogspot.com/_Z7jRJouC2-U/Swts0PltCFI/AAAAAAAAAF0/3js7_egnc68/s320/12+-+Result.jpg" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/span&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-2000745160253091035?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/2000745160253091035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=2000745160253091035' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/2000745160253091035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/2000745160253091035'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2009/11/create-custom-service-application-in_1334.html' title='Create Custom Service Application in SharePoint 2010 – Part 3'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Z7jRJouC2-U/SwtvfBN6GxI/AAAAAAAAAGc/JfjSL3cVYRM/s72-c/04+-+AdminMappedFolder.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-4322758174408824106</id><published>2009-11-24T13:00:00.000+11:00</published><updated>2009-11-24T17:28:06.832+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Service Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Create Custom Service Application in SharePoint 2010 – Part 2</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://sharepointegg.blogspot.com/2009/11/create-custom-service-application-in.html"&gt;Create Custom Service Application in SharePoint 2010 – Part 1&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Create Custom Service Application in SharePoint 2010 – Part 2&lt;/li&gt;    &lt;li&gt;&lt;a href="http://sharepointegg.blogspot.com/2009/11/create-custom-service-application-in_1334.html"&gt;Create Custom Service Application in SharePoint 2010 – Part 3&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Create Service Application - Introduction&lt;/h5&gt;  &lt;p&gt;Next we will create a number of classes for the Hello service application. Each of these classes represents a key component for a service application, such as:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Service &lt;/li&gt;    &lt;li&gt;Service Proxy &lt;/li&gt;    &lt;li&gt;Service Application &lt;/li&gt;    &lt;li&gt;Service Application Proxy &lt;/li&gt;    &lt;li&gt;Service Instance &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Service Instance&lt;/h5&gt;  &lt;p&gt;Create a new class in the root folder of the project and call it “HelloServiceInstance.cs”. The following shows the code for the HelloServiceInstance class.&lt;/p&gt;   &lt;span class="fullpost"&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:6d60aec8-23f2-41db-9255-b25ad5060ccb" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px; white-space: nowrap"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Linq;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Text;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint.Administration;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;namespace&lt;/span&gt; SharePointEgg&lt;br&gt; {&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;[System.Runtime.InteropServices.&lt;span style="color:#2b91af"&gt;Guid&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;AC6D9D69-7132-429A-BB1B-FD60B124254B&amp;quot;&lt;/span&gt;)]&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceInstance&lt;/span&gt; : &lt;span style="color:#2b91af"&gt;SPIisWebServiceInstance&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;const&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; HelloServiceInstanceName = &lt;span style="color:#a31515"&gt;&amp;quot;HelloServiceInstance&amp;quot;&lt;/span&gt;;&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;// Methods&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; HelloServiceInstance()&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; HelloServiceInstance(&lt;span style="color:#2b91af"&gt;SPServer&lt;/span&gt; server, &lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt; service)&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;: &lt;span style="color:#0000ff"&gt;base&lt;/span&gt;(server, service)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; HelloServiceInstance(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; name, &lt;span style="color:#2b91af"&gt;SPServer&lt;/span&gt; server, &lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt; service)&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;: &lt;span style="color:#0000ff"&gt;base&lt;/span&gt;(server, service)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;// Properties&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;override&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; DisplayName&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; HelloServiceInstanceName;&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff"&gt;bool&lt;/span&gt; IsLocal&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#2b91af"&gt;SPServer&lt;/span&gt; local = &lt;span style="color:#2b91af"&gt;SPServer&lt;/span&gt;.Local;&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;&lt;span style="color:#2b91af"&gt;SPServer&lt;/span&gt; server = &lt;span style="color:#0000ff"&gt;base&lt;/span&gt;.Server;&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; ((local != &lt;span style="color:#0000ff"&gt;null&lt;/span&gt;) &amp;amp;&amp;amp; (local.Id == server.Id));&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff"&gt;bool&lt;/span&gt; IsLocalInstanceOnline&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;bool&lt;/span&gt; flag2;&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;&lt;span style="color:#0000ff"&gt;try&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;bool&lt;/span&gt; isOnline = &lt;span style="color:#0000ff"&gt;false&lt;/span&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;#160;&amp;#160;&amp;#160;&lt;span style="color:#2b91af"&gt;SPServer&lt;/span&gt; local = &lt;span style="color:#2b91af"&gt;SPServer&lt;/span&gt;.Local;&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (local != &lt;span style="color:#0000ff"&gt;null&lt;/span&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;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#2b91af"&gt;HelloServiceInstance&lt;/span&gt; instance = local.ServiceInstances.GetValue&amp;lt;&lt;span style="color:#2b91af"&gt;HelloServiceInstance&lt;/span&gt;&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (instance != &lt;span style="color:#0000ff"&gt;null&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;isOnline = instance.IsOnline;&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;}&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;}&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;flag2 = isOnline;&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;}&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;&lt;span style="color:#0000ff"&gt;catch&lt;/span&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;{&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;&lt;span style="color:#008000"&gt;//ULS.SendTraceTag(0x38337a6c, UlsInformation.CalculationServer, ULSTraceLevel.Unexpected, &amp;quot;ExcelServerWebServiceInstance.IsLocalInstanceOnline: caught an unexpected exception. Exception: {0}&amp;quot;, new object[] { exception });&lt;/span&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;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;throw&lt;/span&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;}&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; flag2;&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff"&gt;bool&lt;/span&gt; IsOnline&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; (&lt;span style="color:#0000ff"&gt;base&lt;/span&gt;.Status == &lt;span style="color:#2b91af"&gt;SPObjectStatus&lt;/span&gt;.Online);&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceInstance&lt;/span&gt; Local&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#2b91af"&gt;SPServer&lt;/span&gt; local = &lt;span style="color:#2b91af"&gt;SPServer&lt;/span&gt;.Local;&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (local == &lt;span style="color:#0000ff"&gt;null&lt;/span&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;{&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;&lt;span style="color:#008000"&gt;//ULS.SendTraceTag(0x39786c6c, UlsInformation.Management, ULSTraceLevel.Verbose, &amp;quot;ExcelServerWebServiceInstance.Local: Could not determine local server context.&amp;quot;);&lt;/span&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;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;InvalidOperationException&lt;/span&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;}&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; local.ServiceInstances.GetValue&amp;lt;&lt;span style="color:#2b91af"&gt;HelloServiceInstance&lt;/span&gt;&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;override&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; TypeName&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; HelloServiceInstanceName;&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; }&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;h5&gt;Service Application&lt;/h5&gt;  &lt;p&gt;Next create a new class called HelloServiceApplication.cs. This class will implements IHelloService and contains the actual implementation of our Hello method. &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:0ea0a57b-12cf-4cff-a22d-2db3685a2311" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px; white-space: nowrap"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.IO;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Linq;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Text;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint.Administration;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint.Utilities;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; SharePointEgg.WebServices.HelloServiceApplication;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;namespace&lt;/span&gt; SharePointEgg&lt;br&gt; {&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;[System.Runtime.InteropServices.&lt;span style="color:#2b91af"&gt;Guid&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;C18B3BB5-C0AE-4873-95A2-39AED8657A6C&amp;quot;&lt;/span&gt;)]&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;sealed&lt;/span&gt; &lt;span style="color:#0000ff"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt; : &lt;span style="color:#2b91af"&gt;SPIisWebServiceApplication&lt;/span&gt;, &lt;span style="color:#2b91af"&gt;IHelloService&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceInstance&lt;/span&gt; m_serviceInstance;&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;// Methods&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; HelloServiceApplication()&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; HelloServiceApplication(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; name, &lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt; service, &lt;span style="color:#2b91af"&gt;SPIisWebServiceApplicationPool&lt;/span&gt; applicationPool)&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;: &lt;span style="color:#0000ff"&gt;base&lt;/span&gt;(name, service, applicationPool)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt; GetApplicationById(&lt;span style="color:#2b91af"&gt;Guid&lt;/span&gt; applicationId)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt;.Local.GetWebApplicationById(applicationId);&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt; GetApplicationByName(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; applicationName)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt;.Local.GetWebApplicationByName(applicationName);&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff"&gt;override&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; VirtualPath&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#a31515"&gt;&amp;quot;Service.svc&amp;quot;&lt;/span&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff"&gt;override&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; InstallPath&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Path&lt;/span&gt;.GetFullPath(&lt;span style="color:#2b91af"&gt;SPUtility&lt;/span&gt;.GetGenericSetupPath(&lt;span style="color:#a31515"&gt;@&amp;quot;WebServices&amp;#92;HelloServiceApplication&amp;quot;&lt;/span&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;override&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SPAdministrationLink&lt;/span&gt; ManageLink&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#008000"&gt;//return new SPAdministrationLink(ExcelServerAdminPage.UrlWithApplicationId(&amp;quot;ExcelServicesAdmin.aspx&amp;quot;, base.Id, true));&lt;/span&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SPAdministrationLink&lt;/span&gt;(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt;.Format(&lt;span style="color:#a31515"&gt;&amp;quot;/_admin/HelloServiceApplication/HelloServiceAdmin.aspx?id={0}&amp;quot;&lt;/span&gt;, Id.ToString()));&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Uri&lt;/span&gt; DefaultServicePath&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&gt; { &lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.DefaultEndpoint.GetEndpointUri(&lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.OnlineInstance); }&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceInstance&lt;/span&gt; OnlineInstance&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (&lt;span style="color:#0000ff"&gt;null&lt;/span&gt; == m_serviceInstance)&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;{&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;&lt;span style="color:#0000ff"&gt;foreach&lt;/span&gt; (&lt;span style="color:#2b91af"&gt;SPServiceInstance&lt;/span&gt; i &lt;span style="color:#0000ff"&gt;in&lt;/span&gt; &lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.ServiceInstances)&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;{&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;&lt;span style="color:#2b91af"&gt;HelloServiceInstance&lt;/span&gt; instance = i &lt;span style="color:#0000ff"&gt;as&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceInstance&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; ((instance != &lt;span style="color:#0000ff"&gt;null&lt;/span&gt;) &amp;amp;&amp;amp; instance.IsOnline)&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;{&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;m_serviceInstance = instance;&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;&lt;span style="color:#0000ff"&gt;break&lt;/span&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&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;}&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;}&lt;br&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; m_serviceInstance;&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; Hello(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; name)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt;.Format(&lt;span style="color:#a31515"&gt;&amp;quot;Hello!!! {0}, this is from the Hello Service Application&amp;quot;&lt;/span&gt;, name);&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; }&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;h5&gt;Service Application Proxy&lt;/h5&gt;  &lt;p&gt;Next create a new class called HelloServiceApplicationProxy.cs:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:959f2fe4-d7a8-4dd8-8118-53fb7f24a189" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px; white-space: nowrap"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Linq;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Text;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint.Administration;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint.Utilities;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;namespace&lt;/span&gt; SharePointEgg&lt;br&gt; {&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;[System.Runtime.InteropServices.&lt;span style="color:#2b91af"&gt;Guid&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;A15526E7-97F8-499D-A5A7-22A7A8920162&amp;quot;&lt;/span&gt;)]&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;sealed&lt;/span&gt; &lt;span style="color:#0000ff"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt; : &lt;span style="color:#2b91af"&gt;SPIisWebServiceApplicationProxy&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;// Fields&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;[&lt;span style="color:#2b91af"&gt;Persisted&lt;/span&gt;]&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt; m_application;&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;// Methods&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; HelloServiceApplicationProxy()&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; HelloServiceApplicationProxy(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; name, &lt;span style="color:#2b91af"&gt;SPIisWebServiceProxy&lt;/span&gt; serviceProxy, &lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt; serviceApplication)&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;: &lt;span style="color:#0000ff"&gt;base&lt;/span&gt;(name, serviceProxy, serviceApplication.Uri)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.m_application = serviceApplication;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; HelloServiceApplicationProxy(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; name, &lt;span style="color:#2b91af"&gt;SPIisWebServiceProxy&lt;/span&gt; serviceProxy, &lt;span style="color:#2b91af"&gt;Uri&lt;/span&gt; serviceApplicationAddress)&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;: &lt;span style="color:#0000ff"&gt;base&lt;/span&gt;(name, serviceProxy, serviceApplicationAddress)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; AddToDefaultGroup(&lt;span style="color:#0000ff"&gt;bool&lt;/span&gt; setDefault)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (setDefault)&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;{&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;&lt;span style="color:#008000"&gt;//ULS.SendTraceTag(0x39766662, UlsInformation.Management, ULSTraceLevel.Medium, &amp;quot;ExcelServerWebServiceApplicationProxy.AddToDefaultGroup: Adding proxy {0} to the default proxy group.&amp;quot;, new object[] { base.Name });&lt;/span&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;&lt;span style="color:#2b91af"&gt;SPServiceApplicationProxyGroup&lt;/span&gt; group = &lt;span style="color:#2b91af"&gt;SPServiceApplicationProxyGroup&lt;/span&gt;.Default;&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;group.Add(&lt;span style="color:#0000ff"&gt;this&lt;/span&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;group.Update();&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;// Properties&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt; Application&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (&lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.m_application == &lt;span style="color:#0000ff"&gt;null&lt;/span&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;{&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;&lt;span style="color:#008000"&gt;//ULS.SendTraceTag(0x636e6139, UlsInformation.Management, ULSTraceLevel.High, &amp;quot;ExcelServerWebServiceApplicationProxy.Application: Application reference was null. This indicates a stale proxy.&amp;quot;);&lt;/span&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;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;null&lt;/span&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;}&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt;.Local.GetWebApplicationByName(&lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.m_application.Name);&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; ClientConfigurationPath&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SPUtility&lt;/span&gt;.GetGenericSetupPath(&lt;span style="color:#a31515"&gt;@&amp;quot;WebClients&amp;#92;HelloService&amp;quot;&lt;/span&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt; Local&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#2b91af"&gt;SPServiceContext&lt;/span&gt; current = &lt;span style="color:#2b91af"&gt;SPServiceContext&lt;/span&gt;.Current;&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (current == &lt;span style="color:#0000ff"&gt;null&lt;/span&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;{&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;&lt;span style="color:#008000"&gt;//ULS.SendTraceTag(0x39657a34, UlsInformation.Management, ULSTraceLevel.High, &amp;quot;ExcelServerWebServiceApplicationProxy.Local: Could not retrieve the application for the current context because the context could not be retrieved.&amp;quot;);&lt;/span&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;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;InvalidOperationException&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;Could not retrieve the application for the current context because the context could not be retrieved.&amp;quot;&lt;/span&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;}&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; (&lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt;)current.GetDefaultProxy(&lt;span style="color:#0000ff"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;override&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; TypeName&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#a31515"&gt;&amp;quot;Hello Service Application Proxy&amp;quot;&lt;/span&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt; GetProxy(&lt;span style="color:#2b91af"&gt;SPServiceContext&lt;/span&gt; serviceContext)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (serviceContext == &lt;span style="color:#0000ff"&gt;null&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;ArgumentNullException&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;serviceContext&amp;quot;&lt;/span&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;}&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; (serviceContext.GetDefaultProxy(&lt;span style="color:#0000ff"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt;)) &lt;span style="color:#0000ff"&gt;as&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt;);&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; }&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;h5&gt;Service&lt;/h5&gt;  &lt;p&gt;Next create a new class called HelloService.cs and have the following code:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:f27d9a8e-f6c5-4cd7-9d71-5ca371444d99" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px; white-space: nowrap"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Linq;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Text;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint.Administration;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;namespace&lt;/span&gt; SharePointEgg&lt;br&gt; {&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;[System.Runtime.InteropServices.&lt;span style="color:#2b91af"&gt;Guid&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;2DD80E70-B651-44E7-A5B9-6F820B15865C&amp;quot;&lt;/span&gt;)]&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt; : &lt;span style="color:#2b91af"&gt;SPIisWebService&lt;/span&gt;, &lt;span style="color:#2b91af"&gt;IServiceAdministration&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;const&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; ServiceName = &lt;span style="color:#a31515"&gt;&amp;quot;HelloService&amp;quot;&lt;/span&gt;;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt; m_local = &lt;span style="color:#0000ff"&gt;null&lt;/span&gt;;&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;// Methods&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; HelloService()&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; HelloService(&lt;span style="color:#2b91af"&gt;SPFarm&lt;/span&gt; farm)&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;: &lt;span style="color:#0000ff"&gt;base&lt;/span&gt;(farm)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.Name = ServiceName;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;//internal HelloService(string name, SPFarm farm)&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;//&amp;#160;&amp;#160;&amp;#160;&amp;#160;: base(farm)&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;//{&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;//}&lt;/span&gt;&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt; CreateApplication(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; name, &lt;span style="color:#2b91af"&gt;SPIisWebServiceApplicationPool&lt;/span&gt; applicationPool)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#008000"&gt;//ULS.SendTraceTag(0x64333071, UlsInformation.CalculationServer, ULSTraceLevel.VerboseEx, &amp;quot;ExcelServerWebService.CreateApplication: About to create web service application with name = {0}.&amp;quot;, new object[] { name });&lt;/span&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;&lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt; application = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt;(name, &lt;span style="color:#0000ff"&gt;this&lt;/span&gt;, applicationPool);&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;&lt;span style="color:#008000"&gt;//ULS.SendTraceTag(0x64333072, UlsInformation.CalculationServer, ULSTraceLevel.VerboseEx, &amp;quot;ExcelServerWebService.CreateApplication: Web service application created.&amp;quot;);&lt;/span&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;application.Update();&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;&lt;span style="color:#008000"&gt;//ULS.SendTraceTag(0x64333073, UlsInformation.CalculationServer, ULSTraceLevel.VerboseEx, &amp;quot;ExcelServerWebService.CreateApplication: Web service application committed to database.&amp;quot;);&lt;/span&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;application.AddServiceEndpoint(&lt;span style="color:#a31515"&gt;&amp;quot;&amp;quot;&lt;/span&gt;, &lt;span style="color:#2b91af"&gt;SPIisWebServiceBindingType&lt;/span&gt;.Http);&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;application.AddServiceEndpoint(&lt;span style="color:#a31515"&gt;&amp;quot;secure&amp;quot;&lt;/span&gt;, &lt;span style="color:#2b91af"&gt;SPIisWebServiceBindingType&lt;/span&gt;.Https, &lt;span style="color:#a31515"&gt;&amp;quot;secure&amp;quot;&lt;/span&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;&lt;span style="color:#008000"&gt;//ULS.SendTraceTag(0x64333074, UlsInformation.CalculationServer, ULSTraceLevel.VerboseEx, &amp;quot;ExcelServerWebService.CreateApplication: Service end-points added.&amp;quot;);&lt;/span&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; application;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SPServiceApplication&lt;/span&gt; CreateApplication(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; name, &lt;span style="color:#2b91af"&gt;Type&lt;/span&gt; serviceApplicationType, &lt;span style="color:#2b91af"&gt;SPServiceProvisioningContext&lt;/span&gt; provisioningContext)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (!ValidateType(serviceApplicationType))&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;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;null&lt;/span&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;}&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;&lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt; webApplicationByName = &lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.GetWebApplicationByName(name);&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (((webApplicationByName == &lt;span style="color:#0000ff"&gt;null&lt;/span&gt;) &amp;amp;&amp;amp; (provisioningContext != &lt;span style="color:#0000ff"&gt;null&lt;/span&gt;)) &amp;amp;&amp;amp; (provisioningContext.IisWebServiceApplicationPool != &lt;span style="color:#0000ff"&gt;null&lt;/span&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;{&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;webApplicationByName = &lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.CreateApplication(name, provisioningContext.IisWebServiceApplicationPool);&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;}&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; webApplicationByName;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt; CreateProxy(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; name, &lt;span style="color:#2b91af"&gt;SPServiceApplication&lt;/span&gt; serviceApplication)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; (&lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt;)&lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.CreateProxy(name, serviceApplication, &lt;span style="color:#0000ff"&gt;null&lt;/span&gt;);&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SPServiceApplicationProxy&lt;/span&gt; CreateProxy(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; name, &lt;span style="color:#2b91af"&gt;SPServiceApplication&lt;/span&gt; serviceApplication, &lt;span style="color:#2b91af"&gt;SPServiceProvisioningContext&lt;/span&gt; provisioningContext)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (&lt;span style="color:#0000ff"&gt;null&lt;/span&gt; == serviceApplication)&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;{&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;&lt;span style="color:#0000ff"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;ArgumentNullException&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;serviceApplication&amp;quot;&lt;/span&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;}&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (serviceApplication.GetType() != &lt;span style="color:#0000ff"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;NotSupportedException&lt;/span&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;}&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;&lt;span style="color:#2b91af"&gt;HelloServiceProxy&lt;/span&gt; serviceProxy = (&lt;span style="color:#2b91af"&gt;HelloServiceProxy&lt;/span&gt;)&lt;span style="color:#0000ff"&gt;base&lt;/span&gt;.Farm.GetObject(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt;.Empty, &lt;span style="color:#0000ff"&gt;base&lt;/span&gt;.Farm.Id, &lt;span style="color:#0000ff"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;HelloServiceProxy&lt;/span&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (serviceProxy == &lt;span style="color:#0000ff"&gt;null&lt;/span&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;{&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;serviceProxy = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceProxy&lt;/span&gt;(&lt;span style="color:#0000ff"&gt;base&lt;/span&gt;.Farm);&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;serviceProxy.Update();&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;}&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;&lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt; applicationProxy = &lt;span style="color:#2b91af"&gt;HelloServiceProxy&lt;/span&gt;.Local.GetApplicationProxy(name);&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (applicationProxy != &lt;span style="color:#0000ff"&gt;null&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; applicationProxy;&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;}&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt;(name, serviceProxy, (&lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt;)serviceApplication);&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt; EnsureSettingsAttributesInitialization(&lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt; application)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (application != &lt;span style="color:#0000ff"&gt;null&lt;/span&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;{&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;&lt;span style="color:#008000"&gt;//application.InitAttributes();&lt;/span&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;}&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; application;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SPPersistedTypeDescription&lt;/span&gt; GetApplicationTypeDescription(&lt;span style="color:#2b91af"&gt;Type&lt;/span&gt; serviceApplicationType)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (!ValidateType(serviceApplicationType))&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;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;null&lt;/span&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;}&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SPPersistedTypeDescription&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;Hello Service Application&amp;quot;&lt;/span&gt;, &lt;span style="color:#a31515"&gt;&amp;quot;Hello Service Application&amp;quot;&lt;/span&gt;);&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Type&lt;/span&gt;[] GetApplicationTypes()&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Type&lt;/span&gt;[] { &lt;span style="color:#0000ff"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt;) };&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;override&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SPAdministrationLink&lt;/span&gt; GetCreateApplicationLink(&lt;span style="color:#2b91af"&gt;Type&lt;/span&gt; serviceApplicationType)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (!ValidateType(serviceApplicationType))&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;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;null&lt;/span&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;}&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;&lt;span style="color:#008000"&gt;//return new SPAdministrationLink(&amp;quot;/_admin/ExcelServerCreateApplication.aspx?scenarioid=ExcelServicesCreateApplication&amp;quot;);&lt;/span&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SPAdministrationLink&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;/_admin/HelloServiceApplication/CreateApplication.aspx&amp;quot;&lt;/span&gt;);&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt; GetServiceByFarm(&lt;span style="color:#2b91af"&gt;SPFarm&lt;/span&gt; farm)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (&lt;span style="color:#0000ff"&gt;null&lt;/span&gt; == farm)&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;{&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;&lt;span style="color:#0000ff"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;InvalidOperationException&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;The SharePoint farm has not been provisioned properly.&amp;quot;&lt;/span&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;}&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; farm.Services.GetValue&amp;lt;&lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt;&amp;gt;();&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt; GetWebApplicationById(&lt;span style="color:#2b91af"&gt;Guid&lt;/span&gt; applicationId)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; EnsureSettingsAttributesInitialization(&lt;span style="color:#0000ff"&gt;base&lt;/span&gt;.Applications.GetValue&amp;lt;&lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt;&amp;gt;(applicationId));&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt; GetWebApplicationByName(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; applicationName)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; EnsureSettingsAttributesInitialization(&lt;span style="color:#0000ff"&gt;base&lt;/span&gt;.Applications.GetValue&amp;lt;&lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&gt;&amp;gt;(applicationName));&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff"&gt;bool&lt;/span&gt; ValidateType(&lt;span style="color:#2b91af"&gt;Type&lt;/span&gt; type)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (type != &lt;span style="color:#0000ff"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;HelloServiceApplication&lt;/span&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;{&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;&lt;span style="color:#008000"&gt;//ULS.SendTraceTag(0x39766661, UlsInformation.Management, ULSTraceLevel.Medium, &amp;quot;ExcelServerWebService.ValidateType: Only applications of type ExcelServerWebServiceApplication are supported by the Excel Service.&amp;quot;);&lt;/span&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;false&lt;/span&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;}&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;true&lt;/span&gt;;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;// Properties&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;override&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; DisplayName&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; ServiceName;&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt; Local&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (&lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt;.m_local == &lt;span style="color:#0000ff"&gt;null&lt;/span&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;{&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;&lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt;.m_local =&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;&lt;span style="color:#2b91af"&gt;SPFarm&lt;/span&gt;.Local.Services.GetValue&amp;lt;&lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt;&amp;gt;(&lt;span style="color:#a31515"&gt;&amp;quot;HelloService&amp;quot;&lt;/span&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;}&lt;br&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloService&lt;/span&gt;.m_local;&lt;br&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;&lt;span style="color:#008000"&gt;//HelloService serviceByFarm = GetServiceByFarm(LocalFarm);&lt;/span&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;&lt;span style="color:#008000"&gt;//if (serviceByFarm == null)&lt;/span&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;&lt;span style="color:#008000"&gt;//{&lt;/span&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;&lt;span style="color:#008000"&gt;//&amp;#160;&amp;#160;&amp;#160;&amp;#160;throw new InvalidOperationException(&amp;quot;The HelloService has not been properly registered with the config DB.&amp;quot;);&lt;/span&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;&lt;span style="color:#008000"&gt;//}&lt;/span&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;&lt;span style="color:#008000"&gt;//return serviceByFarm;&lt;/span&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SPFarm&lt;/span&gt; LocalFarm&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#2b91af"&gt;SPFarm&lt;/span&gt; local = &lt;span style="color:#2b91af"&gt;SPFarm&lt;/span&gt;.Local;&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (local == &lt;span style="color:#0000ff"&gt;null&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;InvalidOperationException&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;The SharePoint farm has not been provisioned properly.&amp;quot;&lt;/span&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;}&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; local;&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;override&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; TypeName&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; ServiceName;&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; }&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;h5&gt;Service Proxy&lt;/h5&gt;  &lt;p&gt;Lastly create a new class called &amp;quot;HelloServiceProxy.cs”. Note that it has a SupportedServiceApplication decorative and it is referencing the HelloServiceApplicationProxy by its Guid. &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:f3e77454-1d6a-4e8b-afa6-814a889f3d18" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px; white-space: nowrap"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Linq;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Text;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint.Administration;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;namespace&lt;/span&gt; SharePointEgg&lt;br&gt; {&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;[System.Runtime.InteropServices.&lt;span style="color:#2b91af"&gt;Guid&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;1CB0F971-42A3-4BCE-ACC1-1D7CDF22BBBE&amp;quot;&lt;/span&gt;)]&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;[&lt;span style="color:#2b91af"&gt;SupportedServiceApplication&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;A15526E7-97F8-499D-A5A7-22A7A8920162&amp;quot;&lt;/span&gt;, &lt;span style="color:#a31515"&gt;&amp;quot;1.0.0.0&amp;quot;&lt;/span&gt;, &lt;span style="color:#0000ff"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt;))]&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff"&gt;sealed&lt;/span&gt; &lt;span style="color:#0000ff"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceProxy&lt;/span&gt; : &lt;span style="color:#2b91af"&gt;SPIisWebServiceProxy&lt;/span&gt;, &lt;span style="color:#2b91af"&gt;IServiceProxyAdministration&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;// Methods&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; HelloServiceProxy()&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; HelloServiceProxy(&lt;span style="color:#2b91af"&gt;SPFarm&lt;/span&gt; farm)&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;: &lt;span style="color:#0000ff"&gt;base&lt;/span&gt;(farm)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; HelloServiceProxy(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; name, &lt;span style="color:#2b91af"&gt;SPFarm&lt;/span&gt; farm)&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;: &lt;span style="color:#0000ff"&gt;base&lt;/span&gt;(farm)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SPServiceApplicationProxy&lt;/span&gt; CreateProxy(&lt;span style="color:#2b91af"&gt;Type&lt;/span&gt; serviceApplicationProxyType, &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; name, &lt;span style="color:#2b91af"&gt;Uri&lt;/span&gt; serviceApplicationUri, &lt;span style="color:#2b91af"&gt;SPServiceProvisioningContext&lt;/span&gt; provisioningContext)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (serviceApplicationProxyType != &lt;span style="color:#0000ff"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;NotSupportedException&lt;/span&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;}&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt;(name, &lt;span style="color:#0000ff"&gt;this&lt;/span&gt;, serviceApplicationUri);&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt; GetApplicationProxy(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; name)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.ApplicationProxies.GetValue&amp;lt;&lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt;&amp;gt;(name);&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SPPersistedTypeDescription&lt;/span&gt; GetProxyTypeDescription(&lt;span style="color:#2b91af"&gt;Type&lt;/span&gt; serviceApplicationProxyType)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SPPersistedTypeDescription&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;Hello Service Proxy&amp;quot;&lt;/span&gt;, &lt;span style="color:#a31515"&gt;&amp;quot;Hello Service Proxy&amp;quot;&lt;/span&gt;);&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Type&lt;/span&gt;[] GetProxyTypes()&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Type&lt;/span&gt;[] { &lt;span style="color:#0000ff"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;HelloServiceApplicationProxy&lt;/span&gt;) };&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceProxy&lt;/span&gt; GetServiceProxyByFarm(&lt;span style="color:#2b91af"&gt;SPFarm&lt;/span&gt; farm)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#2b91af"&gt;SPServiceProxyCollection&lt;/span&gt; serviceProxies = farm.ServiceProxies;&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (serviceProxies == &lt;span style="color:#0000ff"&gt;null&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;InvalidOperationException&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;The SharePoint farm has not been provisioned properly.&amp;quot;&lt;/span&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;}&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;&lt;span style="color:#2b91af"&gt;HelloServiceProxy&lt;/span&gt; proxy = serviceProxies.GetValue&amp;lt;&lt;span style="color:#2b91af"&gt;HelloServiceProxy&lt;/span&gt;&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (proxy == &lt;span style="color:#0000ff"&gt;null&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;InvalidOperationException&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;The HelloService has not been properly registered with the config DB.&amp;quot;&lt;/span&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;}&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; proxy;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#008000"&gt;// Properties&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af"&gt;HelloServiceProxy&lt;/span&gt; Local&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; GetServiceProxyByFarm(LocalFarm);&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SPFarm&lt;/span&gt; LocalFarm&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;get&lt;/span&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;{&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;&lt;span style="color:#2b91af"&gt;SPFarm&lt;/span&gt; local = &lt;span style="color:#2b91af"&gt;SPFarm&lt;/span&gt;.Local;&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;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (local == &lt;span style="color:#0000ff"&gt;null&lt;/span&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;{&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;&lt;span style="color:#0000ff"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;InvalidOperationException&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;The SharePoint farm has not been provisioned properly.&amp;quot;&lt;/span&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;}&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; local;&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;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; }&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;And we have completed our custom Hello service application implementation. But we are not there yet. We will need to create administration pages for service creation and management. And we also need to register the service application to the farm so that we can create an instance of it. More to come next. &lt;/p&gt; &lt;/span&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-4322758174408824106?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/4322758174408824106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=4322758174408824106' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/4322758174408824106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/4322758174408824106'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2009/11/create-custom-service-application-in_24.html' title='Create Custom Service Application in SharePoint 2010 – Part 2'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-2408476693441778161</id><published>2009-11-24T12:00:00.000+11:00</published><updated>2009-11-24T17:29:33.699+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Service Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Create Custom Service Application in SharePoint 2010 – Part 1</title><content type='html'>&lt;div style="text-align: left;"&gt; &lt;ul&gt;   &lt;li&gt;Create Custom Service Application in SharePoint 2010 – Part 1&lt;/li&gt;    &lt;li&gt;&lt;a href="http://sharepointegg.blogspot.com/2009/11/create-custom-service-application-in_24.html"&gt;Create Custom Service Application in SharePoint 2010 – Part 2&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://sharepointegg.blogspot.com/2009/11/create-custom-service-application-in_1334.html"&gt;Create Custom Service Application in SharePoint 2010 – Part 3&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Create Visual Studio Solution&lt;/h5&gt;  &lt;p&gt;In Visual Studio 2010, create a new project using the “Empty SharePoint Project” and call it “HelloServiceApplication”. &lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Z7jRJouC2-U/Swtp0qEE1tI/AAAAAAAAAFM/bPZNPTpFX6c/s1600/01+-+NewProject.jpg"&gt;&lt;img style="width: 320px; height: 218px; cursor: pointer" id="BLOGGER_PHOTO_ID_5407532130953909970" border="0" alt="" src="http://4.bp.blogspot.com/_Z7jRJouC2-U/Swtp0qEE1tI/AAAAAAAAAFM/bPZNPTpFX6c/s320/01+-+NewProject.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will be asked for the SharePoint site address for debugging. Since we are deploying this to the central administration site, enter the URL of Central Administration site and check the “Deploy as a farm solution” radio button. Click “Finish” to continue. &lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Z7jRJouC2-U/Swtp0Q_GPYI/AAAAAAAAAFE/So9AJIfqHbo/s1600/02+-+SharePointCustomizationWizard.jpg"&gt;&lt;img style="width: 320px; height: 254px; cursor: pointer" id="BLOGGER_PHOTO_ID_5407532124222143874" border="0" alt="" src="http://1.bp.blogspot.com/_Z7jRJouC2-U/Swtp0Q_GPYI/AAAAAAAAAFE/So9AJIfqHbo/s320/02+-+SharePointCustomizationWizard.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We will change the assembly name and default namespace to “SharePointEgg”. Right click the “HelloServiceApplication” and select “Properties”. Under the “Application” tab, change both the “Assembly name” and “Default namespace” to “SharePointEgg”. Save the settings. &lt;/p&gt;  &lt;p&gt;Add a reference to the following assembly:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;System.ServiceModel &lt;/li&gt;    &lt;li&gt;Microsoft.SharePoint &lt;/li&gt;    &lt;li&gt;Microsoft.Office.Server &lt;/li&gt;    &lt;li&gt;Microsoft.Office.Server.UI &lt;/li&gt;    &lt;li&gt;System.Web.DataVisualization &lt;/li&gt; &lt;/ul&gt;    &lt;span class="fullpost"&gt; &lt;h5&gt;Create WCF Contract and Service Host Declaration&lt;/h5&gt;  &lt;p&gt;We start this by adding a mapped folder to the WebServices folder in {SharePointRoot}. To do this, right click the HelloServiceApplication &amp;gt; Add &amp;gt; SharePoint Mapped Folder..., then select the “WebServices” folder and click “OK”. A new WebService folder “HelloServiceApplication” will be added to the project. &lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Z7jRJouC2-U/Swtp0Kx-QCI/AAAAAAAAAE8/BlZAI694OK4/s1600/03+-+WebServicesMappedFolder.jpg"&gt;&lt;img style="width: 320px; height: 217px; cursor: pointer" id="BLOGGER_PHOTO_ID_5407532122556481570" border="0" alt="" src="http://4.bp.blogspot.com/_Z7jRJouC2-U/Swtp0Kx-QCI/AAAAAAAAAE8/BlZAI694OK4/s320/03+-+WebServicesMappedFolder.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Let’s add a contract file that has a single signature “Hello”. Right click the WebServices/HelloServiceApplication folder and add a new item. Select the “WCF Service” project template and give it a name called HelloService. &lt;/p&gt;  &lt;p&gt;Open IHelloService.cs and declare a signature “Hello”. &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:d9c1aea0-2d24-49a5-a310-652babbe921b" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px; white-space: nowrap"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Linq;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Runtime.Serialization;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.ServiceModel;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Text;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;namespace&lt;/span&gt; SharePointEgg.WebServices.HelloServiceApplication&lt;br&gt; {&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;[&lt;span style="color:#2b91af"&gt;ServiceContract&lt;/span&gt;]&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;interface&lt;/span&gt; &lt;span style="color:#2b91af"&gt;IHelloService&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;[&lt;span style="color:#2b91af"&gt;OperationContract&lt;/span&gt;]&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; Hello(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; name);&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; }&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Next we will add a service host declaration. Add a text file type in the WebServices\HelloServiceApplication folder and rename it to “Service.svc”. Open the svc file and enter the following declarative:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:eb795c9b-7620-431b-89a6-20257ea59c6b" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px;"&gt;&lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt;&lt;span style="color:#800000"&gt;ServiceHost&lt;/span&gt; &lt;span style="color:#ff0000"&gt;language&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;C#&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Debug&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Service&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;SharePointEgg.HelloServiceApplication, SharePointEgg, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c6000eb8b348f36b&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Note that you need to enter your own public key token. &lt;/p&gt;  &lt;p&gt;We will add a configuration file to our WCF service that contains the information such as the behaviour. Right click WebServices\HelloServiceApplication folder again and this time we will add an application configuration file called “web.config”. Enter the following xml to the newly added file:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:cc0f4783-a15e-42ef-be97-29c472e7d2ed" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px;"&gt;&lt;span style="color:#0000ff"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#a31515"&gt;xml&lt;/span&gt;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;version&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;1.0&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;encoding&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;utf-8&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt; ?&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;configuration&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;system.serviceModel&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;services&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;service&lt;/span&gt;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;behaviorConfiguration&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;TestBehaviour&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;name&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;Hello Service Application&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;endpoint&lt;/span&gt;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;address&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&amp;quot;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;binding&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;webHttpBinding&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;bindingConfiguration&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&amp;quot;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;contract&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;SharePointEgg.WebServices.HelloServiceApplication.IHelloService&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt; /&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;service&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;services&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;behaviors&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;serviceBehaviors&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;behavior&lt;/span&gt;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;name&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;TestBehaviour&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;serviceMetadata&lt;/span&gt;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;httpGetEnabled&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt; /&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;behavior&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;serviceBehaviors&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;behaviors&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;system.serviceModel&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;system.webServer&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;security&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;authentication&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;anonymousAuthentication&lt;/span&gt;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;enabled&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt; /&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;windowsAuthentication&lt;/span&gt;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;enabled&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;false&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt; /&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;authentication&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;security&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;system.webServer&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;configuration&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Delete HelloService.cs as we don’t need it. Also delete the app.config added to the base project. &lt;/p&gt;  &lt;p&gt;We have successfully completed a simple WCF service that is ready to deploy to a SharePoint farm. &lt;/p&gt;&lt;/span&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-2408476693441778161?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/2408476693441778161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=2408476693441778161' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/2408476693441778161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/2408476693441778161'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2009/11/create-custom-service-application-in.html' title='Create Custom Service Application in SharePoint 2010 – Part 1'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Z7jRJouC2-U/Swtp0qEE1tI/AAAAAAAAAFM/bPZNPTpFX6c/s72-c/01+-+NewProject.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-4935902565571748147</id><published>2009-11-18T08:58:00.004+11:00</published><updated>2009-11-18T09:15:59.196+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='User Profile'/><title type='text'>Setting up User Profile in SharePoint 2010 (Beta 2)</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;I am trying to setup user profile in SharePonint 2010 Beta 2.  Unfortunately I am stucked in setting up the synchronisation setting.  After bit of research, I found the trick thanks to Dave Pae's reply in the SharePoint forum.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;The key element is the "User Profile Synchronization Service".  By starting this service, this will also trigger the ForeFront Identity service, which is a key element for the user profile service.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;If you open services.msc, you can see that there are 2 Forefront Identity services.  However they have been disabled.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Z7jRJouC2-U/SwMgeqm1gtI/AAAAAAAAAEs/Ok3UWm23hoQ/s1600/DisabledForefrontIdentity.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 246px;" src="http://1.bp.blogspot.com/_Z7jRJouC2-U/SwMgeqm1gtI/AAAAAAAAAEs/Ok3UWm23hoQ/s320/DisabledForefrontIdentity.jpg" alt="" id="BLOGGER_PHOTO_ID_5405199688980071122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;To start the user profile synchronization service:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;1.) Go to the Central Administration site&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;2.) Under "System Settings", click "Manage services on server"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;3.) Start the "User Profile Synchronization Service"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Z7jRJouC2-U/SwMfw2SWzbI/AAAAAAAAAEk/d9jigKVsrak/s1600/UserSyncServiceSetup.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 218px;" src="http://3.bp.blogspot.com/_Z7jRJouC2-U/SwMfw2SWzbI/AAAAAAAAAEk/d9jigKVsrak/s320/UserSyncServiceSetup.jpg" alt="" id="BLOGGER_PHOTO_ID_5405198901841415602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;4.) Click "OK" and this will start service.  It will take a while to start the service.  Just keep refreshing the page until the service status is "Started"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Z7jRJouC2-U/SwMfwTNRGqI/AAAAAAAAAEc/0V2OXqazyVM/s1600/UserSyncService.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 218px;" src="http://4.bp.blogspot.com/_Z7jRJouC2-U/SwMfwTNRGqI/AAAAAAAAAEc/0V2OXqazyVM/s320/UserSyncService.jpg" alt="" id="BLOGGER_PHOTO_ID_5405198892424829602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;5.) You can verify if the service is working by checking the 2 Forefront Identity services in services.msc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Now you can proceed with the user profile synchronization setup.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-4935902565571748147?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/4935902565571748147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=4935902565571748147' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/4935902565571748147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/4935902565571748147'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2009/11/setting-up-user-profile-in-sharepoint.html' title='Setting up User Profile in SharePoint 2010 (Beta 2)'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Z7jRJouC2-U/SwMgeqm1gtI/AAAAAAAAAEs/Ok3UWm23hoQ/s72-c/DisabledForefrontIdentity.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-1344656255581944197</id><published>2009-11-17T16:55:00.005+11:00</published><updated>2009-11-18T09:16:46.469+11:00</updated><title type='text'>SharePoint 2010 Beta – Unrecognized attribute ‘allowInsecureTransport’</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;I am getting the following error screen when I try to create a new User profile Service:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="font-family: verdana;"&gt; &lt;/p&gt;  &lt;p style="font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Z7jRJouC2-U/SwI8Ib_UoLI/AAAAAAAAAEU/dofuSX-TjYs/s1600/allowInsecureTransport.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 218px;" src="http://2.bp.blogspot.com/_Z7jRJouC2-U/SwI8Ib_UoLI/AAAAAAAAAEU/dofuSX-TjYs/s320/allowInsecureTransport.jpg" alt="" id="BLOGGER_PHOTO_ID_5404948618447986866" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;For the time being until Microsoft release a fix for this problem, a workaround is to remove the &lt;strong&gt;allowInsecureTransport&lt;/strong&gt; attribute from the client.config file.  Make sure you backup the file though.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-1344656255581944197?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/1344656255581944197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=1344656255581944197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/1344656255581944197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/1344656255581944197'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2009/11/sharepoint-2010-beta-unrecognized.html' title='SharePoint 2010 Beta – Unrecognized attribute ‘allowInsecureTransport’'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Z7jRJouC2-U/SwI8Ib_UoLI/AAAAAAAAAEU/dofuSX-TjYs/s72-c/allowInsecureTransport.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-3548846387897011511</id><published>2009-11-17T11:10:00.003+11:00</published><updated>2009-11-18T09:17:06.868+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>SharePoint 2010 Beta 2 is out!</title><content type='html'>&lt;p style="font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;After a long wait, SharePoint 2010 Beta 2 is out. It is now available for MSDN subscribers. However it is not yet available as normal MS download yet.&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;I am downloading it and can’t really wait to install it. &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-3548846387897011511?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/3548846387897011511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=3548846387897011511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/3548846387897011511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/3548846387897011511'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2009/11/sharepoint-2010-beta-2-is-out.html' title='SharePoint 2010 Beta 2 is out!'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-3669215457375104273</id><published>2009-11-12T16:35:00.031+11:00</published><updated>2009-11-13T15:42:16.801+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Service Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Creating Custom Service Application in SharePoint 2010 - Simple WCF Sample</title><content type='html'>&lt;font size="2" face="verdana"&gt;OK, let's create a simple custom service application in SharePoint 2010. As you have read from my previous post &amp;quot;&lt;a href="http://sharepointegg.blogspot.com/2009/11/custom-service-applications-in.html"&gt;Custom Service Applications in SharePoint 2010&lt;/a&gt;&amp;quot;, a custom service application consist of a number of key components: &lt;/font&gt;  &lt;ul face="verdana"&gt;   &lt;li&gt;&lt;font size="2"&gt;A consumer web part - User Interface&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Service Provider (e.g. a WCF service)        &lt;br /&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Service Proxy - acts as a communication channel between the front end and service provider.        &lt;br /&gt;&lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;As mentioned, I have never used WCF before. Therefore I will go through the steps to create a very simple WCF service and host it in IIS. If you are familiar with WCF, you might like to skip to the next post.      &lt;br /&gt;&lt;font style="font-weight: bold"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;h5&gt;&lt;font style="font-weight: bold"&gt;Create a Service Contract and Implementation&lt;/font&gt; &lt;/h5&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;1.) In Visual Studio, create new &amp;quot;Class Library&amp;quot; project and call it &amp;quot;WCFSample&amp;quot;      &lt;br /&gt;&lt;/font&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font size="2"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: verdana" href="http://2.bp.blogspot.com/_Z7jRJouC2-U/SvzR8mZVsgI/AAAAAAAAADk/2A2sGB3skac/s1600-h/01+-+CreateNewProject.jpg"&gt;&lt;img style="width: 320px; display: block; float: none; height: 202px; margin-left: auto; cursor: pointer; margin-right: auto" id="BLOGGER_PHOTO_ID_5403424491966935554" border="0" alt="" src="http://2.bp.blogspot.com/_Z7jRJouC2-U/SvzR8mZVsgI/AAAAAAAAADk/2A2sGB3skac/s320/01+-+CreateNewProject.jpg" /&gt;&lt;/a&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;2.) We will change the assembly name and default namespace by right clicking the &amp;quot;WCFSample&amp;quot; project and enter &amp;quot;Microsoft.ServiceModel.WCFSample&amp;quot; for the &amp;quot;Assembly name&amp;quot; and &amp;quot;Default namespace&amp;quot;. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: verdana" href="http://1.bp.blogspot.com/_Z7jRJouC2-U/SvzR870v18I/AAAAAAAAADs/KCe-7R_OhD8/s1600-h/02+-+ChangeProjectProperty.jpg"&gt;&lt;img style="width: 320px; display: block; float: none; height: 190px; margin-left: auto; cursor: pointer; margin-right: auto" id="BLOGGER_PHOTO_ID_5403424497719039938" border="0" alt="" src="http://1.bp.blogspot.com/_Z7jRJouC2-U/SvzR870v18I/AAAAAAAAADs/KCe-7R_OhD8/s320/02+-+ChangeProjectProperty.jpg" /&gt;&lt;/a&gt;&lt;/font&gt;     &lt;br /&gt;&lt;font size="2" face="verdana"&gt;     &lt;br /&gt;3.) Add the &amp;quot;System.ServiceModel&amp;quot; reference to your project.       &lt;br /&gt;      &lt;br /&gt;4.) Let's create our service contract and define an operation that we are going to expose. Start by either renaming the default Class1.cs or create a new class called &amp;quot;ITestService.cs&amp;quot; and have the follow code:       &lt;br /&gt;      &lt;br /&gt;      &lt;div style="padding-bottom: 0px; padding-left: 0px; width: 348px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:3968bf22-27b7-4964-97b6-be8630cf1c2e" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px;"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Linq;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.ServiceModel;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Text;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;namespace&lt;/span&gt; Microsoft.ServiceModel.WCFSample&lt;br&gt; {&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;[&lt;span style="color:#2b91af"&gt;ServiceContract&lt;/span&gt;()]&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;interface&lt;/span&gt; &lt;span style="color:#2b91af"&gt;ITestService&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;[&lt;span style="color:#2b91af"&gt;OperationContract&lt;/span&gt;]&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; Hello(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; name);&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; }&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;   &lt;/font&gt;&lt;font size="2" face="verdana"&gt;     &lt;br /&gt;      &lt;br /&gt;5.) Next we will implement the contract by creating a new class called &amp;quot;TestService.cs&amp;quot; and put the following code in:       &lt;br /&gt;      &lt;br /&gt;      &lt;div style="padding-bottom: 0px; padding-left: 0px; width: 404px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:cb07b30d-46fc-40ce-ba1d-f3d21a4b48f9" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px;"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Linq;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Text;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;namespace&lt;/span&gt; Microsoft.ServiceModel.WCFSample&lt;br&gt; {&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;TestService&lt;/span&gt; : &lt;span style="color:#2b91af"&gt;ITestService&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; Hello(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; name)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt;.Format(&lt;span style="color:#a31515"&gt;&amp;quot;Hello {0}!!!&amp;quot;&lt;/span&gt;, name);&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; }&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;   &lt;/font&gt;    &lt;p&gt;&lt;/p&gt; So here is a very simple service that will accept a name as input and return a hello string back.     &lt;br /&gt;    &lt;br /&gt;    &lt;h5&gt;Create a WCF Service&lt;/h5&gt;    &lt;p&gt;1.) Next, we will create a WCF Service. To do that, create a new project in the WCFSample solution.      &lt;br /&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font size="2"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: verdana" href="http://4.bp.blogspot.com/_Z7jRJouC2-U/SvzR9PchLcI/AAAAAAAAAD0/Am-5Ru4I8bA/s1600-h/03+-+CreateNewWCFServiceProject.jpg"&gt;&lt;img style="width: 320px; display: block; float: none; height: 202px; margin-left: auto; cursor: pointer; margin-right: auto" id="BLOGGER_PHOTO_ID_5403424502986124738" border="0" alt="" src="http://4.bp.blogspot.com/_Z7jRJouC2-U/SvzR9PchLcI/AAAAAAAAAD0/Am-5Ru4I8bA/s320/03+-+CreateNewWCFServiceProject.jpg" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font size="2" face="verdana"&gt;2.) This time we will use the &amp;quot;WCF Service Application&amp;quot; project template and call it &amp;quot;WCFService&amp;quot;.      &lt;br /&gt;      &lt;br /&gt;3.) Add a reference to the WCFSample project that we have completed above.       &lt;br /&gt;      &lt;br /&gt;4.) Remove IService1.cs and Service1.svc.cs (expand Service1.svc).       &lt;br /&gt;      &lt;br /&gt;5.) Rename Service1.svc to Service.svc.       &lt;br /&gt;      &lt;br /&gt;6.) Since we have already implemented the service in the Microsoft.ServiceModel.WCFSample assembly, we will reference it in Service.svc. To do this, replace the ServiceHost tag to:       &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:258309f2-8041-4ef3-9354-575e47e85f2d" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px;"&gt;&lt;span style="background:#ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:#0000ff"&gt;@&lt;/span&gt; &lt;span style="color:#800000"&gt;ServiceHost&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Language&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;C#&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Debug&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000"&gt;Service&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&amp;quot;Microsoft.ServiceModel.WCFSample.TestService&amp;quot;&lt;/span&gt; &lt;span style="background:#ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;7.) And there you go, we have completed the WCF service. However we still need to add some information to the web.config.      &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;h5&gt;Configuring WCF Service Endpoints and Behaviours &lt;/h5&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;We will use the &amp;quot;WCF Service Configuration Editor&amp;quot; that comes with Visual Studio 2010 (or 2008).      &lt;br /&gt;      &lt;br /&gt;1.) In Visual Studio, go to &amp;quot;Tools&amp;quot; &amp;gt; &amp;quot;WCF Service Configuration Editor&amp;quot;. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;2.) In WCF Service Configuration Editor, go to &amp;quot;File&amp;quot; &amp;gt; &amp;quot;Open&amp;quot; &amp;gt; &amp;quot;Config File...&amp;quot; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;3.) Open the &amp;quot;Web.Config&amp;quot; in the WCFService project. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;4.) The configuration contains the default service &amp;quot;WCFService.Service1&amp;quot;. Right click and delete this as we will create a new one. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;5.) Right click the &amp;quot;Service&amp;quot; node and select &amp;quot;New Service&amp;quot;. A new service will be created and its information will show up in the right hand panel. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;6.) Select the name property and click the ellipsis button. This will open up a &amp;quot;Service Type Browser&amp;quot;. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;7.) Browse to the bin folder of the WCFService project and select the service assembly &amp;quot;Microsoft.ServiceModel.WCFSample.dll&amp;quot;. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;8.) Double click the assembly and then double click &amp;quot;Microsoft.ServiceModel.WCFSample.TestService&amp;quot;.      &lt;br /&gt;      &lt;br /&gt;&lt;/font&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font size="2"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: verdana" href="http://3.bp.blogspot.com/_Z7jRJouC2-U/SvzR9aYz-4I/AAAAAAAAAD8/ludg7zmdEW8/s1600-h/04+-+NewEndpoint.jpg"&gt;&lt;img style="width: 320px; display: block; float: none; height: 193px; margin-left: auto; cursor: pointer; margin-right: auto" id="BLOGGER_PHOTO_ID_5403424505923369858" border="0" alt="" src="http://3.bp.blogspot.com/_Z7jRJouC2-U/SvzR9aYz-4I/AAAAAAAAAD8/ludg7zmdEW8/s320/04+-+NewEndpoint.jpg" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font size="2" face="verdana"&gt;Next we define a communication endpoint:      &lt;br /&gt;      &lt;br /&gt;1.) Right click &amp;quot;Endpoints&amp;quot; and select &amp;quot;New Service Endpoint&amp;quot; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;2.) Set the &amp;quot;Address&amp;quot; property to &lt;a href="http://localhost:8082/Service.svc"&gt;http://localhost:8082/Service.svc&lt;/a&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;3.) Set the &amp;quot;Binding&amp;quot; property to &amp;quot;basicHttpBinding&amp;quot; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;4.) Set the &amp;quot;Contract&amp;quot; property to our service contract by selecting the &amp;quot;Microsoft.ServiceModel.WCFSample.dll&amp;quot; assembly and pick &amp;quot;Microsoft.ServiceModel.WCFSample.ITestService&amp;quot;      &lt;br /&gt;      &lt;br /&gt;Next we need to define the bahaviour: &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;1.) Expand the &amp;quot;Advanced&amp;quot; node.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;2.) Right click the &amp;quot;Service Bahaviours&amp;quot; node and select &amp;quot;New Service Bahaviour Configuration&amp;quot;.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;3.) Rename the new bahaviour to &amp;quot;TestBahaviour&amp;quot;.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;4.) Under &amp;quot;Bahaviour element extension position&amp;quot;, click the &amp;quot;Add...&amp;quot; button. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;5.) Select &amp;quot;serviceMetadata&amp;quot; and click &amp;quot;Add&amp;quot;. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;6.) Double click &amp;quot;serviceMetadata&amp;quot; in the list. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;7.) Set &amp;quot;HttpGetEnabled&amp;quot; to &amp;quot;True&amp;quot;.     &lt;br /&gt;      &lt;br /&gt;&lt;/font&gt;    &lt;p&gt;&lt;/p&gt;   &lt;font size="2"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="font-family: verdana" href="http://1.bp.blogspot.com/_Z7jRJouC2-U/SvzR9mLIS-I/AAAAAAAAAEE/LKYNduPETWA/s1600-h/05+-+NewBahaviour.jpg"&gt;&lt;img style="width: 320px; display: block; float: none; height: 193px; margin-left: auto; cursor: pointer; margin-right: auto" id="BLOGGER_PHOTO_ID_5403424509087206370" border="0" alt="" src="http://1.bp.blogspot.com/_Z7jRJouC2-U/SvzR9mLIS-I/AAAAAAAAAEE/LKYNduPETWA/s320/05+-+NewBahaviour.jpg" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font size="2" face="verdana"&gt;We have succesfully defined a service bahaviour.      &lt;br /&gt;      &lt;br /&gt;The next step is to set our service bahavior to the newly created behaviour.       &lt;br /&gt;1.) Expand the &amp;quot;Service&amp;quot; node and select &amp;quot;Microsoft.ServiceModel.WCFSample.TestService&amp;quot;.&amp;#160; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;2.) In the &amp;quot;BahaviourConfiguration&amp;quot; property, select &amp;quot;TestBehaviour&amp;quot;.      &lt;br /&gt;      &lt;br /&gt;We have completed the configuration of our WCF service and it is ready to deploy in IIS. &lt;/font&gt;&lt;/p&gt;  &lt;h5&gt;Deploying WCF Service to IIS &lt;/h5&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;1.) Create a new web site in IIS at port 8082.      &lt;br /&gt;      &lt;br /&gt;2.) Go to the WCFService project folder and copy the following to the web site folder: &lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="2" face="verdana"&gt;Service.svc &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2" face="verdana"&gt;Web.config &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2" face="verdana"&gt;The whole &amp;quot;bin&amp;quot; folder &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="2" face="verdana"&gt;3.) Try to access &amp;quot;http://localhost:8082/Service.svc and you should get something like this: &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Z7jRJouC2-U/SvzWU9ssjTI/AAAAAAAAAEM/pzT2IBLUV38/s1600-h/06+-+WCFWebSite.jpg"&gt;&lt;img style="width: 320px; display: block; float: none; height: 218px; margin-left: auto; cursor: pointer; margin-right: auto" id="BLOGGER_PHOTO_ID_5403429308585512242" border="0" alt="" src="http://2.bp.blogspot.com/_Z7jRJouC2-U/SvzWU9ssjTI/AAAAAAAAAEM/pzT2IBLUV38/s320/06+-+WCFWebSite.jpg" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;    &lt;h5&gt;&amp;#160;&lt;/h5&gt;    &lt;h5&gt;Testing the deployed WCF service &lt;/h5&gt;    &lt;p&gt;&lt;font size="2" face="verdana"&gt;You can start the the hosted service by writing a simple console application.        &lt;br /&gt;        &lt;br /&gt;1.) In the same solution, create a new &amp;quot;Console Application&amp;quot; project called &amp;quot;WCFClient&amp;quot;. &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="verdana"&gt;2.) Next we will use svcutil.exe to generate a proxy and a configuration file for the service: &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="verdana"&gt;3.) Run Command Prompt &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="verdana"&gt;4.) Change directory to the WCFClient project folder &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="verdana"&gt;5.) Execute the following command:&lt;/font&gt;&lt;font size="2"&gt;       &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:8e58a275-30b2-47c9-a698-9604ba4907e5" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px;"&gt;&amp;quot;C:&amp;#92;Program Files (x86)&amp;#92;Microsoft SDKs&amp;#92;Windows&amp;#92;v7.0A&amp;#92;bin&amp;#92;SvcUtil.exe&amp;quot; /languag e:cs /out:SampleServiceProxy.cs /config:app.config http://localhost:8082/Service .svc&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;     &lt;/font&gt;      &lt;p&gt;&lt;font size="2" face="verdana"&gt;6.) 2 new files have been generated in the WCFClient project folder. &lt;/font&gt;&lt;/p&gt;      &lt;p&gt;&lt;font size="2" face="verdana"&gt;7.) In the WFCClient project, add the SampleServiceProxy.cs and app.config.          &lt;br /&gt;          &lt;br /&gt;8.) Here is the source code of the WCFClient Program class:           &lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;         &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:1f2f0be3-f79a-4ef5-9f98-b4b31ff57905" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background-color: #c0c0c0; overflow: auto; padding: 2px 5px;"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Linq;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.ServiceModel;&lt;br&gt; &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Text;&lt;br&gt; &lt;br&gt; &lt;span style="color:#0000ff"&gt;namespace&lt;/span&gt; WCFClient&lt;br&gt; {&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Program&lt;/span&gt;&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; Main(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt;[] args)&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&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;&lt;span style="color:#2b91af"&gt;TestServiceClient&lt;/span&gt; tsc = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;TestServiceClient&lt;/span&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;&lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.WriteLine(tsc.Hello(&lt;span style="color:#a31515"&gt;&amp;quot;Egg&amp;quot;&lt;/span&gt;));&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; &amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br&gt; }&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;       &lt;/font&gt;        &lt;p&gt;&lt;font size="2" face="verdana"&gt;9.) Run the console application and you should get &amp;quot;Hello Egg!!!&amp;quot; back as a result.&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;/p&gt;        &lt;p&gt;So we now have a very simple WCF service running in IIS.&amp;#160; Next we will create the service application and proxy that will invoke the WCF service.&amp;#160; &lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-3669215457375104273?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/3669215457375104273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=3669215457375104273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/3669215457375104273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/3669215457375104273'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2009/11/custom-service-application-in.html' title='Creating Custom Service Application in SharePoint 2010 - Simple WCF Sample'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Z7jRJouC2-U/SvzR8mZVsgI/AAAAAAAAADk/2A2sGB3skac/s72-c/01+-+CreateNewProject.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-5382379400302560595</id><published>2009-11-09T16:15:00.007+11:00</published><updated>2009-11-09T16:56:44.498+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Service Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Custom Service Applications in SharePoint 2010</title><content type='html'>As mentioned in the last post, it is possible to implement a custom service applications in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;SharePoint&lt;/span&gt; 2010.  Here is a diagram from the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;SharePoint&lt;/span&gt; Conference, showing the components consisted in a custom service applications:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Z7jRJouC2-U/SveorhEeDAI/AAAAAAAAADc/gazH1s-Ha5o/s1600-h/Custom+Service+Application+Component.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 294px;" src="http://2.bp.blogspot.com/_Z7jRJouC2-U/SveorhEeDAI/AAAAAAAAADc/gazH1s-Ha5o/s320/Custom+Service+Application+Component.jpg" alt="" id="BLOGGER_PHOTO_ID_5401971743619156994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Based on the above diagram, knowledge on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;WCF&lt;/span&gt; services and the new &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;PowerShell&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Cmdlets&lt;/span&gt; is required to build a custom service applications.  Unfortunately I have not got a chance to play with WCF yet.  Fortunately this is a good change for me to start learning this technology which was introduced in .NET 3.0.  So if you are new to WCF, and you would like to create a custom service application, we are on the same boat. &lt;br /&gt;&lt;br /&gt;In the next few posts, I will blog about my experience in building a custom service application in SharePoint 2010, including building a simple WCF service and hosting it in IIS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-5382379400302560595?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/5382379400302560595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=5382379400302560595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/5382379400302560595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/5382379400302560595'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2009/11/custom-service-applications-in.html' title='Custom Service Applications in SharePoint 2010'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Z7jRJouC2-U/SveorhEeDAI/AAAAAAAAADc/gazH1s-Ha5o/s72-c/Custom+Service+Application+Component.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-5222018702436863716</id><published>2009-11-09T11:36:00.004+11:00</published><updated>2009-11-09T16:14:53.672+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Service Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Service Applications in SharePoint 2010</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;As you have read my previous post, Shared Service Provider is gone in SharePoint 2010 and it is replaced by Service Applications.  Quoted from the SharePoint Conference last month, here are some description for Service Applications:&lt;/span&gt; &lt;/span&gt;&lt;ul style="font-family: verdana;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;The new services model is much more flexible&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Web apps allow a la carte selection model - when you create a new web application, you have the option to select what service application to enable for that web application.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Framework is part of MSF&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Tied to single farm or shared across farms&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Easily scaled out for load balancing high demand service applications.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;In the SharePoint Conference, they have shown a Architectural View for the new Service Applications model:&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Z7jRJouC2-U/SvelEMHPxiI/AAAAAAAAADU/VvbWvaS-Gow/s1600-h/Service+Model+-+Architectural+View.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 205px;" src="http://1.bp.blogspot.com/_Z7jRJouC2-U/SvelEMHPxiI/AAAAAAAAADU/VvbWvaS-Gow/s320/Service+Model+-+Architectural+View.jpg" alt="" id="BLOGGER_PHOTO_ID_5401967769443878434" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;One interesting thing to know about the new model is that we can create custom service applications and this will be the next thing that I will start looking into it.  More details on this later.&lt;/span&gt;  &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-5222018702436863716?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/5222018702436863716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=5222018702436863716' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/5222018702436863716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/5222018702436863716'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2009/11/service-applications-in-sharepoint-2010.html' title='Service Applications in SharePoint 2010'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Z7jRJouC2-U/SvelEMHPxiI/AAAAAAAAADU/VvbWvaS-Gow/s72-c/Service+Model+-+Architectural+View.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-4848519271042321280</id><published>2009-11-06T15:40:00.006+11:00</published><updated>2009-11-06T15:54:31.811+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Not installed'/><category scheme='http://www.blogger.com/atom/ns#' term='Beta'/><title type='text'>SharePoint Not Installed Error</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;I have just installed Visual Studio 2010 Beta 2 and tried to create a new SharePoint 2010 project using the new SharePoint template.  However I am getting the error: SharePoint Not Installed (A SharePoint server is not installed on this computer.  A SharePoint server must be installed to work with SharePoint projects).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Z7jRJouC2-U/SvOqHLiyp5I/AAAAAAAAADM/4WckyMzEOc8/s1600-h/CreateSharePointProjectError.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 190px;" src="http://4.bp.blogspot.com/_Z7jRJouC2-U/SvOqHLiyp5I/AAAAAAAAADM/4WckyMzEOc8/s320/CreateSharePointProjectError.jpg" alt="" id="BLOGGER_PHOTO_ID_5400847418481878930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Strange...I have installed SharePoint 2010 Technical Preview on my development box.  After I did a bit of search.  It looks like Microsoft has blocked the creation of SharePoint project against any SharePoint builds other than Beta 2.  In other words, this will only work with SharePoint 2010 Beta 2 which is expected to be out later this month.&lt;br /&gt;&lt;br /&gt;For reference, this is what I found:&lt;br /&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopmentprerelease/thread/60cc9b09-0bd7-4f0a-aaaf-1224030bd127"&gt;http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopmentprerelease/thread/60cc9b09-0bd7-4f0a-aaaf-1224030bd127&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;For the time being, I think I will need to stick with the generic empty project template and add the SharePoint reference by myself. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;SharePoint 2010 Beta 2, can't really wait until you come out!&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-4848519271042321280?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/4848519271042321280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=4848519271042321280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/4848519271042321280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/4848519271042321280'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2009/11/sharepoint-not-installed-error.html' title='SharePoint Not Installed Error'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Z7jRJouC2-U/SvOqHLiyp5I/AAAAAAAAADM/4WckyMzEOc8/s72-c/CreateSharePointProjectError.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-9000057118557927145</id><published>2009-11-04T17:07:00.014+11:00</published><updated>2009-11-17T11:11:13.294+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Beta'/><title type='text'>More Screenies on SharePoint 2010</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;List Item View&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Z7jRJouC2-U/SvEaawa2dZI/AAAAAAAAACM/pxbhx-mpxu8/s1600-h/ListItemView.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 233px;" src="http://1.bp.blogspot.com/_Z7jRJouC2-U/SvEaawa2dZI/AAAAAAAAACM/pxbhx-mpxu8/s320/ListItemView.jpg" alt="" id="BLOGGER_PHOTO_ID_5400126475170379154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Adding List Item&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Z7jRJouC2-U/SvEai7ByLtI/AAAAAAAAACU/vfTlXaho5Lg/s1600-h/AddListItem.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 233px;" src="http://1.bp.blogspot.com/_Z7jRJouC2-U/SvEai7ByLtI/AAAAAAAAACU/vfTlXaho5Lg/s320/AddListItem.jpg" alt="" id="BLOGGER_PHOTO_ID_5400126615456984786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;List Settings&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Z7jRJouC2-U/SvEa7nYxV1I/AAAAAAAAACc/GvhsKBzdna0/s1600-h/ListSetting.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 233px;" src="http://3.bp.blogspot.com/_Z7jRJouC2-U/SvEa7nYxV1I/AAAAAAAAACc/GvhsKBzdna0/s320/ListSetting.jpg" alt="" id="BLOGGER_PHOTO_ID_5400127039681419090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;View List Item&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Z7jRJouC2-U/SvEbFFWaRRI/AAAAAAAAACk/5R_QME06Ngo/s1600-h/ViewListItem.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 233px;" src="http://2.bp.blogspot.com/_Z7jRJouC2-U/SvEbFFWaRRI/AAAAAAAAACk/5R_QME06Ngo/s320/ViewListItem.jpg" alt="" id="BLOGGER_PHOTO_ID_5400127202343404818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My Site&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Z7jRJouC2-U/SvEbU6SyzzI/AAAAAAAAACs/RyuPER_xDTA/s1600-h/MySite.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 214px;" src="http://1.bp.blogspot.com/_Z7jRJouC2-U/SvEbU6SyzzI/AAAAAAAAACs/RyuPER_xDTA/s320/MySite.jpg" alt="" id="BLOGGER_PHOTO_ID_5400127474253352754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Organisation Page in My Site&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Z7jRJouC2-U/SvEbVLVqnkI/AAAAAAAAAC0/LIIBaaHNOEU/s1600-h/MySiteOrganisation.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 214px;" src="http://2.bp.blogspot.com/_Z7jRJouC2-U/SvEbVLVqnkI/AAAAAAAAAC0/LIIBaaHNOEU/s320/MySiteOrganisation.jpg" alt="" id="BLOGGER_PHOTO_ID_5400127478828801602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tagging a page&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Z7jRJouC2-U/SvEbVsFkylI/AAAAAAAAADE/AHvxeSONWjA/s1600-h/NoteBoard.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 214px;" src="http://2.bp.blogspot.com/_Z7jRJouC2-U/SvEbVsFkylI/AAAAAAAAADE/AHvxeSONWjA/s320/NoteBoard.jpg" alt="" id="BLOGGER_PHOTO_ID_5400127487619680850" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note Board for a page&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Z7jRJouC2-U/SvEbVT55yWI/AAAAAAAAAC8/G_HwBqBU-g8/s1600-h/Tag.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 214px;" src="http://2.bp.blogspot.com/_Z7jRJouC2-U/SvEbVT55yWI/AAAAAAAAAC8/G_HwBqBU-g8/s320/Tag.jpg" alt="" id="BLOGGER_PHOTO_ID_5400127481128274274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-9000057118557927145?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/9000057118557927145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=9000057118557927145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/9000057118557927145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/9000057118557927145'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2009/11/more-screenies-on-sharepoint-2010.html' title='More Screenies on SharePoint 2010'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Z7jRJouC2-U/SvEaawa2dZI/AAAAAAAAACM/pxbhx-mpxu8/s72-c/ListItemView.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-6015370835043204627</id><published>2009-11-01T11:30:00.000+11:00</published><updated>2009-11-04T17:07:42.674+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePont 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Beta'/><title type='text'>Some thoughts on SharePoint 2010</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;The public beta of SharePoint 2010 is going to be available later this month.  Fortunately I have got a copy of Beta 1 few weeks ago.  The installation went smooth without any problem, which is good.&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;div  style="text-align: left;font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Here's the Central Administration site:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Z7jRJouC2-U/Su_JuMfooVI/AAAAAAAAABU/lr2vcAtuWlY/s1600-h/CentralAdminHome.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 233px;" src="http://2.bp.blogspot.com/_Z7jRJouC2-U/Su_JuMfooVI/AAAAAAAAABU/lr2vcAtuWlY/s320/CentralAdminHome.jpg" alt="" id="BLOGGER_PHOTO_ID_5399756273705591122" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;As you can see, the Central Administration has changed compare to SharePoint 2007.  Several things that I can see in the new Central Administration site&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;ul  style="font-family:verdana;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Configuration Wizards - There's only 1 wizard at the moment which is Farm Configuration.  But I believe there will be more in beta2, or hopefully we can build a custom wizard.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div  style="text-align: center;font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Z7jRJouC2-U/Su_LsxH8xtI/AAAAAAAAABc/9LZljZHxwww/s1600-h/FarmConfigWizard.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 233px;" src="http://1.bp.blogspot.com/_Z7jRJouC2-U/Su_LsxH8xtI/AAAAAAAAABc/9LZljZHxwww/s320/FarmConfigWizard.jpg" alt="" id="BLOGGER_PHOTO_ID_5399758448201877202" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul  style="font-family:verdana;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;No more shared services provider.  What's new in SharePoint 2010 is "Service Application Framework".  Examples or services are People(Profile), Search, Visio Services, BDC (It's now called Business Connectivity Service)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div  style="text-align: center;font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Z7jRJouC2-U/Su_Mstu5o4I/AAAAAAAAABk/zx3HWWKPnok/s1600-h/ServiceApplications.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 233px;" src="http://1.bp.blogspot.com/_Z7jRJouC2-U/Su_Mstu5o4I/AAAAAAAAABk/zx3HWWKPnok/s320/ServiceApplications.jpg" alt="" id="BLOGGER_PHOTO_ID_5399759546803135362" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;ul  style="font-family:verdana;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Ribbon is introduced in SharePoint 2010 and you can see that it is widely used even in Central Administration.  Firstly I wasn't that used to the Ribbon navigation and it took me around 10 minutes to find out how to create a new web application.  However as I play around with the site and I think ribbon is actually a good thing to have.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div  style="text-align: center;font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Z7jRJouC2-U/Su_QelEfEzI/AAAAAAAAAB0/HUaZFF-GLXI/s1600-h/Ribbon.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 233px;" src="http://3.bp.blogspot.com/_Z7jRJouC2-U/Su_QelEfEzI/AAAAAAAAAB0/HUaZFF-GLXI/s320/Ribbon.jpg" alt="" id="BLOGGER_PHOTO_ID_5399763702006092594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;Next thing is to try out the team site in SharePoint 2010.  The editing experience has dramatically changed compare to SharePoint 2007.  First of all, there are so many things that you can do on the page with the new ribbon menu.  One thing that I really like is the ability to change the page layout on the fly.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Z7jRJouC2-U/Su_WOWTKp3I/AAAAAAAAAB8/oAFu0-81mWM/s1600-h/EditModePageLayout.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 233px;" src="http://1.bp.blogspot.com/_Z7jRJouC2-U/Su_WOWTKp3I/AAAAAAAAAB8/oAFu0-81mWM/s320/EditModePageLayout.jpg" alt="" id="BLOGGER_PHOTO_ID_5399770020232996722" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;Another cool thing is the introduction of the "Rich Content".  Within a rich content placeholder, we can free text any content, as well as adding a web part any where within the content.  For example, I can add a web part between 2 paragraphs.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Z7jRJouC2-U/Su_WawPrCYI/AAAAAAAAACE/LSGRg8_FZyE/s1600-h/RichContentEditing.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 233px;" src="http://4.bp.blogspot.com/_Z7jRJouC2-U/Su_WawPrCYI/AAAAAAAAACE/LSGRg8_FZyE/s320/RichContentEditing.jpg" alt="" id="BLOGGER_PHOTO_ID_5399770233356093826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;There are so much more in this beta version, and I can really blog on every thing.  It's only a few weeks away from the public beta 2 and I am really looking forward to it.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-6015370835043204627?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/6015370835043204627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=6015370835043204627' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/6015370835043204627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/6015370835043204627'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2009/10/some-thoughts-on-sharepoint-2010.html' title='Some thoughts on SharePoint 2010'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Z7jRJouC2-U/Su_JuMfooVI/AAAAAAAAABU/lr2vcAtuWlY/s72-c/CentralAdminHome.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1182622043123890463.post-3642606029664855778</id><published>2009-10-31T11:08:00.005+11:00</published><updated>2009-10-31T11:32:42.606+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='About Me'/><title type='text'>To Begin With</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Maybe some of my background to start with...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I am a SharePoint consultant and currently working in a large supplier company based in Sydney.  I have been working in the SharePoint field since 2003.  During the last 7 years, I had involved in quite a few different projects on SharePoint 2003 and MOSS 2007, including Intranet, Online Shopping site, Community site, as well as document management system. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I actually started this blog 2 years ago.  My intention is to post some of my investigation and thoughts on SharePoint.  However due to my laziness I haven't really update this blog that often. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;One thing that I realized is that I always forgot the tricks that I found to solve a SharePoint problem.  Since SharePoint 2010 is going to release next year (Beta in November 2009), I believe I should start bloggin on any foundings so that I have a way to record my investigations, and hopefully this can benefit other that has similar problem. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Last note on the blog title: Egg is just my nickname.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1182622043123890463-3642606029664855778?l=sharepointegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointegg.blogspot.com/feeds/3642606029664855778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1182622043123890463&amp;postID=3642606029664855778' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/3642606029664855778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1182622043123890463/posts/default/3642606029664855778'/><link rel='alternate' type='text/html' href='http://sharepointegg.blogspot.com/2009/10/to-begin-with.html' title='To Begin With'/><author><name>Wilson Leung</name><uri>http://www.blogger.com/profile/15279299098903043887</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_Z7jRJouC2-U/Rq7P-XzmjSI/AAAAAAAAAAM/Q51bH0pdAlA/s200/Giant_Plastic.gif'/></author><thr:total>1</thr:total></entry></feed>
