Mari Jørgensen
Sep 27, 2010
  5214
(3 votes)

Did you know of the GetSettingsFromPage() method?

Info-ShieldFinding the start page in an EPiServer solution is usually easy as pie – it is accessible using a static property on the PageReference class.

But if you have several sites sharing database in an Enterprise solution, and you are trying to get hold of the start page from inside a scheduled task, you will soon notice that it’s a bit more tricky.

When the scheduled task is executed you will have no control over which of the sites the PageReference.StartPage will point to.
(In my tests, PageReference.StartPage seem to run in the context of the first site configured in the site section in episerver.config).

This is where the GetSettingsFromPage method becomes handy – if you have a reference to a page on your site, you can find the site settings for that page. When you have the settings, it’s pretty straight forward to find the start page:

   1: Settings settingsFromPage = 
   2:       DataFactory.Instance.GetSettingsFromPage(page.PageLink);
   3: PageReference myStartPage = 
   4:       new PageReference(settingsFromPage.PageStartId);

The ironic part is that I found the solution while searching and finding an old blog post written by myself… (!).

Sep 27, 2010

Comments

Vladimir Terziyski
Vladimir Terziyski Sep 27, 2010 01:46 PM

Thank you for sharing this. Previously I've used my own function which recursively searches for the start page and then uses the Id of the found page to get the right settings.

Jeff Wallace
Jeff Wallace Sep 27, 2010 07:40 PM

Nice. :)

Sep 28, 2010 08:28 AM

Interesting! Thanks for sharing this.

Muhammad Kashif
Muhammad Kashif Sep 29, 2010 12:58 AM

Very nice .I am developing an enterprise sites and was thinking i will have to write some custom code to achieve this .

Please login to comment.
Latest blogs
Creating an admin tool - unused assets

Let's make an admin tool to clean unused assets and see how to extend your favorite CMS with custom tools and menues! We will build a tool step by...

Daniel Ovaska | Apr 15, 2026

Running Optimizely CMS on .NET 11 Preview

Learn how to run Optimizely CMS on the .NET 11 preview with a single-line change. Explore performance gains, PGO improvements, and future-proofing...

Stuart | Apr 15, 2026 |

Your Optimizely Opal Is Probably Burning Carbon It Doesn't Need To

Four patterns Optimizely practitioners could be getting wrong with Opal agents: inference levels, oversized tool responses, missing output...

Andy Blyth | Apr 15, 2026 |

Optimizely CMS 13: A Strategic Reset for Content, AI, and Composable Marketing

Optimizely CMS 13 is not just another version upgrade—it represents a deliberate shift toward a connected, AI-enabled, and API-driven content...

Augusto Davalos | Apr 14, 2026