C# Kentico-仅将特定媒体文件夹映射到Azure Blob

C# Kentico-仅将特定媒体文件夹映射到Azure Blob,c#,kentico,kentico-12,C#,Kentico,Kentico 12,我正在使用以下代码将媒体文件映射到Azure Blob。代码运行良好。但是,我只想映射不包含名称“memberonly”的文件夹。尽管有条件检查,Kentico将所有目录映射到Azure Blob。提供选择映射哪些目录的选项将很有帮助 有没有办法知道我在追求什么 [assembly: RegisterModule(typeof(CustomInitializationModule))] public partial class CMSModuleLoader { public class

我正在使用以下代码将媒体文件映射到Azure Blob。代码运行良好。但是,我只想映射不包含名称“memberonly”的文件夹。尽管有条件检查,Kentico将所有目录映射到Azure Blob。提供选择映射哪些目录的选项将很有帮助

有没有办法知道我在追求什么

[assembly: RegisterModule(typeof(CustomInitializationModule))]
public partial class CMSModuleLoader
{
    public class CustomInitializationModule : Module //CMSLoaderAttribute
    {
        // Module class constructor, the system registers the module under the name "CustomInit"
        public CustomInitializationModule()
            : base("CustomInit")
        {
        }

        protected override void OnInit()
        {
            try
            {

                string[] subDirectories = Directory.GetDirectories(HttpContext.Current.Server.MapPath("~/ABC/media/"));

                if (subDirectories != null)
                {
                    for (int i = 0; i < subDirectories.Length; i++)
                    {
                        if (!subDirectories[i].ToLower().Contains("memberonly"))
                        {
                            // Creates a new StorageProvider instance
                            AbstractStorageProvider mediaProvider = new StorageProvider("Azure", "CMS.AzureStorage");

                            // Specifies the target container
                            mediaProvider.CustomRootPath = WebConfigurationManager.AppSettings["AzureContainer"];

                            // Makes the container publicly accessible
                            mediaProvider.PublicExternalFolderObject = true;

                            var directoryName = subDirectories[i].Substring(subDirectories[i].LastIndexOf(@"\") + 1);
                            // Maps a directory to the provider
                            //C:\Work\ItemGroup\APS\APS_Main_CJD\APS-Main\CMS\APS\media\APS-Image-Library
                            StorageHelper.MapStoragePath(string.Concat("~/APS/media/", directoryName), mediaProvider);
                        }
                    }
                }                                              

            }
            catch (System.Exception ex)
            {

            }

        }
    }
}
[程序集:注册表模块(typeof(CustomInitializationModule))]
公共部分类CMSModuleLoader
{
公共类CustomInitializationModule:Module//CMSLoaderAttribute
{
//模块类构造函数,系统以“CustomInit”的名称注册模块
公共CustomInitializationModule()
:base(“CustomInit”)
{
}
受保护的覆盖void OnInit()
{
尝试
{
string[]subDirectories=Directory.GetDirectories(HttpContext.Current.Server.MapPath(“~/ABC/media/”);
if(子目录!=null)
{
for(int i=0;i<子目录.Length;i++)
{
如果(!子目录[i].ToLower()包含(“memberonly”))
{
//创建新的StorageProvider实例
AbstractStorageProvider mediaProvider=新的StorageProvider(“Azure”、“CMS.AzureStorage”);
//指定目标容器
mediaProvider.CustomRootPath=WebConfiguration Manager.AppSettings[“AzureContainer”];
//使容器可公开访问
mediaProvider.PublicExternalFolderObject=true;
var directoryName=子目录[i].Substring(子目录[i].LastIndexOf(@“\”)+1);
//将目录映射到提供程序
//C:\Work\ItemGroup\APS\APS\u Main\u CJD\APS Main\CMS\APS\media\APS图像库
StorageHelper.MapStoragePath(string.Concat(“~/APS/media/”,directoryName),mediaProvider);
}
}
}                                              
}
catch(System.Exception-ex)
{
}
}
}
}

据我所知-不。您正在映射整个媒体库根目录及其所有子目录。您不能排除某些子文件夹。

据我所知-否。您正在映射整个媒体库根目录及其所有子目录。不能排除某些子文件夹