<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Corey Roth - DotNetMafia.com - Tip of the Day</title><link>http://www.dotnetmafia.com/blogs/dotnettipoftheday/default.aspx</link><description>Bringing you the latest time saving tips for SharePoint 2010, MOSS 2007, ASP.NET, LINQ, and Visual Studio 2010</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/CoreysDotNetTipOfTheDay" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Error: [COMException (0x80040e14): Exception from HRESULT: 0x80040E14]</title><link>http://feedproxy.google.com/~r/CoreysDotNetTipOfTheDay/~3/6qbfy7Ke2tM/error-comexception-0x80040e14-exception-from-hresult-0x80040e14.aspx</link><pubDate>Wed, 04 Nov 2009 22:05:12 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:1067</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=1067</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/11/04/error-comexception-0x80040e14-exception-from-hresult-0x80040e14.aspx#comments</comments><description>&lt;p&gt;Ah, don’t you love COMExceptions?&amp;#160; Recently, I was adding two new site columns to a list and encountered a whole slew of errors when trying to create new items in the list.&amp;#160; This is the error I got when I was trying to create a custom folder.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x80040E14      &lt;br /&gt;[COMException (0x80040e14): Exception from HRESULT: 0x80040E14]       &lt;br /&gt;&amp;#160;&amp;#160; Microsoft.SharePoint.Library.SPRequestInternalClass.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bUpdateNoVersion, Int32&amp;amp; plID, String&amp;amp; pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object&amp;amp; pvarAttachmentNames, Object&amp;amp; pvarAttachmentContents, Object&amp;amp; pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish) +0       &lt;br /&gt;&amp;#160;&amp;#160; Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bUpdateNoVersion, Int32&amp;amp; plID, String&amp;amp; pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object&amp;amp; pvarAttachmentNames, Object&amp;amp; pvarAttachmentContents, Object&amp;amp; pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish) +203 &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;This is the error when I tried to check in a document.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;[COMException (0x81020030): The URL &amp;#39;Lists/MyList/MyDocument.docx&amp;#39; is invalid.&amp;#160; It may refer to a nonexistent file or folder, or refer to a valid file or folder that is not in the current Web.]      &lt;br /&gt;&amp;#160;&amp;#160; Microsoft.SharePoint.Library.SPRequestInternalClass.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bUpdateNoVersion, Int32&amp;amp; plID, String&amp;amp; pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object&amp;amp; pvarAttachmentNames, Object&amp;amp; pvarAttachmentContents, Object&amp;amp; pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish) +0       &lt;br /&gt;&amp;#160;&amp;#160; Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bUpdateNoVersion, Int32&amp;amp; plID, String&amp;amp; pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object&amp;amp; pvarAttachmentNames, Object&amp;amp; pvarAttachmentContents, Object&amp;amp; pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish) +203&lt;/em&gt; &lt;/p&gt;  &lt;p&gt;Lastly, this is the error I got when trying to save a document from Microsoft Word after using the New Document command.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;The internet address ‘http://moss-server/Lists/MyList/MyDocument.docx’ is not valid.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Wow!&amp;#160; That’s a whole lot of different errors that all are stemming from the same issue.&amp;#160; What’s the issue? Well after some quick Google research, I knew it had something to do with duplicate columns.&amp;#160; I just added two new columns, so I knew where to start.&amp;#160; In this case, I cut and paste one column and changed the values of the DisplayName, Name, and StaticName columns as well as the Id.&amp;#160; I figured that should be good, but that was not the case.&amp;#160; Look at my two columns and see if you can spot the issue.&lt;/p&gt;   &lt;div style="font-family:consolas;background:black;color:white;font-size:13pt;font-weight:bold;"&gt;   &lt;p style="margin:0px;"&gt;&amp;lt;&lt;span style="color:#cc7832;"&gt;Field&lt;/span&gt; &lt;span style="color:silver;"&gt;Type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Text&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;DisplayName&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;MyField1&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;Required&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;FALSE&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;MaxLength&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;255&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;Group&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Custom&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;ID&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;{8e62a2e4-20b9-4689-b379-4674db156b25}&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;SourceID&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;http://schemas.microsoft.com/sharepoint/v3&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;StaticName&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;&lt;span style="color:#a5c25c;"&gt;MyField1&lt;/span&gt;&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;Name&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;&lt;span style="color:#a5c25c;"&gt;MyField1&lt;/span&gt;&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;Customization&lt;/span&gt;=&amp;quot;&amp;quot; &lt;span style="color:silver;"&gt;ColName&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;nvarchar20&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;RowOrdinal&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;0&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;lt;&lt;span style="color:#cc7832;"&gt;Field&lt;/span&gt; &lt;span style="color:silver;"&gt;Type&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Text&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;DisplayName&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;&lt;span style="color:#a5c25c;"&gt;MyField2&lt;/span&gt;&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;Required&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;FALSE&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;MaxLength&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;255&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;Group&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;Custom&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;ID&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;{C133215B-053A-4a31-BD1E-724140A4663D}&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;SourceID&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;http://schemas.microsoft.com/sharepoint/v3&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;StaticName&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;&lt;span style="color:#a5c25c;"&gt;MyField12&lt;/span&gt;&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;Name&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;&lt;span style="color:#a5c25c;"&gt;MyField2&lt;/span&gt;&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;Customization&lt;/span&gt;=&amp;quot;&amp;quot; &lt;span style="color:silver;"&gt;ColName&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;nvarchar20&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;RowOrdinal&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;0&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;Everything might look ok at first, but it won’t look ok if you are familiar with what the &lt;em&gt;ColName&lt;/em&gt; attribute does.&amp;#160; This specifies the specific field in the underlying database you want that column to use.&amp;#160; As you can see in my case, ColName for both fields is set to &lt;em&gt;nvarchar20&lt;/em&gt;.&amp;#160; This causes a big problem (and all of the errors you see above).&amp;#160; Now you ask why on earth would I have ColName specified?&amp;#160; Well, that is actually a result of &lt;a href="http://spsource.codeplex.com"&gt;SPSource&lt;/a&gt;.&amp;#160; I assume, the way it works is by looking at the Schema property of the field when it exports it which contains this extra information.&amp;#160; The fix is quite simple.&amp;#160; Just remove the ColName attribute and everything will work fine.&amp;#160; Again, if you haven’t checked out SPSource yet, I recommend it for exporting content types and lists, but be sure to look over any XML before you use it.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=1067" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/CoreysDotNetTipOfTheDay/~4/6qbfy7Ke2tM" height="1" width="1"/&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Error/default.aspx">Error</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SPSource/default.aspx">SPSource</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/ECM/default.aspx">ECM</category><feedburner:origLink>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/11/04/error-comexception-0x80040e14-exception-from-hresult-0x80040e14.aspx</feedburner:origLink></item><item><title>Speaking at Tulsa TechFest 2009</title><link>http://feedproxy.google.com/~r/CoreysDotNetTipOfTheDay/~3/-tzkEIEnFu8/speaking-at-tulsa-techfest-2009.aspx</link><pubDate>Mon, 02 Nov 2009 22:02:52 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:1061</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=1061</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/11/02/speaking-at-tulsa-techfest-2009.aspx#comments</comments><description>&lt;p&gt;@SPKyle let work get in the way of his speaking gig, so I get to fill his spot this year. :-)&amp;#160; I’m going to be giving my intro talk on Enterprise Search.&amp;#160; This is a good talk for anyone that isn’t very familiar with what Enterprise Search can do for their organization.&amp;#160; It’s also good for those that are looking to learn more about what other types of content can be indexed.&amp;#160; I’ve also updated it to include what’s new in search with SharePoint 2010.&lt;/p&gt;  &lt;p&gt;It wouldn’t be a Tech Fest without a Dot Net Mafia event.&amp;#160; If you are coming in early to speak or attend the conference, we’ve got something for you to do Thursday night.&amp;#160; We’ll be meeting at our usual venue, &lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=dirty&amp;#39;s+tavern,+tulsa,+ok&amp;amp;sll=37.0625,-95.677068&amp;amp;sspn=40.052282,59.238281&amp;amp;ie=UTF8&amp;amp;hq=dirty&amp;#39;s+tavern,&amp;amp;hnear=Tulsa,+OK&amp;amp;ll=36.157662,-95.987227&amp;amp;spn=0.009996,0.014462&amp;amp;z=16&amp;amp;iwloc=A"&gt;Dirty’s Tavern&lt;/a&gt; (325 E. 2nd St – 2nd and Elgin) which is just a few blocks down from the Crowne Plaza hotel.&amp;#160; We’ll probably be meeting there around 7:00 or 8:00 and hanging out until whenever.&amp;#160; If you get hungry, there is a Pizza place right next door.&amp;#160; If you need more info, get a hold of me on &lt;a href="http://twitter.com/coreyroth"&gt;twitter&lt;/a&gt;.&amp;#160; Look forward to seeing you all there.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=1061" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/CoreysDotNetTipOfTheDay/~4/-tzkEIEnFu8" height="1" width="1"/&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/TechFest/default.aspx">TechFest</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Presentations/default.aspx">Presentations</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePint/default.aspx">SharePint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category><feedburner:origLink>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/11/02/speaking-at-tulsa-techfest-2009.aspx</feedburner:origLink></item><item><title>Where’s my SSP!? Introducing the SharePoint Services Architecture</title><link>http://feedproxy.google.com/~r/CoreysDotNetTipOfTheDay/~3/mLEEwWAqqyE/where-s-my-ssp-introducing-the-sharepoint-services-architecture.aspx</link><pubDate>Mon, 02 Nov 2009 15:41:41 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:1059</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=1059</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/11/02/where-s-my-ssp-introducing-the-sharepoint-services-architecture.aspx#comments</comments><description>&lt;p&gt;Shared Services Provider.&amp;#160; Gone!&amp;#160; &lt;/p&gt;  &lt;p&gt;The concept of the SSP is no more.&amp;#160; It has been replaced with a new concept called the Services Architecture.&amp;#160; Your SharePoint installation will not have a separate SSP site like you had in the past.&amp;#160; You now manage all of your familiar services like Search, the BDC, Excel Services directly through Central Administration on the new Manage Service Application page.&amp;#160; This is where you will go to find familiar screens like Search Administration, User Profiles, and the Business Data Catalog (now BCS).&amp;#160; The trick to getting to them, click on the item in the list and then use the Manage button on the toolbar.&amp;#160; &lt;/p&gt;  &lt;p&gt;I’m not going to go into a lengthy explanation of how it all works (because honestly I don’t understand it all), but I’ll give you a quick run down.&amp;#160; Before we start, the term &lt;em&gt;Service&lt;/em&gt; is highly overused.&amp;#160; In this case it does not refer to a WCF, Web, or Windows service.&amp;#160; In this case, Service refers to the actual program be it Search or something that you write yourself.&amp;#160; A Service Application is an the configuration of your service on the farm.&amp;#160; The provider of the Service will provide you the developer with a Service Application Proxy.&amp;#160; This is basically some type of assembly that interacts with the service via WCF.&amp;#160; If the Service Application is installed on multiple servers in the farm, a built-in load balancing scheme will be used to distribute request among servers.&amp;#160; From my understanding, all of the existing API calls for things like search have been updated to fit into this model.&lt;/p&gt;  &lt;p&gt;Effectively the Services Architecture is a new pluggable architecture which makes it possible for third parties to create their own services.&amp;#160; I’ll also point out that you can now publish specific services and consume specific servers from remote farms which gives you quite a bit more flexibility.&amp;#160; As opposed to the all or nothing we had with sharing SSP services between farms in MOSS 2007.&amp;#160; &lt;a href="http://www.andrewconnell.com/blog/archive/2009/10/19/the-new-service-application-architecture-in-sharepoint-server-2010.aspx"&gt;Andrew Connell&lt;/a&gt; has a post that goes into more detail on why they shifted to this new architecture.&amp;#160; It’s definitely worth the read.&lt;/p&gt;  &lt;p&gt;Since the SSP is gone, you may be wondering what’s going to happen with all my code that references the SSP.&amp;#160; If you using something like the UserProfile object and using the ServerContext object to reference the SSP, it may or may not work.&amp;#160; ServerContext has been marked as deprecated.&amp;#160; If you do try to use ServerContext, Visual Studio will tell you to use ServiceContext instead.&amp;#160; If you do have SSP specific code, be sure and test it specifically during your upgrade process.&lt;/p&gt;  &lt;p&gt;BTW, the start of this post was an obscure reference to another presentation on a completely unrelated topic.&amp;#160; I’ll be truly impressed if anyone gets it. :)&lt;/p&gt;  &lt;p&gt;Follow me on &lt;a href="http://twitter.com/coreyroth"&gt;twitter&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=1059" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/CoreysDotNetTipOfTheDay/~4/mLEEwWAqqyE" height="1" width="1"/&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category><feedburner:origLink>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/11/02/where-s-my-ssp-introducing-the-sharepoint-services-architecture.aspx</feedburner:origLink></item><item><title>Turning on the Developer Dashboard in SharePoint 2010</title><link>http://feedproxy.google.com/~r/CoreysDotNetTipOfTheDay/~3/PH6vtZIFJ7s/turning-on-the-developer-dashboard-in-sharepoint-2010.aspx</link><pubDate>Fri, 30 Oct 2009 18:42:01 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:1043</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=1043</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/30/turning-on-the-developer-dashboard-in-sharepoint-2010.aspx#comments</comments><description>&lt;p&gt;The developer dashboard is a great new feature that developers can use to aid them in tuning performance on a page.&amp;#160; This new functionality adds information to the bottom of any page in SharePoint that displays performance information and what SQL queries were executed to display the page.&amp;#160; To my knowledge, there is currently no way in the UI to turn this on, so you can do this with a quick x64 console application.&amp;#160; This is soon to become a quite popular code snippet I am sure.&lt;/p&gt;  &lt;div style="font-family:consolas;background:black;color:white;font-size:13pt;font-weight:bold;"&gt;   &lt;p style="margin:0px;"&gt;SPPerformanceMonitor performanceMonitor = SPFarm.Local.PerformanceMonitor;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;performanceMonitor.DeveloperDashboardLevel = SPPerformanceMonitoringLevel.On;&lt;/p&gt; &lt;/div&gt;   &lt;p&gt;All you need is those two lines of code.&amp;#160; When you are done with it, simply set the monitoring level to Off.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=1043" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/CoreysDotNetTipOfTheDay/~4/PH6vtZIFJ7s" height="1" width="1"/&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SPC09/default.aspx">SPC09</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category><feedburner:origLink>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/30/turning-on-the-developer-dashboard-in-sharepoint-2010.aspx</feedburner:origLink></item><item><title>Will Virtualization die in SharePoint 2010 development?</title><link>http://feedproxy.google.com/~r/CoreysDotNetTipOfTheDay/~3/-Z8KuNp6UWc/will-virtualization-die-in-sharepoint-2010-development.aspx</link><pubDate>Fri, 30 Oct 2009 17:45:55 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:1042</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>11</slash:comments><wfw:commentRss>http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=1042</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/30/will-virtualization-die-in-sharepoint-2010-development.aspx#comments</comments><description>&lt;p&gt;This is already starting to be an interesting topic, so I wanted to post about it.&amp;#160; We’ll start with the facts.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;SharePoint 2010 only runs on 64 bit operating systems &lt;/li&gt;    &lt;li&gt;In the past, SharePoint developers have pretty much always had to develop in a virtual environment &lt;/li&gt;    &lt;li&gt;Windows Virtual PC does not support 64 bit guests but other non-Microsoft virtualization technologies do &lt;/li&gt;    &lt;li&gt;SharePoint 2010 can run on Windows 7 / Vista x64 &lt;/li&gt;    &lt;li&gt;Most developers do not want to run a server OS on their development machine &lt;/li&gt;    &lt;li&gt;Some developers may still be running 32 bit operating systems (ack!) &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;So what does this mean?&amp;#160; For some reason, Microsoft has not given us desktop virtualization software that can run 64 bit guest (even though Hyper-V can).&amp;#160; So I think this left Microsoft a choice.&amp;#160; Get 64 bit guests added to Windows Virtual PC, recommend developers use a non Microsoft virtualization technology, or get SharePoint working on Windows 7 and Vista.&amp;#160; Now, adding 64 bit support I am sure is quite an undertaking and they definitely don’t want to recommend a competitor’s product.&amp;#160; This means that making SharePoint work directly on the developer’s machine the obvious choice.&amp;#160; After all it runs on top of IIS and IIS is pretty similar between Windows Server 2008, Windows 7, and Windows Vista (yes, I do know there are differences).&lt;/p&gt;  &lt;p&gt;Now, I think it will be interesting to see what path developers choose here.&amp;#160; Many developers I am sure probably already were using another virtualization software such as VMWare.&amp;#160; For them, they are pretty much unaffected and will probably continue to developer in their VM.&amp;#160; By now, I think most SharePoint developers have it engrained in them that they must develop on a VM, but maybe they will change their mind.&amp;#160; People are so accustomed to thinking that development must be done in a VM, I hear them asking not when the beta 2 install will be available, but when will the VM be available?&amp;#160; My answer is always well even if you have a VM, you aren’t going to be able to run it unless you are running Hyper-V or it was made with VMware.&lt;/p&gt;  &lt;p&gt;Personally, I think I like the idea of running SharePoint on my laptop.&amp;#160; I lose some flexibility that the VM gives me but I also gain some convenience of not having to maintain multiple versions of Visual Studio and what not.&amp;#160; Will it affect performance of my laptop?&amp;#160; Absolutely, but that just gives me a chance to ask for better hardware. :)&amp;#160; Of course, if you are in a company where you have little control of your hardware, getting upgraded to Windows 7 x64 could be an issue.&lt;/p&gt;  &lt;p&gt;UPDATE: &lt;a href="http://twitter.com/spmcdonough"&gt;@spmcdonough&lt;/a&gt; reminded me in a comment about booting a VHD natively with Windows 7.&amp;#160; This option was actually brought up in the Patterns &amp;amp; Practices talk at SPC.&amp;#160; They of course did not mention any competing virtualization solutions. :)&amp;#160; It certainly is a way to get some good VHD performance by running the operating system natively.&amp;#160; This may be a good option for some people but probably not for me.&amp;#160; I don’t want to have to leave everything behind in my Client OS while I am doing my development.&amp;#160; Sure you could install all the various things that you use from your client environment onto that VHD but then aren’t you just replacing your client OS with a server OS?&amp;#160; It is an interesting option though.&amp;#160; It may not work for me, but it might for some.&amp;#160; Although I have to say I might consider it if I had a second machine available.&lt;/p&gt;  &lt;p&gt;So what do you think you are going to do?&amp;#160;&amp;#160; Are you going to install it locally on your Windows 7 machine?&amp;#160; Go with VMware?&amp;#160; Install Windows Server 2008 on your laptop maybe?&amp;#160; Quit SharePoint development? :)&amp;#160; There are pros and cons to each approach.&amp;#160; I’d love to hear your plan.&amp;#160; Leave a comment and tell us your plan.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=1042" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/CoreysDotNetTipOfTheDay/~4/-Z8KuNp6UWc" height="1" width="1"/&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category><feedburner:origLink>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/30/will-virtualization-die-in-sharepoint-2010-development.aspx</feedburner:origLink></item><item><title>Quick overview of Master Pages in SharePoint 2010</title><link>http://feedproxy.google.com/~r/CoreysDotNetTipOfTheDay/~3/JyMLtJafKm4/quick-overview-of-master-pages-in-sharepoint-2010.aspx</link><pubDate>Fri, 30 Oct 2009 14:54:08 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:1041</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=1041</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/30/quick-overview-of-master-pages-in-sharepoint-2010.aspx#comments</comments><description>&lt;p&gt;SharePoint 2010 brings a few new master pages that you may want to know about.&amp;#160; There are additional master pages to accommodate both the old and new versions of UI.&amp;#160; There are also some simplified pages to take note in.&lt;/p&gt;  &lt;p&gt;The first master page we will talk about is &lt;strong&gt;v4.master&lt;/strong&gt;.&amp;#160; This is the default team site master page used with version 4 (obviously) of the UI.&amp;#160; This will be the master page you typically use. It provides the ribbon bar and all of the other new visual UI changes such as the site actions menu on the left side.&lt;/p&gt;  &lt;p&gt;If you did an upgrade to SharePoint 2010 and haven’t transitioned to the new UI yet, the old master page is still in &lt;strong&gt;default.master&lt;/strong&gt;.&amp;#160; This looks just like the master page you use in SharePoint v3 today.&amp;#160; It doesn’t have the ribbon bar and the site actions menu is still on the right side.&lt;/p&gt;  &lt;p&gt;The search pages by default now use &lt;strong&gt;minimal.master&lt;/strong&gt;.&amp;#160; This is a really slimmed down master page with next to nothing on it.&amp;#160; It doesn’t even have navigation.&amp;#160; I’m not sure why they opted to use this page in Search Center, but I think it provides and issue with people trying to leave the search center.&amp;#160; The Office Web Applications also use this master page but that makes a little more sense because it provides more screen real estate.&lt;/p&gt;  &lt;p&gt;The last page I will mention is &lt;strong&gt;simple.master&lt;/strong&gt;.&amp;#160; This page is used for login and error pages.&amp;#160; From what I understand, it can’t be customized (I have no idea why), but it can be replaced.&lt;/p&gt;  &lt;p&gt;I hope this helps if you were curious about the new master pages.&amp;#160; I’ll also remind you again that application pages can also now make use of any branded master pages you might have created.&amp;#160; I’ll also point out that the master pages all use properly formed XHTML although I am not sure about default.master.&amp;#160; I will check that when I get a chance.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=1041" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/CoreysDotNetTipOfTheDay/~4/JyMLtJafKm4" height="1" width="1"/&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category><feedburner:origLink>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/30/quick-overview-of-master-pages-in-sharepoint-2010.aspx</feedburner:origLink></item><item><title>Solution Dependencies in SharePoint 2010</title><link>http://feedproxy.google.com/~r/CoreysDotNetTipOfTheDay/~3/fNh_bZzCcDo/solution-dependencies-in-sharepoint-2010.aspx</link><pubDate>Wed, 28 Oct 2009 20:30:56 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:1039</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=1039</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/28/solution-dependencies-in-sharepoint-2010.aspx#comments</comments><description>&lt;p&gt;With MOSS 2007, I often got asked what order do I install these solution packages in.&amp;#160; Oftentimes, it was critical that they get installed in a particular order.&amp;#160; With features, we have had the ability to set dependencies, but we really didn’t have anything like that for solution packages.&amp;#160; Well, I haven’t heard people talking about this new feature yet, but we can in fact set solution dependencies in the manifest.xml file.&lt;/p&gt;  &lt;p&gt;The way it works is that it checks to see if a dependent solution has already been deployed on your farm (or site collection for sandbox solutions).&amp;#160; However, it won’t chain deploy child solutions for you like you can do with hidden dependent features.&amp;#160; It does this check when you attempt to deploy the feature (not when you add it).&amp;#160; It also won’t remove a parent solution should you remove any of its dependent child solutions.&amp;#160; Solution dependencies will also work between sandbox and farm solutions.&amp;#160; Here is what the XML looks like that you will put in your manifest file.&lt;/p&gt;  &lt;div style="font-family:consolas;background:black;color:white;font-size:13pt;font-weight:bold;"&gt;   &lt;p style="margin:0px;"&gt;&amp;lt;&lt;span style="color:#cc7832;"&gt;ActivationDependencies&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;ActivationDependency&lt;/span&gt; &lt;span style="color:silver;"&gt;SolutionId&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;{CF4F3DC2-FE50-40bc-8F33-C58FF4F487E2}&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;lt;/&lt;span style="color:#cc7832;"&gt;ActivationDependencies&lt;/span&gt;&amp;gt;&lt;/p&gt; &lt;/div&gt;   &lt;p&gt;The last thing I’ll point out is there is no Visual Studio Designer support, but you can get to the XML through the package editor and add the necessary XML pretty easily.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=1039" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/CoreysDotNetTipOfTheDay/~4/fNh_bZzCcDo" height="1" width="1"/&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Solution/default.aspx">Solution</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category><feedburner:origLink>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/28/solution-dependencies-in-sharepoint-2010.aspx</feedburner:origLink></item><item><title>Keyword Syntax Additions in SP2010 Enterprise Search (Yes, even Wildcards!)</title><link>http://feedproxy.google.com/~r/CoreysDotNetTipOfTheDay/~3/ac6VZviHIXE/keyword-syntax-additions-in-sp2010-enterprise-search-yes-even-wildcards.aspx</link><pubDate>Tue, 27 Oct 2009 19:20:53 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:1035</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=1035</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/27/keyword-syntax-additions-in-sp2010-enterprise-search-yes-even-wildcards.aspx#comments</comments><description>&lt;p&gt;I attended numerous Search sessions at SPC09 and one thing that I was excited to see is there have been a few improvements in the keyword syntax that will pretty much eliminate the need to use &lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/03/06/how-to-use-the-moss-enterprise-search-fulltextsqlquery-class.aspx"&gt;Full Text SQL&lt;/a&gt; queries any longer.&amp;#160; In fact, the impression I got from my last search session is that Full Text SQL queries are pretty much considered dead and they should not be used (but they will still work).&amp;#160; &lt;/p&gt;  &lt;p&gt;The first thing you should know is that you can query SharePoint Search or FAST Search with the keyword query syntax.&amp;#160; There is no need to learn a different syntax to do basic queries with FAST.&amp;#160; FAST does have its own query language called FQL, but we’ll talk about that some time in the future.&amp;#160; Now for the exciting stuff.&lt;/p&gt;  &lt;p&gt;Keyword queries now support prefix matching.&amp;#160; This is huge.&amp;#160; If you are reading this I am guessing you have a customer that has asked for wildcard searching.&amp;#160; This is going to eliminate a lot of your headaches.&amp;#160; You can query on a single term or on a managed property.&amp;#160; Here are some examples.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;em&gt;Red* – &lt;/em&gt;would return results for red, Redmond, Redding, redistribute, etc.&lt;/li&gt;    &lt;li&gt;&lt;em&gt;ProductName:Comp – &lt;/em&gt;would return items with a manager property of computer, computation, complete, etc.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I am very excited that I will be able to retire the &lt;a href="http://wildcardsearch.codeplex.com"&gt;Wildcard Search Web Part&lt;/a&gt;.&amp;#160; It simply will not be needed any more and this keyword syntax will make it much easier to get better results off of wildcard queries.&lt;/p&gt;  &lt;p&gt;Another cool feature is support for Boolean operators.&amp;#160; Before, the keyword query syntax really only effectively supported &lt;em&gt;AND &lt;/em&gt;between terms.&amp;#160; You can now do either.&amp;#160; Here is an example.&lt;/p&gt;  &lt;p&gt;“&lt;em&gt;Red” OR “Green”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;You can also group things together using parenthesis and use the AND operator as well.&amp;#160; This gives you a lot more flexibility now and will make it so you rely less on Full Text SQL queries to do these kinds of searches.&lt;/p&gt;  &lt;p&gt;The last thing that I will mention is that you can use operators now in keyword queries to search against non text fields.&amp;#160; For example, you could query using a managed property greater than a certain value.&amp;#160; I need to double check this syntax, but I am pretty sure it looks something like this.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;RecordCount &amp;gt; 100&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;As you can imagine, these improvements largely eliminate the need for writing Full Text SQL queries and doing huge customizations to the search center.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=1035" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/CoreysDotNetTipOfTheDay/~4/ac6VZviHIXE" height="1" width="1"/&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Enterprise+Search/default.aspx">Enterprise Search</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category><feedburner:origLink>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/27/keyword-syntax-additions-in-sp2010-enterprise-search-yes-even-wildcards.aspx</feedburner:origLink></item><item><title>Metadata Inheritance in SharePoint 2010</title><link>http://feedproxy.google.com/~r/CoreysDotNetTipOfTheDay/~3/9OYLAZN6TC0/metadata-inheritance-in-sharepoint-2010.aspx</link><pubDate>Mon, 26 Oct 2009 15:09:02 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:1032</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=1032</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/26/metadata-inheritance-in-sharepoint-2010.aspx#comments</comments><description>&lt;p&gt;One new ECM feature that not too many people have talked about is the concept of default values for site columns.&amp;#160; It turns out that you can use default values to do metadata inheritance.&amp;#160; The way it works is that if you have a custom content types for your folder and child items, you can set default values on the folder and when a new document is created it will automatically set those values on the child content type.&amp;#160; We used to have to write &lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/05/19/implementing-metadata-inheritance-using-an-itemeventreceiver.aspx"&gt;code&lt;/a&gt; to do this back in MOSS 2007.&lt;/p&gt;  &lt;p&gt;After hearing about this new feature, I decided to go to the HOL while I was at SPC and see if I could get it to work.&amp;#160; I created two new content types and created a new folder.&amp;#160; When I brought up the ECB for the folder I saw a new item that said something to the effect of &lt;em&gt;Set Default Values on this Folder&lt;/em&gt;.&amp;#160; Here I was able to set values on my site columns.&amp;#160; I then uploaded a document to the folder and viewed the properties and sure enough it had the default values I specified.&amp;#160; I then used the new document button inside the folder and I noticed that the Document Information Panel did not have the default values.&amp;#160; I saved the document to see if they would get set then, but they in fact did not.&amp;#160; Now I don’t know if that is a bug or is by design or not.&amp;#160; I guess only time will tell.&lt;/p&gt;  &lt;p&gt;Either way, I think this is a good start and will definitely eliminate some code we have to write in the future.&amp;#160; What I would really like to see next is an option to apply default values to all child items when there is a change (kind of like how you can apply changes to a content type).&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=1032" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/CoreysDotNetTipOfTheDay/~4/9OYLAZN6TC0" height="1" width="1"/&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/ECM/default.aspx">ECM</category><feedburner:origLink>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/26/metadata-inheritance-in-sharepoint-2010.aspx</feedburner:origLink></item><item><title>What’s new in Services on Server in SP2010</title><link>http://feedproxy.google.com/~r/CoreysDotNetTipOfTheDay/~3/29RMe5OH0rg/what-s-new-in-services-on-server-in-sp2010.aspx</link><pubDate>Thu, 22 Oct 2009 20:00:50 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:1021</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=1021</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/22/what-s-new-in-services-on-server-in-sp2010.aspx#comments</comments><description>&lt;p&gt;Curious to know what the Services on Server page looks like now?&amp;#160; Well, then this is the post for you.&amp;#160; Instead of just having the 6 or so services that you had in MOSS 2007, there are many more services listed on the Services on Server page.&amp;#160; Here is what your list might look like (pending changes of course).&amp;#160; Since the move to Service Applications, you will probably find yourself concentrating on this page as much, but it’s still there.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Access Database Service &lt;/li&gt;    &lt;li&gt;Application Registry Service &lt;/li&gt;    &lt;li&gt;Business Data Connectivity &lt;/li&gt;    &lt;li&gt;Central Administration &lt;/li&gt;    &lt;li&gt;Document Conversion Launcher Service &lt;/li&gt;    &lt;li&gt;Document Conversion Load Balancing Service &lt;/li&gt;    &lt;li&gt;Excel Calculation Services &lt;/li&gt;    &lt;li&gt;Lotus Notes Connector &lt;/li&gt;    &lt;li&gt;Managed Metadata Web Service &lt;/li&gt;    &lt;li&gt;Microsoft SharePoint Foundation Incoming E-mail &lt;/li&gt;    &lt;li&gt;Microsoft SharePoint Foundation Subscription Settings Service &lt;/li&gt;    &lt;li&gt;Microsoft SharePoint Foundation Web Application &lt;/li&gt;    &lt;li&gt;Microsoft SharePoint Foundation User Code Service &lt;/li&gt;    &lt;li&gt;PerformancePoint Service &lt;/li&gt;    &lt;li&gt;PowerPoint Service &lt;/li&gt;    &lt;li&gt;Search Query and Site Settings Service &lt;/li&gt;    &lt;li&gt;Secure Store Service &lt;/li&gt;    &lt;li&gt;SharePoint Foundation Search &lt;/li&gt;    &lt;li&gt;SharePoint Server Search &lt;/li&gt;    &lt;li&gt;User Profile Service &lt;/li&gt;    &lt;li&gt;User Profile Synchronization Service &lt;/li&gt;    &lt;li&gt;Visio Graphics Service &lt;/li&gt;    &lt;li&gt;Web Analytics Data Processing Service &lt;/li&gt;    &lt;li&gt;Web Analytics Web Service &lt;/li&gt;    &lt;li&gt;Word Automation Services &lt;/li&gt;    &lt;li&gt;Word Viewing Service &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;As you get more familiar with the concept of Service Applications, you will notice that many of the items on this list are service applications.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=1021" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/CoreysDotNetTipOfTheDay/~4/29RMe5OH0rg" height="1" width="1"/&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SPC09/default.aspx">SPC09</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category><feedburner:origLink>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/22/what-s-new-in-services-on-server-in-sp2010.aspx</feedburner:origLink></item><item><title>New Events in SharePoint 2010</title><link>http://feedproxy.google.com/~r/CoreysDotNetTipOfTheDay/~3/SeUoOi1dPkg/new-events-in-sharepoint-2010.aspx</link><pubDate>Thu, 22 Oct 2009 15:52:56 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:1020</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=1020</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/22/new-events-in-sharepoint-2010.aspx#comments</comments><description>&lt;p&gt;Microsoft really answered the call of developers by adding several new events that developers had been wanting in MOSS 2007.&amp;#160; Event better, Visual Studio 2010 really makes it easy by using the new Add Event Receiver wizard.&amp;#160; It provides an interface with all of the possible things you might want to implement and then creates them in a class for you.&amp;#160; When it comes to feature receivers, I’ll point out that SPFeatureReceiver no longer requires you to implement every method.&amp;#160; You can now just create Event Handling methods for the events you care about.&lt;/p&gt;  &lt;p&gt;Here is a list of the new events.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;FeatureUpgrading &lt;/li&gt;    &lt;li&gt;WebAdding &lt;/li&gt;    &lt;li&gt;WebProvisioned &lt;/li&gt;    &lt;li&gt;ListAdding &lt;/li&gt;    &lt;li&gt;ListAdded &lt;/li&gt;    &lt;li&gt;ListDeleting &lt;/li&gt;    &lt;li&gt;ListDeleted &lt;/li&gt;    &lt;li&gt;WorkflowStarting &lt;/li&gt;    &lt;li&gt;WorkflowStarted &lt;/li&gt;    &lt;li&gt;WorkflowPostponed &lt;/li&gt;    &lt;li&gt;WorkflowCompleted &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Hopefully, what the events do is obvious from their names.&amp;#160; Of course, the name of these events might change at some point in the future.&amp;#160; I would like to see the WebProvisioned event be renamed WebAdded personally.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=1020" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/CoreysDotNetTipOfTheDay/~4/SeUoOi1dPkg" height="1" width="1"/&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SPC09/default.aspx">SPC09</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category><feedburner:origLink>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/22/new-events-in-sharepoint-2010.aspx</feedburner:origLink></item><item><title>Lots of Databases in SharePoint 2010</title><link>http://feedproxy.google.com/~r/CoreysDotNetTipOfTheDay/~3/4H_2eKmvKOs/lots-of-databases-in-sharepoint-2010.aspx</link><pubDate>Wed, 21 Oct 2009 20:08:58 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:1014</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=1014</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/21/lots-of-databases-in-sharepoint-2010.aspx#comments</comments><description>&lt;p&gt;If you are like me when you get a new product, you look at every possible little thing you can find to see what’s new or different.&amp;#160; That’s why I post this today because I figured you might be interested in what the databases might looks like in the next version.&amp;#160; Of course, as usual this is subject to change in the future.&amp;#160; In a typical installation, MOSS 2007 had a good number of databases.&amp;#160; It looks like SharePoint 2010 more than doubles the number.&amp;#160; My particular installation had 22 databases.&amp;#160; I think this number can even grow even more as you activate more Service Applications.&amp;#160; Most of the names are obvious, but I have commented on a few of them.&amp;#160; Some of the databases have spaces in their names.&amp;#160; The names are determined based upon how the service application was named.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Application_Registry_Service_&amp;lt;guid&amp;gt; – not sure if this is for the old Business Data Catalog or not. &lt;/li&gt;    &lt;li&gt;Bdc_Service_db_&amp;lt;guid&amp;gt; &lt;/li&gt;    &lt;li&gt;Managed_Metadata_Service_&amp;lt;guid&amp;gt; – likely for the new metadata term store &lt;/li&gt;    &lt;li&gt;People_ProfileDb_&amp;lt;guid&amp;gt; &lt;/li&gt;    &lt;li&gt;People_SocialDb_&amp;lt;guid&amp;gt; – new social tagging feature &lt;/li&gt;    &lt;li&gt;People_SyncDb_&amp;lt;guid&amp;gt; &lt;/li&gt;    &lt;li&gt;People_SyncDb_&amp;lt;guid&amp;gt;_Service &lt;/li&gt;    &lt;li&gt;People_SyncDb_&amp;lt;guid&amp;gt;_Sync &lt;/li&gt;    &lt;li&gt;PerformancePoint Monitoring Service_&amp;lt;guid&amp;gt; &lt;/li&gt;    &lt;li&gt;Search_Service_Application_CrawlStoreDb_&amp;lt;guid&amp;gt; – labeled as admin in search dashboard &lt;/li&gt;    &lt;li&gt;Search_Service_Application_Db_&amp;lt;guid&amp;gt; – labeled as index in search dashboard &lt;/li&gt;    &lt;li&gt;Search_Service_Application_PropertyStoreDb_&amp;lt;guid&amp;gt; – labeled as query in search dashboard &lt;/li&gt;    &lt;li&gt;Secure_Store_Service_Db_&amp;lt;guid&amp;gt; &lt;/li&gt;    &lt;li&gt;SharePoint_AdminContent_&amp;lt;guid&amp;gt; – CA database &lt;/li&gt;    &lt;li&gt;SharePoint_Config &lt;/li&gt;    &lt;li&gt;SSO &lt;/li&gt;    &lt;li&gt;StateService_&amp;lt;guid&amp;gt; &lt;/li&gt;    &lt;li&gt;Web AnalyticsServiceApplication_Reporting_Db_&amp;lt;guid&amp;gt; &lt;/li&gt;    &lt;li&gt;Web AnalyticsServiceApplication_Staging_Db_&amp;lt;guid&amp;gt; &lt;/li&gt;    &lt;li&gt;Word Automatiation Services_&amp;lt;guid&amp;gt; &lt;/li&gt;    &lt;li&gt;WSS_Content – content database &lt;/li&gt;    &lt;li&gt;WSS_Logging – likely for analytics &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;As you can see you have more databases to backup now.&amp;#160; &lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=1014" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/CoreysDotNetTipOfTheDay/~4/4H_2eKmvKOs" height="1" width="1"/&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SPC09/default.aspx">SPC09</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category><feedburner:origLink>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/21/lots-of-databases-in-sharepoint-2010.aspx</feedburner:origLink></item><item><title>Use those version numbers in SharePoint 2010</title><link>http://feedproxy.google.com/~r/CoreysDotNetTipOfTheDay/~3/4jNUOlyfPM4/use-those-version-numbers-in-sharepoint-2010.aspx</link><pubDate>Wed, 21 Oct 2009 17:59:45 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:1013</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=1013</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/21/use-those-version-numbers-in-sharepoint-2010.aspx#comments</comments><description>&lt;p&gt;With MOSS, it seemed like most web part developers tended to avoid changing the version of their DLL, because it lead to numerous headaches as you had to update the .webpart file.&amp;#160; You also had to update any page that you might have the web part on as well so that it would load the new version.&amp;#160; What’s nice about SharePoint 2010 is that your manifest file in your solution package can now deploy binding redirects to your web.config.&amp;#160; For example, this means you can have any reference to version 1.0.0.0 redirect to use version 2.0.0.0.&amp;#160; Binding redirects are nothing new to .NET, it’s just that SharePoint is now taking advantage of this feature.&amp;#160; In fact, SharePoint uses this feature itself to redirect any calls to its DLLs from version 12.0.0.0 to 14.0.0.0.&amp;#160; Here is an example of what that might look like.&lt;/p&gt;  &lt;div style="font-family:consolas;background:black;color:white;font-size:13pt;font-weight:bold;"&gt;   &lt;p style="margin:0px;"&gt;&amp;lt;&lt;span style="color:#cc7832;"&gt;Assemblies&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;Assembly&lt;/span&gt; &lt;span style="color:silver;"&gt;DeploymentTarget&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;GlobalAssemblyCache&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;Location&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;MyWebParts.dll&lt;/span&gt;&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;BindingRedirects&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;BindingRedirect&lt;/span&gt; &lt;span style="color:silver;"&gt;OldVersion&lt;/span&gt; =&amp;quot;&lt;span style="color:#a5c25c;"&gt;1.0.0.0&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;span style="color:#cc7832;"&gt;BindingRedirects&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;SafeControls&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#cc7832;"&gt;SafeControl&lt;/span&gt; &lt;span style="color:silver;"&gt;Assembly&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;MyWebParts, Version=2.0.0.0, Culture=neutral&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;Namespace&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;MyWebParts&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;TypeName&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;*&lt;/span&gt;&amp;quot; &lt;span style="color:silver;"&gt;Safe&lt;/span&gt;=&amp;quot;&lt;span style="color:#a5c25c;"&gt;True&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;span style="color:#cc7832;"&gt;SafeControls&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &amp;lt;/&lt;span style="color:#cc7832;"&gt;Assembly&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;lt;/&lt;span style="color:#cc7832;"&gt;Assemblies&lt;/span&gt;&amp;gt;&lt;/p&gt; &lt;/div&gt;   &lt;p&gt;I really like this new feature and I think it will make it much easier for developers to version their assemblies.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=1013" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/CoreysDotNetTipOfTheDay/~4/4jNUOlyfPM4" height="1" width="1"/&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Solution/default.aspx">Solution</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SPC09/default.aspx">SPC09</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category><feedburner:origLink>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/21/use-those-version-numbers-in-sharepoint-2010.aspx</feedburner:origLink></item><item><title>Checking to see if a list item exists in SharePoint 2010</title><link>http://feedproxy.google.com/~r/CoreysDotNetTipOfTheDay/~3/hpW5MvLshno/checking-to-see-if-a-list-item-exists-in-sharepoint-2010.aspx</link><pubDate>Wed, 21 Oct 2009 16:02:20 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:1012</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=1012</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/21/checking-to-see-if-a-list-item-exists-in-sharepoint-2010.aspx#comments</comments><description>&lt;p&gt;This is another topic that is quite dear to most SharePoint developers.&amp;#160; We’ve all been there.&amp;#160; We want to know if a list item exists and the indexer is useless.&amp;#160; It throws an exception should we attempt to access an item that does not exist.&amp;#160; Well as we discovered this week there is a new &lt;em&gt;TryGetList &lt;/em&gt;method that works great to determine if a list exists but there really isn’t anything new with a SPBaseCollection.&amp;#160; We can do this a number of ways include spmetal.exe to generate strongly typed classes, but I was looking for a solution that didn’t require me to generate any classes.&amp;#160; However, we can now use .OfType&amp;lt;T&amp;gt; to get an IEnumerable&amp;lt;T&amp;gt; that we can use.&amp;#160; Once we have IEnumerable&amp;lt;T&amp;gt; it is quite easy to determine if a list item exists using the .Any() method.&amp;#160; Look at the example below.&lt;/p&gt;  &lt;div style="font-family:consolas;background:black;color:white;font-size:13pt;font-weight:bold;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span style="color:#cc7832;"&gt;using&lt;/span&gt; (&lt;span style="color:#ffc66d;"&gt;SPSite&lt;/span&gt; siteCollection = &lt;span style="color:#cc7832;"&gt;new&lt;/span&gt; &lt;span style="color:#ffc66d;"&gt;SPSite&lt;/span&gt;(&lt;span style="color:#a5c25c;"&gt;&amp;quot;http://moss-server&amp;quot;&lt;/span&gt;))&lt;/p&gt;    &lt;p style="margin:0px;"&gt;{&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#ffc66d;"&gt;SPList&lt;/span&gt; myCustomList = siteCollection.RootWeb.Lists.TryGetList(&lt;span style="color:#a5c25c;"&gt;&amp;quot;MyCustomList&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:green;"&gt;// doesn&amp;#39;t throw exception!&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;if&lt;/span&gt; (myCustomList != &lt;span style="color:#cc7832;"&gt;null&lt;/span&gt;)&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;var&lt;/span&gt; listEnumeration = myCustomList.Items.OfType&amp;lt;&lt;span style="color:#ffc66d;"&gt;SPListItem&lt;/span&gt;&lt;span style="font-weight:normal;"&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#cc7832;"&gt;return&lt;/span&gt; listEnumeration.Any(p =&amp;gt; p.Name == &lt;span style="color:#a5c25c;"&gt;&amp;quot;List Item 1&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;}&lt;/p&gt; &lt;/div&gt;   &lt;p&gt;As you can see using the lambda express p =&amp;gt; p.Name we can do a comparison to see if a list item with that name exists.&amp;#160; This will return us a boolean if the item does in fact exist.&amp;#160; As you can see this isn&amp;#39;t quite as good as a native method that checks for an item that exists, but it does work.&amp;#160; If you want to get creative you can also check on other fields such as Title, Id, or whatever.&amp;#160; Take a look at this sample.&lt;/p&gt;  &lt;div style="font-family:consolas;background:black;color:white;font-size:13pt;font-weight:bold;"&gt;   &lt;p style="margin:0px;"&gt;listEnumeration.Any(p =&amp;gt; p[&lt;span style="color:#a5c25c;"&gt;&amp;quot;Title&amp;quot;&lt;/span&gt;] == &lt;span style="color:#a5c25c;"&gt;&amp;quot;List Item 1&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;listEnumeration.Any(p =&amp;gt; p.UniqueId == someGuid);&lt;/p&gt; &lt;/div&gt;   &lt;p&gt;As you can see, LINQ makes it quite easy to determine if an item exists.&amp;#160; This may not be the most efficient way to do it as it is rather brute force.&amp;#160; It may only be arguably better than using a try / catch block, but it certainly looks cleaner.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=1012" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/CoreysDotNetTipOfTheDay/~4/hpW5MvLshno" height="1" width="1"/&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SPC09/default.aspx">SPC09</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category><feedburner:origLink>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/21/checking-to-see-if-a-list-item-exists-in-sharepoint-2010.aspx</feedburner:origLink></item><item><title>Introducing the Visual Web Part in SharePoint 2010</title><link>http://feedproxy.google.com/~r/CoreysDotNetTipOfTheDay/~3/XoNotCJJ9so/introducing-the-visual-web-part-in-sharepoint-2010.aspx</link><pubDate>Tue, 20 Oct 2009 21:38:19 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:1011</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=1011</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/20/introducing-the-visual-web-part-in-sharepoint-2010.aspx#comments</comments><description>&lt;p&gt;You might have seen that there is a new designer for working with web parts in Visual Studio 2010.&amp;#160; This is actually, not quite the case, so I thought I would share with you how it actually works.&amp;#160; When you use the Visual Web Part SPI (SharePoint Project Item), it will create a number of files for you: a .cs file, a .webpart file, an elements.xml file, and a .ascx file.&amp;#160; That’s right, it creates an ASP.NET user control.&amp;#160; Now, the Visual Studio interface does a nice job of grouping all of the files together.&amp;#160; When you open the designer on the web part, you in fact just open the designer for the user control.&amp;#160; &lt;/p&gt;  &lt;p&gt;So now you might be thinking, how does this work?&amp;#160; Well no SharePoint can’t host user controls directly still. In fact all it does is create a simple web part with a Page.LoadControl() method pointing at our user control.&amp;#160; This in fact is the same method we’ve been using for years to get user controls into SharePoint.&amp;#160; I don’t really see this as an issue though, since Visual Studio does a great job making it painless to deploy these now and use them inside SharePoint.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=1011" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/CoreysDotNetTipOfTheDay/~4/XoNotCJJ9so" height="1" width="1"/&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/WebPart/default.aspx">WebPart</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SPC09/default.aspx">SPC09</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category><feedburner:origLink>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/20/introducing-the-visual-web-part-in-sharepoint-2010.aspx</feedburner:origLink></item></channel></rss>
