Activities of "murat.yuceer"

  • ABP Framework version: v5.0.1
  • UI type: Blazor Server
  • DB provider: MongoDB
  • Tiered (MVC) or Identity Server Separated (Angular): No

Hello,

Today, I start to get error like "Sequence contains more than one element" when my hangfire job execute. I found problem when I debug method on line below

await _blobContainer.SaveAsync(agreementContainer.PartnerCopy.PdfBinaryId.ToString(), iiaAgreementResponse.Pdf);

I found the line where the error came from https://github.com/abpframework/abp/blob/e3e1779de6df5d26f01cdc8e99ac9cbcb3d24d3c/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/DatabaseBlobProvider.cs#L129

Then I checked database and I've seen repetitive data formed somehow on AbpBlobContainer table (for same container name & tenant)

I using mongodb replication with 3 nodes for enable transaction.

I think it happened when two requests came in at the same time..

How it could be? Does it not lock mongo db collections until transaction finish? Or should we put lock here?

Hello, I created microservice project. If we want seprate database, how can we configure that? Because we have more than one connection string each service, but saas tenant table contain one right?

Hello, our pipelines not working because of yours server not work.

  • ABP Framework version: v5.0.1
  • UI type: Blazor Server
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes

Hello, I create project with module template from suite. But I need to blazor Server Host project call remote service from api and should use identityserver not unified. Default Its create work unified. I trying to convert it but I stuck. When I click login button its not redriect identityserver project Show message like this

How can I say to suite, create module project but blazor server host should be work like web assembly(not unified)

Can you create module solution like this and send my email? project name is can be "Kuys.Module.EmployeeManagement"

We feed our microservices with modules. We are experiencing unexpected errors as we work this unified way.

Thanks

Question

Hello,

We try to implement row level auth mechanism. For that firstly we think about global filters. But we had to give up. Because us conditions not static, users will create dynamic conditions like x user for a table just can see y column equal 'xxx'. But global filters adding conditions even not need to current user. We can pass fake value to ignore condition but queries will grow and we need set dynamically without restart app.

Then we decied to override base abp repository methods. Which method would be correct to hack to implement this or do you have any other suggestions?

  • ABP Framework version: v4.3.0
  • UI type: Blazor
  • DB provider: EF Core

Hello, I try to use devexpress xtrareport with their objectdatasource but i get error "Instances cannot be resolved and nested lifetimes cannot be created from this LifetimeScope as it (or one of its parent scopes) has already been disposed."

This is my objectdatasource class, i bind to report get method

    [HighlightedClass]
    public class ObjectDataSource : ITransientDependency
    {

        private readonly IServiceScopeFactory _serviceScopeFactory; // <== HERE DISPOSED = TRUE

        public ObjectDataSource( IServiceScopeFactory serviceScopeFactory){
              _serviceScopeFactory = serviceScopeFactory;
        }

        [HighlightedMember]
        public async Task<IEnumerable<DataModel>> Get(Guid id)
        {
            var scope = _serviceScopeFactory.CreateScope(); // _serviceScopeFactory is disposed here

...

            return dataModel;
        }
    }
}

At first I implemented this interface "IWebDocumentViewerReportResolver" to override xtrareport's creating progress (xtrareport contain objectdatasource)

public class WebDocumentViewerReportResolver : IWebDocumentViewerReportResolver
{
    ObjectDataSourceInjector DataSourceInjector { get; }
    ReportStorageWebExtension ReportStorageWebExtension { get; }

    public WebDocumentViewerReportResolver(
        ReportStorageWebExtension reportStorageWebExtension,
        ObjectDataSourceInjector dataSourceInjector)
    {
        DataSourceInjector = dataSourceInjector ?? throw new ArgumentNullException(nameof(dataSourceInjector));
        ReportStorageWebExtension = reportStorageWebExtension ?? throw new ArgumentNullException(nameof(reportStorageWebExtension));
    }

    public XtraReport Resolve(string reportEntry)
    {
        using (MemoryStream ms = new MemoryStream(ReportStorageWebExtension.GetData(reportEntry)))
        {
            var report = XtraReport.FromStream(ms);
            DataSourceInjector.Process(report); // HERE I resolve object datasource services
            return report;
        }
    }
}

Here, i resolved services as devexpress recommend

namespace Kuys.Shared.AspNetCore.DevExp.Reporting.HttpApi
{
    public class ObjectDataSourceInjector
    {
        private readonly IServiceProvider _serviceProvider;

        public ObjectDataSourceInjector(IServiceProvider serviceProvider)
        {
            _serviceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider));
        }

        public void Process(XtraReport report)
        {
            var dse = new UniqueDataSourceEnumerator();
            ((IServiceContainer)report).ReplaceService(typeof(IReportProvider), _serviceProvider.GetRequiredService<IReportProvider>());
            foreach (var dataSource in dse.EnumerateDataSources(report, true))
            {
                if (dataSource is ObjectDataSource ods && ods.DataSource is Type dataSourceType)
                {
                    ods.DataSource = _serviceProvider.GetRequiredService(dataSourceType); // <== DISPOSE = FALSE
                }
            }
        }
    }
}
  • ABP Framework version: v4.4.0
  • UI type: Blazor Server
  • DB provider: MongoDB
  • Tiered (MVC) or Identity Server Separated (Angular): no

Hi how can i override tenant change panel

I couldnt find in account source code

  • ABP Framework version: v4.3.3
  • UI type: Blazor Server
  • DB provider: MongoDB
  • Tiered (MVC) or Identity Server Separated (Angular): no

Hi, How can i enabile email settings page for tenant?

When i login with host admin i see email settings

but when login with tenant admin its look like

According to my scenario, I have to sync my users between my modules. But unlike your cmskit module, I should be able to add users through my page in my module project. In other words, the user I add from the module must be synchronous to the identity module (i.e. I should not be dependent on identity module screens).

How should I go about this process? (who should throw an event to whom? Should a user be added directly to the identity module via API call? etc..).

  • ABP Framework version: v4.3.0
  • UI type: Blazor Server
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes

Hi, I created project with suite microservice template. Everythink worked correct (i started project with tye) Also i have module project. I created them with module template. I added new service to microservice project as document show. After i referenced module to this service. I did as you do in saas service. But when i run any api method that interact with database from swagger its throw error

Autofac.Core.DependencyResolutionException: An exception was thrown while activating Kuys.Module.EmployeeManagement.EntityFrameworkCore.EmployeeManagementDbContext -> ?:Microsoft.EntityFrameworkCore.DbContextOptions`1[[Kuys.Module.EmployeeManagement.EntityFrameworkCore.EmployeeManagementDbContext, Kuys.Module.EmployeeManagement.EntityFrameworkCore, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null]]. ---> Volo.Abp.AbpException: No configuration found for Microsoft.EntityFrameworkCore.DbContext, Microsoft.EntityFrameworkCore, Version=5.0.5.0, Culture=neutral, PublicKeyToken=adb9793829ddae60! Use services.Configure

When i comment below lines its working

        public override void ConfigureServices(ServiceConfigurationContext context)
        {
            context.Services.AddAbpDbContext&lt;EmployeeManagementServiceDbContext&gt;(options =>
            {
                options.ReplaceDbContext&lt;IEmployeeManagementDbContext&gt;();

                /* Remove "includeAllEntities: true" to create
                 * default repositories only for aggregate roots */
                options.AddDefaultRepositories(includeAllEntities: true);
            });
            ....
        }

My module api method using custom repository, this repository try to access dbcontext inside it.

Where i missing or is it could be bug? I guess ReplaceDbContext not work correct??

Showing 1 to 10 of 12 entries
Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11