ToB企服应用市场:ToB评测及商务社交产业平台
标题:
从浅入深了解.NET Core MVC 2.x全面教程【第二章】
[打印本页]
作者:
傲渊山岳
时间:
2023-8-9 19:04
标题:
从浅入深了解.NET Core MVC 2.x全面教程【第二章】
二、Logging
1.诊断中间件
命名空间:Microsoft.AspNetCore.Diagnostics
报告信息并处理异常
2.诊断中间件
UseDeveloperExceptionPage:开发时使用的异常页面,异常信息
UseStatusCodePages:返回状态码:400-600
UserExceptionHandler:指定异常处理器
UseWelcome:当网站还在建设中
3.ASP.NET Core里的Log系统
EventSource
ILogger
DiagnosticSource
4.ILogger
基于Providers
内置
可扩展使用其他的,或自己构件
5.内置的Log Providers
Console:控制台
Debug:VSDebug窗口
EventSource
EventLog:写到Windows事件中
TraceSource:只能应用于完整的.NET Frameword
Azure App Service
6.Log等级(低级——>高级)
Trace
Debug
Information
Warning
Error
Cirtical
7.添加日志信息
第一个参数是EventID,写一个常量就行;
第二个参数是要记录的日志信息;如果有2个参数就继续往后写就行了;
不建议这么写,写在一起就提出不来了;
8.第三方 Log Provider
Serilog
Nlog
Elmah
9.怎么在ASP.NET Core中使用Serilog?
在NuGet中安装【Servilog.AspNetCore】
//如果需要输出到控制台
//输出到文件
在【Program.cs】文件中Main方法中进行配置。
在【Program.cs】文件中CreateWebHostBuilder方法中进行使用。
三、Filter
1.Filter
用于MVC
可以在MVC的请求管道里添加逻辑
之前、之后
Cross-cutting concerns:灌穿特性
避免代码重复
常用场景
授权
需要Https
2.MVC管道
3.Filter种类
AuthorizationFilter:鉴权授权
ResourceFilter:资源过滤器
ActionFilter:行为方法过滤器
ExceptionFilter:异常过滤器
ResultFilter:结果过滤器
4.实现Filter
IFilterMetadata
IAtuorizationFilter,IAsyncAuthorizationFilter
IResourceFilter
IActionFilter
IExceptionFilter
IRestleFilter
5.应用Filter
Action
Controller
全局
四、缓存
1.缓存的优点?
提高网站的访问速度
适用于不易改变的数据
2.缓存的缺点?
仔细规划
奇怪的副作用
3.缓存的地点?
服务器
缓存服务器
客户端
4.In-Memory缓存
内存缓存
IMemoryCache
适用于Sticky Seesion(使用单机服务)
适用于任何类型的对象
5.MemoryCacheEntryOptions
Absolute expiration time:绝对过期时间
Sliding expiration time:可调的过期时间
缓存优先级
PostEvictionDelegate
6.怎么使用缓存?
现在【Sartup.cs】的【ConfigureServices】方法中注册缓存:
定义一个常量,用来做Key
构造函数依赖注入缓存
使用缓存
7.Cache Tag Helper
@await Component.IncokeAsync("xxx")
服务器端
使用IMemoryCache
Sticky Session
8.Cache Tag Helper属性
Enabled:是否启用
expires-on:绝对的过期时间
expires-after:时间长度
expires-sliding:可调的过期时间
vary-by-header:请求
vary-by-query
vary-by-cookie
vary-by-user
vary-by
priority:优先级设置
9.分布式缓存_1
10.分布式缓存_2
无需Sticky Seesion
可扩展
服务器重启不会缓存
性能更好
11.分布式缓存的接口名、方法?
IDistributedCache
Get,GetAsync
Set,SetAsync
Refresh,RefreshAsync
Remove,RemoveAsync
12.分布式缓存有哪几种?
分布式Memory Cache:只适合开发时应用
分布式 Sql Server Cache
分布式 Redis Cache:实际中使用这个最多
13.怎么使用Readis分布式缓存?
安装Redis(使用Docker安装)
连接、运行Redis
在VS项目中安装Redis
在【Startup.cs】的【ConfigureService】方法中进行注入。
在Controller中构造函数依赖注入
使用分布式缓存
14.Response缓存(响应缓存、客户端缓存)
基于Header
客户端缓存
使用ResponseCache这个Attribute
15.Reponse缓存参数?
Location:设置缓存在哪
Duration:设置缓存时间的长短
NoStore:不应该设为缓存
VaryByHeader:设置通过检查哪个Header的值决定缓存
16.如何使用Reponse缓存?
在【Startup.cs】注册Reponse缓存
在控制器中写代码;
也可以使用之前注册的
17.压缩
压缩传输的数据:1k以上的数据,如CSS、JS等可以进行压缩;
如何使用呢?
(1)在【Program.cs】中【ConfigureServices】方法中注册服务
(2)在【Program.cs】中【Configure】使用服务
没介绍完,看文档...
五、VSTS(后改名:Azure DevOps)
1.Azure DevOps
Saas
完整的DevOps的解决方案
与技术无关
基于Azure
集成开发团队的环境
2.Azure DevOps组件
源码控制
计划
CI
发布管理
测试
...
3.CI-Continuouts Integeration(持续集成)
4.Azure Devops -CI
Build连接到测试,工作项...
宿主代理
针对报告
支持多种语言凭他
上一章节:
https://www.cnblogs.com/kimiliucn/p/17611047.html
原文链接:
https://www.cnblogs.com/kimiliucn/p/17616708.html
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4