Skip to content

NRE - Volo.Abp.AspNetCore.Uow.AspNetCoreUnitOfWorkTransactionBehaviourProvider.get_IsTransactional() #21970

Closed
@FloppyChips

Description

@FloppyChips

Is there an existing issue for this?

  • I have searched the existing issues

Description

ABP 8.1.1

Seeing this exception with multithreaded application where each thread creates it own UOW with the IUnitOfWorkManager:

System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.AspNetCore.Http.DefaultHttpRequest.get_Path()
at Volo.Abp.AspNetCore.Uow.AspNetCoreUnitOfWorkTransactionBehaviourProvider.get_IsTransactional()
at Volo.Abp.Uow.UnitOfWorkInterceptor.CreateOptions(IServiceProvider serviceProvider, IAbpMethodInvocation invocation, UnitOfWorkAttribute unitOfWorkAttribute)
at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed)

Seems to be looking at the current request path on HttpContext which I understand is not thread safe.

Regards Stuart

Reproduction Steps

No response

Expected behavior

No response

Actual behavior

No response

Regression?

No response

Known Workarounds

No response

Version

8.1.1

User Interface

Common (Default)

Database Provider

EF Core (Default)

Tiered or separate authentication server

Tiered

Operation System

Windows (Default)

Other information

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions