CleanArchitecture | Clean Architecture Solution Template for ASP.NET Core | Architecture library

 by   jasontaylordev C# Version: v7.0.2 License: MIT

kandi X-RAY | CleanArchitecture Summary

kandi X-RAY | CleanArchitecture Summary

CleanArchitecture is a C# library typically used in Architecture, Angular applications. CleanArchitecture has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

Clean Architecture Solution Template for .NET 6
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              CleanArchitecture has a medium active ecosystem.
              It has 12131 star(s) with 2725 fork(s). There are 361 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 12 open issues and 377 have been closed. On average issues are closed in 158 days. There are 9 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of CleanArchitecture is v7.0.2

            kandi-Quality Quality

              CleanArchitecture has no bugs reported.

            kandi-Security Security

              CleanArchitecture has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              CleanArchitecture is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              CleanArchitecture releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of CleanArchitecture
            Get all kandi verified functions for this library.

            CleanArchitecture Key Features

            No Key Features are available at this moment for CleanArchitecture.

            CleanArchitecture Examples and Code Snippets

            No Code Snippets are available at this moment for CleanArchitecture.

            Community Discussions

            QUESTION

            When is ActionController.HttpContext set?
            Asked 2022-Feb-21 at 07:21

            I am trying to implement an ASP.NET Core MVC web app similar to Jason Taylor's CleanArchitecture design. In the WebUi "layer" I try to implement an abstraction of an IIdentityService in which I want to access the ClaimsPrincipal associated with the current HttpRequest.

            After some digging through the source code on github, I found that the Controller.User property stems from ControllerBase.HttpContext? which is derived from ControllerContext which in turn is derived from ActionContext in which the HttpContext property is defined as

            ...

            ANSWER

            Answered 2022-Feb-21 at 07:21

            After being hinted in the right direction by @JHBonarius in the comments, I found a documented case in the official documentation

            Use HttpContext from custom components

            For other framework and custom components that require access to HttpContext, the recommended approach is to register a dependency using the built-in Dependency Injection (DI) container. The DI container supplies the IHttpContextAccessor to any classes that declare it as a dependency in their constructors:

            Source https://stackoverflow.com/questions/71186314

            QUESTION

            Why the method uses Activator.CreateInstance instead of directly "new Class()"?
            Asked 2022-Feb-12 at 18:50

            In the method GetNotificationCorrespondingToDomainEvent in https://github.com/jasontaylordev/CleanArchitecture/blob/main/src/Infrastructure/Services/DomainEventService.cs, it has the following method,

            ...

            ANSWER

            Answered 2022-Feb-12 at 18:50

            The difference is that

            Source https://stackoverflow.com/questions/71094692

            QUESTION

            How to a raise a domain event for the entity when the entity is created in clean architecture
            Asked 2022-Feb-06 at 14:17

            I have a project created using the clean architecture template.

            If I want a domain event be raised when a new project is created, where do I add that?

            If I have to raise an event whenever a new item be added to a project, I can accomplish that in the Project entity as shown here.

            Similarly for MarkCompletion of a ToDoItem as done here.

            But its not clear where do I put the code to raise an event when a new Project is created?

            One option is doing something like the following in Create End Point here.

            ...

            ANSWER

            Answered 2022-Jan-30 at 07:20

            When you need to raise a domain event on project creation I would create a factory method that publishes the event.

            You can use a static method or implement a factory object.

            Source https://stackoverflow.com/questions/70908208

            QUESTION

            How to are Domain Events ignored from Migrations in Ardalis CleanArchitecture?
            Asked 2021-Dec-01 at 01:44

            For references: https://github.com/ardalis/CleanArchitecture

            The BaseEntity model contains a List. This list is being ignored in when doing EF Migrations.

            ...

            ANSWER

            Answered 2021-Dec-01 at 01:44

            It's a field, not a property, so it's ignored. EF only maps properties. Yes, since it's a field, it should probably be named _events instead of Events.

            Source https://stackoverflow.com/questions/70064355

            QUESTION

            In AutoFac, why does the order of RegisterGeneric calls for my generic repositories only work correctly for the last one registered?
            Asked 2021-Sep-16 at 17:10

            I am working on a .NET 5 targeted ASP.NET API where I need to access three different SQL databases.

            I am using AutoFac as my DI (disclaimer: I am new to AutoFac and have only used the ASP.NET Core build in DI in the past).

            I am also using the CleanArchitecture framework from Steve Smith (https://github.com/ardalis/CleanArchitecture)

            I am using generic repositories, one for each DbContext (representing the 3 different databases).

            I have the following code in my startup project's Startup.cs --> ConfigureContainer method;

            ...

            ANSWER

            Answered 2021-Sep-16 at 17:10

            Autofac will give you the most recently registered instance type, which is why you're getting the last one. You can actually request (via DI) an IEnumerable> in your endpoint class if you want, and Autofac should give you all of the registered instances for that type. That might help you in debugging, or if you want to use some strategy in the endpoint to select which one is the appropriate instance for a given request.

            Source https://stackoverflow.com/questions/69122895

            QUESTION

            Calling interface method in razor page throws unhandled exception
            Asked 2021-Aug-18 at 11:41

            Unhandled exception rendering component:

            Cannot provide a value for property _accountService on type Inventory_Management.Client.Pages.Authentication.Login. There are no registered service of type Inventory_Management.Shared.Services.AccountService.

            AccountService.cs

            ...

            ANSWER

            Answered 2021-Aug-17 at 14:37

            You need to register your concrete class in Startup class's ConfigureServices method. Try the following.

            Source https://stackoverflow.com/questions/68818965

            QUESTION

            Unable to create an object of type 'ApplicationDbContext'. Ef core 5.0
            Asked 2021-Jun-13 at 12:31

            I using CleanArchitecture solution. I have Data layer where ApplicationDbContext and UnitOfWork are located :

            ...

            ANSWER

            Answered 2021-Jun-13 at 12:31

            finally, I found my answers in this article https://snede.net/you-dont-need-a-idesigntimedbcontextfactory/

            Create ApplicationDbContextFactory in Portal.Data project:

            Source https://stackoverflow.com/questions/67907439

            QUESTION

            Blazor Server and CleanCode - ASP.NET Core Identity
            Asked 2021-Jun-10 at 08:10

            I am having trouble wiring up identity into Blazor server with ASP.NET Core identity. Specifically getting the correct logged in state in Blazor pages (while I am getting them from the Blazor pages).

            I think it's related to some of the startup being initialized in another project - but not sure how to debug it or what the solution is to be able to get the logged in state correctly.

            Reproduction steps and link to GH repo below as a POC.

            Background

            I'm porting over the clean-code project by JasonTaylor from Angular / ASP.NET Core to a Blazor server project with ASP.NET Core Identity.

            Issue

            The application runs up and I can browse the pages when I register I can see logged-in state in the identity-based default pages but in the Blazor pages that use the AuthorizeView (e.g. LoginDisplay.razor) it's not aware of being authorized.

            Startup in the Blazor project:

            ...

            ANSWER

            Answered 2021-Jun-10 at 08:10

            This was an issue with mixing IdentityServer and ASP.net identity.

            By removing Microsoft.AspNetCore.ApiAuthorization.IdentityServer and the use of base class from ApiAuthorizationDbContext back to IdentityDbContext resolved this.

            Source https://stackoverflow.com/questions/67815116

            QUESTION

            How to call SQL functions / stored procedure when using the Repository pattern
            Asked 2021-May-02 at 16:21

            What is the best way to call a SQL function / stored procedure when converting code to use the repository pattern? Specifically, I am interested in read/query capabilities.

            Options

            1. Add an ExecuteSqlQuery to IRepository
            2. Add a new repository interface specific to the context (i.e. ILocationRepository) and add resource specific methods
            3. Add a special "repository" for all the random stored procedures until they are all converted
            4. Don't. Just convert the stored procedures to code and place the logic in the service layer

            Option #4 does seem to be the best long term solution, but it's also going to take a lot more time and I was hoping to push this until a future phase.

            Which option (above or otherwise) would be "best"?

            NOTE: my architecture is based on ardalis/CleanArchitecture using ardalis/Specification, though I'm open to all suggestions.

            ...

            ANSWER

            Answered 2021-May-02 at 16:21

            Don't treat STORED PROCEDURES as 2nd order citizens. In general, avoid using them because they very often take away your domain code and hide it inside database, but sometimes due to performance reasons, they are your only choice. In this case, you should use option 2 and treat them same as some simple database fetch.

            Option 1 is really bad because you will soon have tons of SQL in places you don't want (Application Service) and it will prevent portability to another storage media.

            Option 3 is unnecessary, stored procedures are no worse than simple Entity Framework Core database access requests.

            Option 4 is the reason why you cannot always avoid stored procedures. Sometimes trying to query stuff in application service/repositories will create very big performance issues. That's when, and only when, you should step in with stored procedures.

            Source https://stackoverflow.com/questions/67234618

            QUESTION

            Database operation expected to affect 1 row(s) but actually affected 0 row(s). Entity's collection not tracked?
            Asked 2021-Apr-19 at 16:36

            I'm getting this error:

            Database operation expected to affect 1 row(s) but actually affected 0 row(s)

            when adding a new element to the entity's collection.

            Base classes in Domain project:

            ...

            ANSWER

            Answered 2021-Apr-19 at 16:36

            The problem was that by generating my Id's manually, the new entity got the Modified state, instead of Added state. The fix was using the Fluent API's .ValueGeneratedNever() method with the modelBuilder.

            See: https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-3.x/breaking-changes#detectchanges-honors-store-generated-key-values

            Source https://stackoverflow.com/questions/67144847

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install CleanArchitecture

            The easiest way to get started is to install the NuGet package and run dotnet new ca-sln:. Check out my blog post for more information.
            Install the latest .NET 6 SDK
            Install the latest Node.js LTS
            Run dotnet new --install Clean.Architecture.Solution.Template to install the project template
            Create a folder for your solution and cd into it (the template will use it as project name)
            Run dotnet new ca-sln to create a new project
            Navigate to src/WebUI/ClientApp and run npm install
            Navigate to src/WebUI/ClientApp and run npm start to launch the front end (Angular)
            Navigate to src/WebUI and run dotnet run to launch the back end (ASP.NET Core Web API)

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/jasontaylordev/CleanArchitecture.git

          • CLI

            gh repo clone jasontaylordev/CleanArchitecture

          • sshUrl

            git@github.com:jasontaylordev/CleanArchitecture.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link