0

我创建了 simple HttpModule,我需要的只是 get 在Sitecore.Context内部是有效的,但是在处理过程中我看到 mySitecore.Context是某种默认值。

我可以获得登录 Sitecore 的 Sitecore 用户等。如何解决?

4

2 回答 2

2

我假设您有一个 Sitecore 上下文,但它为空或设置为错误的站点或语言。您可以像这样更改上下文:

// switch to the preferred site    
Sitecore.Context.SetActiveSite("yourSiteName");

// set the preferred database
Sitecore.Context.Database = Sitecore.Configuration.Factory.GetDatabase("master");

// set the preferred language
Language language =  Sitecore.Globalization.Language.Parse("en");
Sitecore.Context.SetLanguage = (language, false);

处理完成后,您可能还想切换回原始设置。因此,明智的做法是将原始设置“保存”在变量中,以便以后可以将其更改回来

于 2013-01-14T09:11:21.980 回答
1

查看 John West 在 Sitecore 管道上的帖子,了解有关如何建立上下文的背景信息。

http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2011/05/All-About-Pipelines-in-the-Sitecore-ASPNET-CMS.aspx

http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2011/05/Important-Pipelines-in-the-Sitecore-ASPNET-CMS.aspx

以下关于创建和运行自定义管道的博客文章应该让您了解如何实现自己的管道。

http://adeneys.wordpress.com/2008/08/27/creating-and-running-custom-pipelines-in-sitecore/

于 2013-01-14T03:06:55.667 回答