Introduction This document is for ASP.NET MVC and Web API. If you're interested in ASP.NET Core, see ASP.NET Core documentation. In a web application, exceptions are usually handled in MVC Controller actions and Web API Controller actions. When an ex…
What is Dependency Injection If you already know Dependency Injection concept, Constructor and Property Injection patterns, you can skip to the next section. Wikipedia says: "Dependency injection is a software design pattern in which one or more depe…
In C#, a class can define own events and other classes can register it to be notified when something happen. This is useful for a desktop application or standalone windows service. But, for a web application it's a bit problematic since objects are c…
Building Dynamic Web API Controllers This document is for ASP.NET Web API. If you're interested in ASP.NET Core, see ASP.NET Core documentation. ASP.NET Boilerplate can automatically generate ASP.NET Web API layer for your application layer. Say that…
Introduction Email sending is a pretty common task for almost every application. ASP.NET Boilerplate provides a basic infrastructure to simply send emails and seperate email server configuration from sending emails. IEmailSender IEmailSender is a ser…
Introduction ASP.NET Boilerplate provides an easy way of using embedded Razor views (.cshtml files) and other resources (css, js, img... files) in your web application. You can use this feature to create plugins/modules that contains UI functionality…
Introduction Hangfire is a compherensive background job manager. You can integrate ASP.NET Boilerplate with Hangfire to use it instead of default background job manager. You can use the same background job API for Hangfire. Thus, your code will be in…
这个模块简单,且无实际作用.一般实际项目中都有用数据库做持久化,用了数据库就无法用这个MemoryDB 模块了.原因在于ABP限制了UnitOfWork的类型只能有一个(前文以作介绍),一般用了数据库的必然要注入efUnitOfWork. 而注入了efUnitOfWork就不能在注入MemoryDbUnitOfWork了. MemoryDatabase:这是一个单例.ABP通过Dictionary<Type, object>+lock作为数据结构来实现内存数据库.其以entity的类型作为ke…
Introduction Most SaaS (multi-tenant) applications have editions (packages) those have different features. Thus, they can provide different price and feature options to thier tenants (customers). ASP.NET Boilerplate provides a feature system to make…
Introduction(介绍) Abp.EntityFrameworkCore nuget package is used to integrate to Entity Framework (EF) Core ORM framework. After installing this package, we should also add a DependsOn attribute for AbpEntityFrameworkCoreModule. abp.entityframeworkcore…