We can enable Shared PersonalizationScope on runtime for Webpart manager using following codebehind code:
if ((webpartManagerId.Personalization.Scope == PersonalizationScope.User) && (webpartManagerId.Personalization.CanEnterSharedScope))
{
webpartManagerId.Personalization.Scope = PersonalizationScope.Shared;
}
I need to do this on all pages. But doing this will again reload the Page to make the webpart in Shared Scope and will break other things and cause the page loading slow.
Is there any config settings, by which I can make all pages/Webpartmanagers to go in Shared scope as default?