Есть БП, в котором в элементе "Сценарий" получается локализованный шаблон Email c помощью конструкции:
MacrosHelperServiceRequest request = new MacrosHelperServiceRequest();
request.EntityId = activeRowId;
request.TemplateId = emailTemplateId;
request.EntityName = entityName;
var macrosHelperService = new MacrosHelperService(new GlobalMacrosHelper(), _uc);
MacrosHelperServiceResponse result = macrosHelperService.GetMultiLanguageTextTemplate(request);
Шаблон формируется.
НО только если не стоит галочка "Выполнять следующие элементы в фоновом режиме"
Если галочка стоит, то получаем ошибку в журнале БП:
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в Terrasoft.WebApp.Global.<>c.<WorkspaceDependenciesInitializer>b__24_0(IContext context)
в Ninject.Activation.Provider`1.Create(IContext context)
в Ninject.Activation.Context.ResolveInternal(Object scope)
в Ninject.Activation.Context.Resolve()
в Ninject.KernelBase.Resolve(IRequest request, Boolean handleMissingBindings)
в Ninject.ResolutionExtensions.Get[T](IResolutionRoot root, IParameter[] parameters)
в Ninject.Activation.Provider`1.Create(IContext context)
в Ninject.Activation.Context.ResolveInternal(Object scope)
в Ninject.Activation.Context.Resolve()
в Ninject.KernelBase.Resolve(IRequest request, Boolean handleMissingBindings)
в Ninject.Planning.Targets.Target`1.ResolveWithin(IContext parent)
в System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
в System.Linq.Buffer`1..ctor(IEnumerable`1 source)
в System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
в Ninject.Activation.Providers.StandardProvider.Create(IContext context)
в Ninject.Activation.Context.ResolveInternal(Object scope)
в Ninject.Activation.Context.Resolve()
в Ninject.KernelBase.Resolve(IRequest request, Boolean handleMissingBindings)
в Ninject.ResolutionExtensions.Get[T](IResolutionRoot root, String name, IParameter[] parameters)
в Terrasoft.Core.Factories.ClassFactory.GetInstance[T](Func`1 action)
в Terrasoft.Configuration.MLangContentFactory.GetDefaultIterator(String schemaName)
в Terrasoft.Configuration.MLangContentFactory.GetContentKit(String iteratorTagName, String storeTagName)
в Terrasoft.Configuration.MacrosHelperService.GetMultiLanguageTextTemplate(MacrosHelperServiceRequest request)
Есть подозрение на отсутствие UserConnection при фоновом режиме вызова.
Т.к. при вызове виртуального метода MLangContentFactory.GetContentKit (в MacrosHelperService.GetMultiLanguageTextTemplate) в конструктор объекта MLangContentFactory не передается UserConnection.
Кто сталкивался с подобной проблемой в фоновых БП и как её можно решить?
Схемы