Ever wondered what this message meant in ULS?
First of all, there is a public SPMonitoredScope class that allows us to discover performance bottlenecks.
One of the implementations of this method looks like following:
public SPMonitoredScope(string name, uint maximumExecutionTime, params ISPScopedPerformanceMonitor[] monitors)
If maximumExecutionTime parameter is set to 250, a debug message will be written to ULS when a certain piece of code runs more than 250 milliseconds.
When SPList.GetItems method is executed you don't immediately get data from DataBase because this method is differed until the actual data is requested somewhere. So, when you try to debug performance bottlenecks you might find that this method executes pretty fast. However, when, later you try to request SPListItemCollection the internal EnsureListItemsData method is run. This exact method will ensure that the actual data is retrieved. This is where it might take quite some time to get your List items. Let's see at the internal implementation of the EnsureListItemsData method:
protected void EnsureListItemsData()
{
using (new SPMonitoredScope("EnsureListItemsData", 250, new ISPScopedPerformanceMonitor[] { new SPSqlQueryCounter(1) }))
{
// Code that fetches data from the Database
}
}
As you can see, maximumExecutionTime parameter is set to 250 milliseconds.When the process of getting List data from SPList gets longer that this time you will see this message:
ULS, SharePoint Foundation Monitoring High Leaving Monitored Scope (EnsureListItemsData). Execution Time=XXX
I hope it sheds some light on this mysterious ULS message.
Total Pageviews
5 Aug 2013
2 Aug 2013
ManagedLink Attribute for Web Part Properties that Converts Absolute URLs to Relative Ones
[ManagedLink] above the web part property automatically converts full Urls to relative ones. very useful for fool proofing against incorrectly typed URL's.
For example, http://portal/Lists/CustomList/Forms/Display.asxp becomes l/Lists/CustomList/Forms/Display.asxp
C# example:
[WebBrowsable(true),
Category("Configuration"),
Personalizable(PersonalizationScope.Shared),
WebDisplayName("Friendly Display Name"),
WebDescription("Values: Whatever value you need")]
[ManagedLink]
public Uri URI { get; set; }
For example, http://portal/Lists/CustomList/Forms/Display.asxp becomes l/Lists/CustomList/Forms/Display.asxp
C# example:
[WebBrowsable(true),
Category("Configuration"),
Personalizable(PersonalizationScope.Shared),
WebDisplayName("Friendly Display Name"),
WebDescription("Values: Whatever value you need")]
[ManagedLink]
public Uri URI { get; set; }
Validate Web Part Properties using WebPartPageUserException
throw new WebPartPageUserException("OMG Something went wrong!");
Download and Install SharePoint 2013 Prerequisites on Windows Server 2012
These PowerShell scripts will automate downloading and installing the SharePoint 2013 Prerequisites on Windows Server 2012. The scripts will assist those who need to install SharePoint 2013 'offline' or wish to manually install its Prerequisites on Windows Server 2012.
Here is the link
Here is the link
Detect installed SharePoint 2010 or 2013 products using PowerShell
This PowerShell function returns a hash table to the pipeline containing SharePoint 2010 or 2013 products and the SharePoint Build Version installed on your server.
Here is the link.
Here is the link.
26 Jul 2013
Allowing C# on Master Page and Layout Pages
1. Open web.config;
2. Find PageParserPaths node;
3. Add the following PageParserPath none so that it looks like so:
<PageParserPaths>
<PageParserPath VirtualPath="/*" CompilationMode="Always" AllowServerSideScript="True" IncludeSubFolders="True" />
</PageParserPaths>
2. Find PageParserPaths node;
3. Add the following PageParserPath none so that it looks like so:
<PageParserPaths>
<PageParserPath VirtualPath="/*" CompilationMode="Always" AllowServerSideScript="True" IncludeSubFolders="True" />
</PageParserPaths>
15 Jul 2013
List of reusable SharePoint controls
Nice list of reusable SharePoint Controls:
http://community.zevenseas.com/Blogs/Robin/Lists/Posts/Post.aspx?ID=96
And more:
http://karinebosch.wordpress.com/sharepoint-controls/
SharePoint Field Controls:
http://www.hezser.de/blog/archive/2007/04/29/how-to-use-the-sharepoint-web-controls.aspx
http://community.zevenseas.com/Blogs/Robin/Lists/Posts/Post.aspx?ID=96
And more:
http://karinebosch.wordpress.com/sharepoint-controls/
SharePoint Field Controls:
http://www.hezser.de/blog/archive/2007/04/29/how-to-use-the-sharepoint-web-controls.aspx
Subscribe to:
Posts (Atom)