95992828九五至尊2

基本功设备882828九五至尊手机版

三月 21st, 2019  |  882828九五至尊手机版

新建Web空项目,选拔MVC相关基础零部件

基本功设备

882828九五至尊手机版 1

启动类

ASP.NET
Core从应用程序中的Startup类初步化。大家在那一个类中布局全数库(包涵ABP)。大家提议您先反省此课程。它也被并入到 OWIN。所以,你能够在此地添加OWIN中间件。

 

Bower和前端重视

ASP.NET Zero解决方案使用bower package
manager 以拿到前端库信赖(如bootstrap和jQuery)。由此,您能够轻松地添加新的软件包或更新Visual
Studio或bower的授命行界面上的水土保持软件包。您能够在.Web.Mvc项目标Dependencies
/ Bower下看到有着安装的bower软件包。

882828九五至尊手机版 2

安装EntityFramework

应用服务作为MVC API控制器

ASP.NET
Zero项目中度使用AJAX来提供更好的用户体验。UI 通过AJAX 调用应用程序服务方式。由此,要求创立MVC
API控制器作为适配器(A客户端通过AJAX调用MVC API
Controller操作,然后调用应用程序服务章程)。ABP框架自动为全部应用程序服务创造MVC
API控制器。因而,无需手动成立应用程序服务的MVC
API控制器。有关愈多新闻,请参阅相关 文档。当ABP动态成立Web
API控制器时,我们也足以像大家直接那样创建健康的MVC API控制器。

882828九五至尊手机版 3

本土化

ASP.NET Zero用户界面完全本地化。AspNet
Zero选用动态,基于数据库的租户 本地化(见上文相关部分)。

XML文件作为所需语言的为主翻译:

882828九五至尊手机版 4

PhoneBook将是你的ProjectName。您能够通过复制二个XML文件并更换为所需的言语来添加越多的XML文件。请参阅 行之有效的知识编码

当你添加新的地头化文本时,将其添加到暗许语言的XML文件,然后在应用程序中动用(此外,将更换的值添加到相应的XML文件)。由于XML文件中的值将被暗中同意使用,由此无需将其添加到数据库迁移代码中。

应用程序语言在 DefaultLanguagesCreator类中定义。那被用作 实体框架迁移中的种子数据。因而,假诺要添加新的暗中同意语言,只需将其添加到DefaultLanguagesCreator类中即可。别的,您应该将如上所述的呼应的XML文件添加为默许翻译。

关于愈多音信,请参阅 本地化和 言语管理文档。

 

ENTITYFRAMEWORKCORE集成

ASP.NET
Zero模板使用EntityFrameworkCore代码优先和迁移。PhoneBook DbContext(您的项目标YourProjectDbContext)定义了DbContext类。Migrations文件夹包蕴EF迁移。

PhoneBook RepositoryBase类是你的自定义存款和储蓄库的基类。有关越来越多音信,请参阅实体 框架集成文档。

加上模型和上下文对象

数据库迁移

你能够采用软件包管理器控制台添加新的动员搬迁,并像一般那样更新数据库。有关详细新闻,请参阅EF
Core的文档

882828九五至尊手机版 5

极度处理

ASP.NET
Zero使用ABP的 特别处理系统。因而,您不必要在大部时辰内部处理理和关爱非凡。

ASP.NET Zero化解方案在 运行 类中添加了十二分处理中间件:

if(env.IsDevelopment())
{
    app.UseDeveloperExceptionPage();
}
else
{
    app.UseStatusCodePagesWithRedirects(“〜/ Error?statusCode = {0}”);
    app.UseExceptionHandler(“/ Error”);
}

从而,您能够在付出进度中获取格式杰出的可怜页面,并在生养中开创更加用户自身的一无所长页面。有关详细消息,请参阅ErrorController及其相关视图(Views
\ Error)。

 

用户密码

ASP.NET Core引入了 用户密码 系统来储存敏感数据在付出中。ASP.NET
Zero使用此系统(它已正确配置为你的缓解方案)。您大概希望在支付中央银行使差异的连年字符串(或社交媒体API密钥),并且不想在档次中的appsettings.json中添加那些秘密数据(并且不想将那几个乖巧音讯交到到源代码管理系列)。然后利用地下管理器工具将此敏感新闻囤积在该地电脑中,并同意应用程序从地点电脑读取它们(假使可用)。

譬如,你可以应用下边包车型大巴指令,在Windows 命令指示符中的岗位的着力项目,更改连接字符串为你的地头开发条件:

dotnet user-secrets set ConnectionStrings:default “Server = 1.2.3.4; Database = MyProjectDevDb; User = sa; Password = 12345678”

此用户密码值将覆盖appsettings.json中的值。有关用户密码的详细新闻,请参阅ASP.NET 团结的文书档案

 

授权提供者

Authorization
system是依据权限的。AppPermissions 包蕴权限名称的常量, AppAuthorizationProvider类定义系统中的全数权限。在应用层中采纳它后面,大家应有定义三个权力。

请参阅 授权文书档案刺探怎么安顿权力。

增三元含读写的控制器

效用提供者

AppFeatureProvider类定义了多租户应用程序的作用。功效名称在AppFeatures 类中定义为contants。

请参阅 效果管理文书档案,理解怎样定义和动用效果。

882828九五至尊手机版 6

安装提供者

种种设置都有叁个唯一的名目。设置名称在 AppSettings类中定义为常量。全部安装及其暗中同意值在AppSettingProvider类中定义。

请参阅 设置文书档案以询问怎么创设和应用安装。

 

导航提供商

行使 AppNavigationProvider类中的定义自动生成菜单。大家有四个菜单:Main (后端应用程序的主菜单)和FrontEnd(前端网站的主菜单)。

 导航文书档案以博得更多音信。

 

缓存和REDIS缓存

ASP.NET
Zero使用内部存款和储蓄器缓存,但它可以选择 Redis作为缓存服务器。假如您想启用它,只是注销注释在以下行WebCoreModule(在你的.Web.Core项目):

Configuration.Caching.UseRedis(...);

Redis服务器应该运维起来才能动用它。有关越多新闻,请参阅 缓存文档。

 

后台作业和HANGFIRE

ABP框架包蕴2个后台作业系统有 私下认可的后台作业管理。假使您想利用Hangfire用作后台工作管理,您能够轻松启用它;

  1. 注销注释AddHangfire和UseHangfireDashboard 和UseHangfireServer行在Startup.cs(of
    Web.Mvc or Web.Host depending on your case)。
  2. 废除注释Configuration.Background乔布斯.UseHangfire在你的.Web.Core项目中的WebCoreModule.cs类。

瞩目:在率先次运营时,Hangfire会在数据库中开创和谐的表。有关愈来愈多音讯,请参阅 后台工作和 hangfire
intergation
文档。

点击添加报错

SIGNALR集成

SignalEscort已正确配置并集成到运转模板。实时通报和拉拉扯扯系统运用它。您能够一贯在您的应用程序中采用SignalLX570。

注意; 目前,SignalR 从没公布 给ASP.NET
Core。大家将OWIN 集成到ASP.NET
Core管道中,以便在应用程序中央银行使Signal中华V。有关 SignalR的更加多消息,请参阅 SignalR集成文档。

.Net Core兼容性

鉴于Signal酷威尚未准备好.net core,若是选拔.net
core作为基础框架,则SignalLX570集成将被剥夺。

882828九五至尊手机版 7

记录

ASP.NET
Zero使用Log4Net作为暗中认可记录。配置在.Web项目标log4net.config文件中定义。它暗许将享有日志写入网站的App_Data
/ Logs /
Logs.txt文件夹。公布项目时,请记住配置对“日志”文件夹的写入权限。

检查 日志记录文书档案以询问怎么注入ILogger并写入日志。

此刻急需再一次生成项目,然后再试尝试添加控制器,OK

DTO映射

ASP.NET
Zero使用AutoMapper 实行DTO到Entity映射(以及任何类别的目的到指标映射)。我们利用Abp.AutoMapper库,使AutoMapper的利用更简明和注脚。

比如,请参阅用于传输租户编辑新闻的DTO类:

[AutoMap(typeof(Tenant))]
 public  class TenantEditDto:EntityDto
{
    [Required]
    [StringLength(Tenant.MaxTenancyNameLength)]
    public  string TenancyName { get ; set; }

    [Required]
    [StringLength(Tenant.MaxNameLength)]
    public  string Name { get ; set ; }

    public  bool IsActive { get ; set ; }
}

在那边,AutoMap属性自动建立起映射 Tenant艾德itDto 和租户类。然后大家得以自动将Tenant对象转换为Tenant艾德itDto对象,如下所示:

[AbpAuthorize(AppPermissions.Pages_Tenants_Edit)]
 public  async task<TenantEditDto> GetTenantForEdit(EntityRequestInput input)
{
    return(wait TenantManager.GetByIdAsync(input.Id)).MapTo <TenantEditDto>();
}

MapTo扩充方法执行映射。

882828九五至尊手机版 8

自定义对象映射

在一些情形下,基于属性的映射大概不足。假若您需求平素运用Automapper
API来布置映射,那么你应该在 CustomDtoMapper类中展开。

有关DTO的更多消息,请参阅 数据传输对象文书档案

 

发送电子邮件

ASP.NET
Zero在有个别景况下会向用户发送电子邮件(如忘记密码和电子邮件确认)。电子邮件模板在 .Core项目(default.html)的Emailing /
EmailTemplates文件夹中定义。您能够透过编写制定此文件来更改默许电子邮件模板。

电子邮件发送在DEBUG方式下被剥夺。因为开发条件大概未正确配置来发送电子邮件。你可以启用它,就算您想要的。它在RELEASE格局下启用。检查 YourProjectName CoreModule类的PreInitialize方法,假如你愿意更改它。

.Net core兼容性

由于.net core不支持smpt客户端,AspNet
Zero使用MailKit出殡电子邮件。

 

BINARYOBJECTMANAGER

用户个人资料图片存储在数据库中,而不是文件系统。但是由于品质原因,它不会蕴藏在Users表中(用户时时从数据库检索,可是很少须要个人资料图片)。

ASP.NET
Zero内置的通用二进制保存机制。 BinaryObject实体可用以保存任何类型的二进制对象(字节数组)。由于可以将个人资料图片转换为字节数组,因而在此保存用户个人资料图片。

IBinaryObjectManager接口定义保存,获取和删除二进制对象的章程。DbBinaryObjectManager实现它在数据库中保留二进制对象。例如,ProfileController 使用IBinaryObjectManager从数据库中收获当前用户的个人资料图片。

您能够创设差异的IBinaryObjectManager 接口完结来将文件存款和储蓄在另2个指标地。

为调节和测试方便,修改暗许路由

软删除

一般性采取软删除形式,用于不从数据库中删除实体,但只将其标志为“已删除”。由此,假设3个实体是软删除的,那么它不应该被意外市寻找到应用程序中。ABP的 数据过滤器自动进行。

在ASP.NET
Zero中,超过八分之四实体都以软删除的。有关此宗旨的更加多消息,请参阅ABP的 数量过滤器文书档案

882828九五至尊手机版 9

捆绑,分类和编写翻译

ASP.NET Zero使用 Bundler&Minifier Visual
Studio扩展
来捆绑和压缩脚本和样式文件。它应有设置在您的Visual
Studio中。bundleconfig.json 文件定义了富有捆绑配置。

ASP.NET Zero还使用 WebCompiler Visual
Studio扩展
将 LESS文件编译为CSS文件。此扩充也应该设置在你的Visual
Studio中。 compilerconfig.json定义全数编写翻译配置。

请参阅那个扩大的文书档案以念书应用它们。

 

基础类

应用程序中选用了有个别得力的基类:

  • PhoneBook AppServiceBase能够作为全数应用程序服务的基类。
  • PhoneBook DomainServiceBase可以用作域服务的基类。
  • PhoneBook ControllerBase 可用作ASP.NET Core MVC控制器的基类。
  • PhoneBook RazorPage 能够作为ASP.NET MVC视图的基类。实际上,全数视图都会自动两次三番,因为它在_ViewImports.cshtml文件中定义 。您能够在此地充分一些常用的个性/方法,以便在具有视图中使用。
  • PhoneBook ServiceBase可以用作任何类似服务的类的基类。例如,UserEmailer类继承它。
  • PhoneBook RepositoryBase能够用作 自定义存款和储蓄库完结的基类 。

强烈建议您根据需求继续在那之中的1个类,因为它们使得日志记录,本地化,授权…更便于。

运行,OK

CSRF / XSRF保护

ABP框架尽大概简化和自动化CS福特ExplorerF爱慕。AspNet
Zero模板预先安顿并开箱即用。有关越来越多音讯,请参阅ABP的 XS卡宴F-CSTucsonF爱戴文书档案

882828九五至尊手机版 10

版本

882828九五至尊手机版,AppVersionHelper类用于 在单个地点定义应用程序的当前版本。版本和公布日期自动显示在后端应用页面包车型客车左下角。那促进大家一味看到运营应用程序版本。

882828九五至尊手机版 11

882828九五至尊手机版 12

 

注:即便不手动设置连接字符串,数据会储存在系统默许的任务( C:\Users\<yourusername>),手动删除默认地点的数据库会导致不可能再度创建数据库,或然在有个别系统数据库中著录了那一个数据库的相干音讯,手动删除数据库文件时并从未将以此数据库从数据库管理类别中卸载(暂未可见那条数据存款和储蓄在哪些表中),暂时化解办法时,撤除删除的数据库或改动数据库连接字符串中数据库的称号再度生成数据库。

 

若将接连字符串设置为如下所示,则会将数据库文件存款和储蓄在App_Data文件夹下

882828九五至尊手机版 13

  <connectionStrings>

    <add name="MovieDBContext"    connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/>

  </connectionStrings>

 

那会儿会生成数据库文件:

882828九五至尊手机版 14

 

 

相关文章

Your Comments

近期评论

    功能


    网站地图xml地图