BussinessMongoDbModule.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using Microsoft.Extensions.DependencyInjection;
  2. using Microsoft.Extensions.DependencyInjection.Extensions;
  3. using Volo.Abp.Auditing;
  4. using Volo.Abp.AuditLogging.MongoDB;
  5. using Volo.Abp.Modularity;
  6. using Volo.Abp.MongoDB;
  7. using Volo.Abp.PermissionManagement.MongoDB;
  8. using Volo.Abp.TenantManagement.MongoDB;
  9. namespace Bussiness.MongoDB
  10. {
  11. [DependsOn(
  12. typeof(AbpPermissionManagementMongoDbModule),
  13. typeof(AbpTenantManagementMongoDbModule)
  14. )]
  15. public class BussinessMongoDbModule: AbpModule
  16. {
  17. public override void ConfigureServices(ServiceConfigurationContext context)
  18. {
  19. context.Services.AddMongoDbContext<BussinessMongoDbContext>(options =>
  20. {
  21. options.AddDefaultRepositories(includeAllEntities: true);
  22. });
  23. // 替换默认的MongoDB上下文提供程序,禁用事务支持
  24. // 解决Standalone MongoDB服务器不支持事务的问题
  25. context.Services.Replace(
  26. ServiceDescriptor.Transient<IMongoDbContextProvider<BussinessMongoDbContext>,
  27. NonTransactionalMongoDbContextProvider<BussinessMongoDbContext>>());
  28. Configure<AbpAuditingOptions>(options =>
  29. {
  30. options.IsEnabledForGetRequests = true;
  31. });
  32. }
  33. }
  34. }