Thank you @alper.
I've tried without [DisableAuditing] but nothing happens on entity history. Only my table is updated.
Other suggestions ? Do you see something wrong on my code? Since I haven't errors, I guess is a configuration problems.
Hi, I've been trying since this afternoon to configure Entity History but changes are not tracked. What I'm missing? This is what I've done on my module (loaded as plugin)
On PreInitialize
Configuration.EntityHistory.IsEnabled = true;
Configuration.EntityHistory.Selectors.Add("MyEntities", typeof(DocumentTemplateData));
DocumentTemplateData
[Audited]
public class DocumentoTemplateData : FullAuditedEntity, IPassivable
{
public string Name { get; set; }
public string Description { get; set; }
public string Html { get; set; }
....
On ApplicationService on Web side:
[HttpPut("UpdateDocument")]
[UseCase(Description = "Update document")]
public async Task UpdateDocument(UpdateDocumentDto input)
{
await _reportEngineApplicationService.UpdateDocument(input);
}
On ReportEngineApplicationService in interal side:
[DisableAuditing] // <- Do not show these methods on logs
public class ReportEngineApplicationService : ApplicationService, IReportEngineApplicationService
{
private readonly IReportEngine _reportEngine;
private readonly IDocumentTemplateRepository _documentTemplateRepository;
...
public async Task UpdateDocument(UpdateDocumentDto input)
{
var document = await _documentTemplateRepository.GetAsync(input.Id);
// some business stuff
await _documentTemplateRepository.UpdateAsync(document);
Repository
public async Task UpdateAsync(DocumentTemplate aggregate)
{
var data = aggregate.Snapshot;
data.Name = aggregate.Name;
data.Description = aggregate.Description;
data.Html = aggregate.Html;
data.IsActive = aggregate.IsActive;
await _documentTemplateRepository.UpdateAsync(data);
Thank you
Ok, this make sense. Thank you @aaron.
Ok, the case you say works for me but I've found the ctro approach in your zero code in Test project ,Migrator project, Web core. Are all these special cases?
Test module:
[DependsOn(
typeof(FrameworkApplicationModule),
typeof(FrameworkEntityFrameworkCoreModule),
typeof(AbpTestBaseModule))]
public class FrameworkTestModule : AbpModule
{
public FrameworkTestModule(FrameworkEntityFrameworkCoreModule abpZeroTemplateEntityFrameworkCoreModule)
{
abpZeroTemplateEntityFrameworkCoreModule.SkipDbContextRegistration = true;
}
WebCore
public class FrameworkWebCoreModule : AbpModule
{
private readonly IHostingEnvironment _env;
private readonly IConfigurationRoot _appConfiguration;
public FrameworkWebCoreModule(IHostingEnvironment env)
{
_env = env;
_appConfiguration = env.GetAppConfiguration();
}
Migrator module:
[DependsOn(typeof(FrameworkEntityFrameworkCoreModule))]
public class FrameworkMigratorModule : AbpModule
{
private readonly IConfigurationRoot _appConfiguration;
public FrameworkMigratorModule(FrameworkEntityFrameworkCoreModule abpZeroTemplateEntityFrameworkCoreModule)
{
abpZeroTemplateEntityFrameworkCoreModule.SkipDbSeed = true;
_appConfiguration = AppConfigurations.Get(
typeof(FrameworkMigratorModule).GetAssembly().GetDirectoryPathOrNull()
);
}
Hi, I've two plugin modules.
The first one is composed by two dll. One shared with the interface, and one other with the concrete implementation.
REngine -> REngineModule -> REngine : IEngine RShared -> RSharedModule -> IEngine
The second module need to register some stuffs to REngine on PostInitialize. I've used the DependsOn attribute but PModule is loaded earlier then RSharedModule and I've the exception: PModule is waiting for the following dependencies: IEngine
[DependsOn(typeof(RSharedModule))]
public class PModule : AbpModule
{
private readonly IEngine _engine;
public PModule(IEngine engine)
{
_engine = engine;
}
public override void Initialize()
{
IocManager.RegisterAssemblyByConvention(typeof(PModule).GetAssembly());
}
public override void PostInitialize()
{
_engine.Register(new PicSource);
}
}
If I use IocManager.Resolve<IEngine>() all works.
So, the question is: How can I tell to abp to instantiate one module before others?
Thank you.
Thank you @ismcagdas.
I saw many of this problems googling. Someone on Slack suggested me this link <a class="postlink" href="https://github.com/dotnet/cli/issues/9519">https://github.com/dotnet/cli/issues/9519</a>
I guess there isn't a universal solution. Maybe unistall / install process bring some benefit... but on client deploy I expect pain moments :-(
Hi, after test the Core + Angular 5.5.2 version on dev machine with success, I've published on test windows server. Installed the Aspnet + Host bundle 2.1.2 I receive this error: It was not possible to find any compatible framework version The specified framework 'Microsoft.NETCore.App', version '2.1.0-preview1-26216-03' was not found.
If I simply copy the 2.1.2 folder e rename to 2.1.0-preview1-26216-03 the site works. Do you know this issue ?
Thank you
Solved by myself. I can't copy the aspose dlls and related stuff on plugin folder. Nuget packages must be referenced in main framework solution. In this manner all works.
Sorry for the useless post.
Hi, I'm trying to use Aspose.Words library on a plugin module but there is a problem to load referenced library. In a classic .Net Core 2.0 web project all works fine as you can see on the attached project.
Aspose.Words and SkiaSharp.dll are in plugin folder, and all runtimes in runtimes folder in root.
When used in a plugin module I have this error:
ERROR 2018-07-11 14:14:33,990 [9 ] Mvc.ExceptionHandling.AbpExceptionFilter - The type initializer for 'SkiaSharp.SKAbstractManagedStream' threw an exception.
System.TypeInitializationException: The type initializer for 'SkiaSharp.SKAbstractManagedStream' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'libSkiaSharp': Impossibile trovare il modulo specificato. (Exception from HRESULT: 0x8007007E)
So I think that I have to do something else to use Aspose.Words in AspNetBoilerplate Core 2.0. Can you help me? NetCoreWebApp.zip
Good ! Thank you for the quick fix.