“如何改变”;MediaLinkPrefix";在sitecore中以编程方式?

“如何改变”;MediaLinkPrefix";在sitecore中以编程方式?,sitecore,sitecore6,sitecore-media-library,Sitecore,Sitecore6,Sitecore Media Library,我知道“MediaLinkPrefix”可以在web.config中更改。但是否可以通过编程方式更改“MediaLinkPrefix”?谢谢 您可以通过创建自己的Sitecore.Links.LinkProvider实现,并在您的web.config中的部分中进行设置 我不知道具体的实现,但您可以从Sitecore.Links.LinkProvider继承一个类,然后重写GetItemUrl()方法。 然后将您的类配置为用作LinkManager。以回答您的特定问题。不可以。您不能以编程方式更改

我知道“MediaLinkPrefix”可以在web.config中更改。但是否可以通过编程方式更改“MediaLinkPrefix”?谢谢

您可以通过创建自己的
Sitecore.Links.LinkProvider
实现,并在您的web.config中的
部分中进行设置

我不知道具体的实现,但您可以从
Sitecore.Links.LinkProvider
继承一个类,然后重写GetItemUrl()方法。
然后将您的类配置为用作LinkManager。

以回答您的特定问题。不可以。您不能以编程方式更改该设置的值

如果您试图使用
Sitecore.Resources.Media.MediaManager.GetMediaUrl(mediaItem)
来获取
mediaItem
的URL,那么这就是利用
Sitecore.Resources.Media.MediaProvider
,它从
Sitecore.Resources.Media.MediaConfig
类中提取
MediaLinkPrefix
的值。该属性没有“setter”。此外,该属性的值实际上来自
Sitecore.Configuration.Settings.Media.MediaLinkPrefix
,它也没有setter,直接从配置文件中提取

MediaManager
是一个静态类,我认为不能用自定义实现替换它。而且,与
LinkManager
不同,
MediaManager
是硬编码的,用于使用
Sitecore.Resources.Media.MediaProvider
,因此您也不能编写自定义提供程序