***************Portal7*************
1、项目webApi创建
创制器创建为 webapi控制器
2、ASP.NET CORE系列【五】webapi整理以及RESTful风格化:
https://www.cnblogs.com/shumin/p/8832403.html
***************Portal8*************
- 在前后端分离的模式中,不能使用session,因为session是返回到前端的,所以要使用memoryCache来模拟session,
注意:可以使用客户端的ip地址做为key,来进行查询(状态保持)
2、standard类库可以与netCore类库通用
3、
5、
使用post传输image的VUE代码:
后端接受代码(webApi代码),注意接受参数要与前端一致(参数为img):
6、netCore解除文件上传大小限制
***************Portal8*************
1、本地保存图片的2种方式
2、系统架构设计,每2个调用层直接不直接耦合,而是用使用接口对接,方便维护
3、一般不在实体文件中加特性,如朱健[key],而是在context上下文配置文件中加haskey,比较方便管理
5、model层迁移到数据库的过程:
迁移的结果
6、expression就是lambeda表达式
7、
泛型的action
泛型的func的最后一个泛型类型是返回类型
***************Portal10*************
1、efCore的追踪机制
注:可以使用update方法对数据进行更新,与efcore的entity追踪机制不冲突
2、所有业务逻辑都写在service层中,不要写在webapi层中,webapi只负责调用service就可以了
3、一个业务逻辑一个类(分部类)
***************Portal11*************
- starup中的注入
注:泛型,必须使用typeof(IReporsitory)来获取类型对象,而一般接口直接写类型(IAccountService)就可以
2、filter可以写在类上,action上、也可以全局作用(如:当action是动态生成时)
3、如果不想拼接字符串,可以使用es6的占位符,比较方便
***************Portal12*************
1、dynamic类型与var相对应,但是var是编译期确认,dynamic是运行期确认
2、BaseController的内容
3、浏览器中localstorage的查询
5、vue中第三方插件可以加入vue原型使用(如:this.qs、this.http等)
在vue中使用
6、给controller的类上加上apicontroller,就可以对前端的请求数据类型进行自动判断
***************Portal13*************
- 当前端使用post传值表单时,后台取值的方式:
- 使用option方式,
-
- 参数前加上[fromBody]特性
-
- 在action前加上apicontraller,就可以自动判断从前端请求的类型
2、actionfilter的功能
然后将filter放置在需要干预的action的特性上
3、返回json动态对象的方式(类似于JasonObject)
5、类中const常量,可以直接在 类名+常量的方式在其他类中使用
其他类中使用(类名+常量)
6、LauchSetting中iis启动端口的配置
7、使用构造函数依赖注入,字段和属性都可以(以下为属性)
8、Ngix负责均衡的配置(多台服务器,分布式管理)
- ngix进行缓存的设置,(主要是对页面进行缓存)