Blade.Pipelines.ResolveRenderingDataSource.HandleSearch.DoProcess C# (CSharp) Метод

DoProcess() публичный Метод

public DoProcess ( ResolveRenderingDataSourceArgs args ) : void
args ResolveRenderingDataSourceArgs
Результат void
        public override void DoProcess(ResolveRenderingDataSourceArgs args)
        {
            // if a search context came in, we don't dispose it when done - otherwise we dispose our temp context
            bool disposeSearchContext = args.SearchContext == null;

            IProviderSearchContext searchContext = null;
            try
            {
                searchContext = args.SearchContext ?? ContentSearchManager.CreateSearchContext(new SitecoreIndexableItem(args.ContextItem));

                var query = CreateQuery(searchContext, args.DataSource);

                args.DataSourceItems.AddRange(ProcessQueryResults(query));
            }
            finally
            {
                if(disposeSearchContext && searchContext != null) searchContext.Dispose();
            }
        }