从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之十三 || DTOs 对象映射使用,项目部署Windows+Linux完整版

  • 时间:
  • 浏览:1

代码一并正常!

cd Blog.Core,或者再cd Blog.Core

软件下好打开后界面是原先的,朋友时需填的就说 主机名(你服务器的公网IP)、用户名(服务器的用户名)、密码(你买服务器时设置的密码),那个文件协议就说 SFTP,不必改变

----------------------------------------------------------------------

 

cd myApp

dotnet run

https://gitee.com/laozhangIsPhi/Blog.Core

5、应用池配置为无托管代码

 安装成功后,输入命令 dotnet 

3、在Blog.Core.Services项目中引用Nuget包,AutoMapper 和 AutoMapper.Extensions.Microsoft.DependencyInjection

6、老规矩,还是在Startup中,注入服务

继续

5、修改里边服务层BlogArticleServices.cs 中getBlogDetails 法律土法律法律依据中的赋值,改用AutoMapper,并用构造函数注入

在项目工程文件WebApplication1.csproj中,增加

注意:这里一两个小问提,原因分析分析 发布前一天,默认启动页是在开发环境中重定向到了swagger,或者在服务器部署前一天,要能跳转,朋友打开完全都是原先,404找要能,不必 怕,

或者就在winSCP发现多了一两个项目

继续执行下面的命令

  下载地址:https://www.microsoft.com/net/download/windows

不必 不必 应该是把整个除理法律土法律法律依据提交上去,当然git就别提交了

1、在项目Blog.Core中,右键,发布,取舍文件,相信朋友完全都是,不必的都时需联系我

  正传:好啦,书接上文,昨天说到了《从壹后来开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之十二 || 三种生活跨域法律土法律法律依据比较,DTOs(数据传输对象)初探》,原因分析分析 下午时间的问提,就说 讲解了三种生活跨域法律土法律法律依据,不出讲解完DTO,我我实在你你这个 东西很简单,说白了,就说 把一两个实体类进行转换,不必人工手动去一一赋值,今天呢,就简单说下常见DTO框架AutoMapper的使用,或者做一两个打包除理,发布到我的windows服务器里,今天前一天买了一两个Ubuntu Linux服务器,原因分析分析 原因分析分析 开发.Net Core,完全都是接触到Linux服务器,等各种,原因分析分析 它跨域了,就说 酱紫。或者还不出配置好,不必 不必 会在下边留下位置,慢慢补充在Ubuntu部署的讲解。

下边的是基本原理,朋友喵一眼就行:

  IIS安装服务器上安装DotNetCore.X.X.X-WindowsHosting安装成功后重启IIS服务器。根据版本取舍下载

(网上解释:ASP.NET Core不再是由IIS工作任务管理器(w3wp.exe)托管,就说 使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core任务管理器中,我想要就将接收到的请求推送至里边件管道中去,除理完你的请求和相关业务逻辑前一天再将HTTP响应数据重新回写到IIS中,最终转达到不同的客户端(浏览器,APP,客户端等)。而配置文件和过程完全都是由些许调整,里边最重要的角色便是AspNetCoreModule,它是其中一两个的IIS模块,请求进入到IIS前一天便立即由它转发,并飞快重定向到ASP.NET Core项目中,不必 不必 这前一天朋友不必设置应用任务管理器池来托管朋友的代码,它只负责转发请求而已)

Register the trusted Microsoft signature key:

2、先来引入DTO讲解,以及它的原理

 

sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg

  地址:https://www.microsoft.com/net/download

AutoMapper.Extensions.Microsoft.DependencyInjection,你你这个 是用来配合依赖注入的,看名字要能看的出来吧,朋友回忆下,整个项目中,完全完全都是使用的依赖注入,不必 不必 尽量不必 用new 来实例化,原因分析分析 层耦合。

4、安装代码上传工具,Fillzila原因分析分析 winSCP都都时需,(我用的是winSCP)

public IMappingExpression<TSource, TDestination> CreateMap<TSource, TDestination>();

Ø 为哪些用?

  它的目的就说 为了对领域对象进行数据封装,实现层与层之间的数据传递。为什么我么我要能直接将领域对象用于数据传递?原因分析分析 领域对象更注重领域,而DTO更注重数据。不仅不出,原因分析分析 “富领域模型”的特点,原先做会直接将领域对象的行为暴露给表现层。

 将stdoutLogEnabled的修改为 true,并在应用任务管理器根目录上加 logs 文件夹

朋友看下F12你你这个 CreateMap法律土法律法律依据

在发布的前一天,会一两个web.config老出,通过修改web.config 启用错误日志查看完全错误信息

  时需了解的是,数据传输对象DTO三种生活并完全完全都是业务对象。数据传输对象是根据UI的需求进行设计的,而完全完全都是根据领域对象进行设计的。比如,Customer领域对象原因分析分析 会含晒 你你这个诸如FirstName, LastName, Email, Address等信息。但原因分析分析 UI上不打算显示Address的信息,不出CustomerDTO中就说 必含晒 你你这个 Address的数据”。

第一两个参数是原对象,第两个是目的对象,不必 不必 ,要想好,是哪个方向转哪个,当然都时需都写上,比如

一两个实体类字段还基本都时需,完全完全都是不必 不必 ,或者我原先开发一两个旅游网站的系统,一两个表字段都高达30多个,当然还有更多的,额,原因分析分析 朋友一两个个赋值是原先的

7、原因分析分析 不出老出正常的页面,给你打开错误日志

<PropertyGroup>

  <GenerateDocumentationFile>true</GenerateDocumentationFile>

</PropertyGroup>

接口层也要上加:

3、安装WindowsHosting(已安装则跳过)

Ø 哪些是DTO?

  数据传输对象(DTO)(DataTransfer Object),是三种生活设计模式之间传输数据的软件应用系统。数据传输目标往往是数据访问对象从而从数据库中检索数据。数据传输对象与数据交互对象或数据访问对象之间的差异是一两个以不具有任何行为除了存储和检索的数据(访问和存取器)。

当然朋友还都时需基于CLI的Publish命令进行发布,只需切换到Light.API根目录下,输入以下命令即可:

根据系统版本,执行下面的命令

番外:时间真快,今天终于到了系统打包的日子,我实在项目还是有不必 不必 问提,虽或者边还有不必 不必 的内容要说要学,或者想着初级基本的.Net Core 用到的基本大概就不出多了(接口文档,项目框架,持久化ORM,依赖注入,AOP,分布式缓存,CORS跨域等等),中高级的,比如在Linux高级发布,Nginx代理,微服务,Dockers等等,你你这个 在前一天的更新中会慢慢提到,不然一句话,Vue就总是说要能了 [哭笑哈哈],我我实在我还有不必 不必 要总结的,比如 Power BI系列(没用过的点击看看),比如C#7.0系列等文章,完全完全都是慢慢酝酿中,希望能坚持下来,不过你你这个 两个系列目前还不必写到,原因分析分析 有时时需或学微软Power BI(https://docs.microsoft.com/zh-cn/power-bi/sample-customer-profitability)的,都时需加QQ群联系我,我在微软项目中原因分析分析 用到了。还是打算从下周一后来开始转战Vue的文章,当或者端也会总是穿插着,这里要说下,朋友的QQ群原因分析分析 有你你这个小伙伴了,每天都时需一并交流心得和问提,感觉还是很不错的,原因分析分析 你哪些问提,原因分析分析 你你这个技术上的时需讨论,咱们的群是都时需试试哟,我和你你这个小伙伴会总是在线给朋友解答(咋感觉像一两个广告哈哈,朋友随意哈)。

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg

或者呢,进入到朋友要发布的接口层项目

CreateMap<BlogArticle, BlogViewModels>();

以上的哪些朋友简单看看原理即可,意思朋友肯定都懂,下边后来开始讲解怎样才能使用

 https://github.com/anjoy8/Blog.Core

8、把朋友的项目发布上去,注意这里完全完全都是咱们发布的版本!完全完全都是发布的版本!

注意: 这里一两个坑,还记得朋友用swagger中使用的一两个xml文件么,编译的前一天有,或者.net core官方限制了在发布的前一天含晒 xml文件,不必 不必 朋友时需除理下

 6、下面朋友在服务器新建一两个控制台项目测试一下

8、只要本地能通过,常见的错误就说 生成的文件不全原因分析分析 的,朋友都时需自行看看,原因分析分析 有问提,也都时需朋友一并除理

6、原因分析分析 时需读写根目录权限,要更改应用池 ApplicationPoolIdentity

  在学习EF的前一天朋友知道了ORM(Object Relational Mapping)映射,是三种生活对象关系的映射,对象-关系映射(ORM)系统一般以里边件的形式发生,主要实现任务管理器对象到关系数据库数据的映射。

sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list'

今天暂时就先写到这里,朋友学到了怎样才能用AutoMapper来实现DTO数据对象映射,也学会了在windows下的IIS中发布项目,最后就说 Linux系统中,搭建环境和运行.net core 。前一天呢我完全都是讲到怎样才能桌面话Linux系统,Nginx代理等等,朋友拭目以待吧

   在CMD命令窗口下,输入 dotnet 查看

而Automapper是三种生活实体转换关系的模型,AutoMapper是一两个.NET的对象映射工具。主要作用是进行领域对象与模型(DTO)之间的转换、数据库查询结果映射至实体对象。

Ø 哪些是领域对象?

  领域模型就说 面向对象的,面向对象的一两个不为什么我么我要的点就说 :“把事情交给最适合的类去做”,即:“你得在一两个个领域类之间跳转,要能找出朋友怎样才能交互”。在朋友的系统中Model(EF中的实体)就说 领域模型对象。领域对象主就说 面对业务的,朋友是通过业务来定义Model的。

证明安装成功啦

3、部署.Ne Core 环境

最后执行 dotnet run 即可

5、登陆进去默认是 /Home/ubuntu 文件夹,朋友完全完全都是这里操作

想了想这才是一两个法律土法律法律依据,一般的系统完全都是有少则几十,多则上百个原先的法律土法律法律依据,这还不算,朋友肯定遇到过一两个情形,原因分析分析 有一天要在页面多显示一两个字段,噗!完全完全都是吧,首不难 发生数据库,或者在该实体类就应该多一两个,或者再在每一两个赋值的地方增加一两个,或者就说 出更好的法律土法律法律依据完全完全都是,一不小心就少了一两个,或者被产品测试说咱们不细心,心塞哟,别慌!神器来了,一招读懂。

1、在接口 IBlogArticleServices.cs和 类BlogArticleServices.cs中,上加GetBlogDetails()法律土法律法律依据,返回类型是BlogViewModels

dotnet publish --framework netcoreapp1.1 --output "E:\Publish" --configuration Release

原因分析分析 朋友本地发布的是windows版本的,原因分析分析 把publish打包版本发布上去,会报错,各种错

9、在IIS中启动项目,原因分析分析 直接输入服务器IP地址,加端口调试

4、基于里边原理,在接口层Blog.Core 中,上加文件夹AutoMapper,或者上加映射配置文件 CustomProfile.cs,用来匹配所有的映射对象关系

services.AddAutoMapper(typeof(Startup));//这是AutoMapper的2.0新特征

  下载地址:点击我下载

最终的代码是

7、修改BlogController.cs中的 Get(int id)法律土法律法律依据,运行项目,断点调试,发现原因分析分析 成功了,是完全完全都是很方便,你也都时需反过来试一试

2、一定要在服务器中安装.Net Core SDK (已安装则跳过):

只时需在里边上加Swagger就行了

一定要手动上加logs文件,不然会不老出

framework表示目标框架,output表示要发布到的目录文件夹,configuration表示配置文件,等同于和里边朋友通过管理器来发布的操作

1、在腾讯云购买Ubuntu服务器后,登陆,或者进入命令页面

CreateMap<BlogViewModels, BlogArticle>();

8、好啦,DTOs就到这里了,朋友的ConfigureServices也基本告一段落了,主要哪些

好了,环境部署完毕,下面朋友安装 SDK

4、安装AspNetCoreModule托管模块(已安装则跳过),

 7、或者运行朋友前一天创建的项目

具体的朋友都时需自行实验

请看你你这个 两个类

2、部署Linux系统中的微软环境

不必 不必 你你这个 法律土法律法律依据的完全代码是: