Introduction Layering of an application's codebase is a widely accepted technique to help reduce complexity and improve code reusability. To achieve layered architecture, ASP.NET Boilerplate follows the principles of Domain Driven Design. 分层应用程序的代码是一…
Application Services are used to expose domain logic to the presentation layer. An Application Service is called from presentation layer with a DTO (Data Transfer Object) as parameter, uses domain objects to perform some specific business logic and r…
Data Transfer Objects are used to transfer data between Application Layer and Presentation Layer. 数据传输对象用于在应用层和表示层之间传输数据. Presentation Layer calls to an Application Service method with a Data Transfer Object (DTO), then application service uses domai…
Introduction to validation Inputs of an application should be validated first. This input can be sent by user or another application. In a web application, validation is usually implemented twice: in client and in the server. Client-side validation i…
Introduction Wikipedia: "An audit trail (also called audit log) is a security-relevant chronological record, set of records, and/or destination and source of records that provide documentary evidence of the sequence of activities that have affected a…
Introduction "Cross-Site Request Forgery (CSRF) is a type of attack that occurs when a malicious web site, email, blog, instant message, or program causes a user’s web browser to perform an unwanted action on a trusted site for which the user is curr…
What Is Multi Tenancy? "Software Multitenancy refers to a software architecture in which a single instance of a software runs on a server and serves multiple tenants. A tenant is a group of users who share a common access with specific privileges to…
ASP.NET Boilerplate provides an infrastructure and a model to configure it and modules on startup. ASP.NET提供了一个基础和样板模型配置和模块启动. Configuring ASP.NET Boilerplate Configuring ASP.NET Boilerplate is made on PreInitialize event of your module. Example conf…
Server Side(服务端) ASP.NET Boilerplate uses Castle Windsor's logging facility. It can work with different logging libraries: Log4Net, NLog, Serilog... etc. Castle provides a common interface for all logger libraries. So, you're independent from specifi…
Introduction Every application need to store some settings and use these settings in somewhere in the application. ASP.NET Boilerplate provides a strong infrastructure to store/retrieve application, tenant and user level settings usable both in serve…