GetCurrentActualNode returns null
VERSION: 6.1
I am trying to get my custom inbound pipe to search the branch of the tree that the user is currently in.
My Code is filtering the information thanks to some other threads on here.
But now i want to get it to use the current node as a reference point.
the problem is however that the getActualCurrentNode() returns null, actually i have tested getCurrentNode(), getActualCurrentNode.SiteMap, CurrentNode, SiteMapBase.CurrentNode. Nothing is bringing back any results for me.
Am i coding this wrong?
This is from my custom_search class which inherits pageInBound, and the Global.Asax file runs this on application_start.
PageNode node = null;SiteMapNode currentNode = SiteMap.CurrentNode;var pageNode = currentNode as PageSiteNode;while (pageNode == null) //Debug test by entering an infinite loop pageNode = SiteMapBase.GetActualCurrentNode();//if currentNode is found, the rest of the code should function as per normal. if (item.Item is WrapperObject && ((WrapperObject)item.Item).WrappedObject != null) node = (PageNode)((WrapperObject)item.Item).WrappedObject;else node = ((PageNode)item.Item);if (node.Page != null && node.Page.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Live) while (true) node = node.Parent; //gets the nodes parent information. //if criteria is met the page will be filtered out towards it's specifications. if(node.Title.Equals(pageNode.Title,StringComparison.InvariantCultureIgnoreCase)) //filtered results----------------------------------------Timestamp: 1/20/2014 8:53:25 PMMessage: HandlingInstanceID: 596bf716-1ac6-4d9f-a4cc-82de7421b81aAn exception of type 'System.NullReferenceException' occurred and was caught.-----------------------------------------------------------------------------01/20/2014 15:53:25Type : System.NullReferenceException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089Message : Object reference not set to an instance of an object.Source : SitefinityWebAppHelp link : Data : System.Collections.ListDictionaryInternalTargetSite : Void PushData(System.Collections.Generic.IList`1[Telerik.Sitefinity.Publishing.PublishingSystemEventInfo])HResult : -2147467261Stack Trace : at SitefinityWebApp.Search_Delimiter_Test.PushData(IList`1 items) in c:\inetpub\sitefinity61\Search_Delimiter_Test.cs:line 131 at Telerik.Sitefinity.Publishing.Pipes.PageInboundPipe.ToPublishingPoint() at Telerik.Sitefinity.Publishing.PublishingManager.InvokeInboundPushPipes(PublishingPoint point, String providerName) at Telerik.Sitefinity.Publishing.Web.Services.PublishingAdminService.ReindexSearchContent(String providerName, String pointId) at SyncInvokeReindexSearchContent(Object , Object[] , Object[] ) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc) at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)Additional Info:MachineName : SITEFINITY61TimeStamp : 1/20/2014 8:53:25 PMFullName : Telerik.Sitefinity.Utilities, Version=6.2.4910.0, Culture=neutral, PublicKeyToken=b28c218413bdf563AppDomainName : /LM/W3SVC/2/ROOT-7-130347245681907483ThreadIdentity : WindowsIdentity : SiteFinity61\iap_apps_userRequested URL : http://localhost/Sitefinity/Services/Publishing/PublishingService.svc/reindex/2110ee79-62c2-6671-9ade-ff000035d931/Category: ErrorLogPriority: 0EventId: 90000Severity: ErrorTitle:Enterprise Library Exception HandlingMachine: SITEFINITY61App Domain: /LM/W3SVC/2/ROOT-7-130347245681907483ProcessId: 1212Process Name: c:\windows\system32\inetsrv\w3wp.exeThread Name: Win32 ThreadId:3208Extended Properties: ----------------------------------------if(node.Title.Equals(pageNode.Title,StringComparrison.InvariantCultureIgnoreCase))Hello,
First, let me explain some basics about the search functionality.
The publishing system, that uses so called pipes, only gathers the information and stores it in the search index (for example). Then when the user searches for this information (using the SearchResults widget for example), the results are extracted and shown (the information is already stored - all of it, not just the results).
When you click reindex, or you publish a page, it is absolutely normal that the current node is null. After all you are not even in the frontend.
I believe you are trying to see if the page that the user is on is a parent of the page that will be shown in the results. I think you have another ticket oppened with the same problem.
Lets move the discussion there, or do you think this thread should still be oppened for some reason?
Regards,
Bonny
Telerik