Again, I am running against the issue of uncontrolled invocation of class methods on CSLA objects that cannot be called inappropriately, prematurely, and defininately not by reflection. What event do I need to intercept so that the control does not call the CSLA methods? The latest example is the SFTreeGrid
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.ArgumentNullException: Value cannot be null. (Parameter 'applicationContext')
at Csla.Rules.BusinessRules.HasPermission(ApplicationContext applicationContext, AuthorizationActions action, Object obj)
at Csla.BusinessListBase`2.get_IsSavable()
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.PropertyInfo.GetValue(Object obj)
at Syncfusion.Blazor.TreeGrid.SfTreeGrid`1.ConvertRecordToExpando(Object record, Type dataType, Boolean isComplex)
at Syncfusion.Blazor.TreeGrid.SfTreeGrid`1.ConvertRecordToExpando(Object record, Type dataType, Boolean isComplex)
at Syncfusion.Blazor.TreeGrid.SfTreeGrid`1.ConvertToExpando(IEnumerable dataSource)
at Syncfusion.Blazor.TreeGrid.SfTreeGrid`1.GetFlatData(IEnumerable dataSource, DataReadyArgs`1 dm, Boolean isRemoteChild, Boolean isGanttRecord)
at Syncfusion.Blazor.TreeGrid.Internal.GridRenderer`1.BindGridDataSource()
at Syncfusion.Blazor.TreeGrid.Internal.GridRenderer`1.OnInitializedAsync()
at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
The thread 'Index' (0x0) has exited with code 0 (0x0).