论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
.Net
›
从浅入深了解.NET Core MVC 2.x全面教程【第二章】 ...
从浅入深了解.NET Core MVC 2.x全面教程【第二章】
傲渊山岳
金牌会员
|
2023-8-9 19:04:14
|
显示全部楼层
|
阅读模式
楼主
主题
908
|
帖子
908
|
积分
2724
二、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
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
傲渊山岳
金牌会员
这个人很懒什么都没写!
楼主热帖
2022你不容错过的软件测试项目实战(we ...
SQL Server创建表
Swift之Codable自定义解析将任意数据类 ...
MySQL max() min() 函数取值错误
ThinkPHP5 远程命令执行漏洞
2022年春节后这波疫情对于国内SAP咨询 ...
变量的定义和使用
Java EnumMap put()方法具有什么功能呢 ...
【微服务专题之】.Net6下集成微服务网 ...
MySQL数据库-数据表
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表