asp.net core
辰三
柴米油盐酱醋茶
展开
-
asp.net core的过滤器与缓存之间的冲突
问题:web api 写了一个鉴权过滤器,考虑到访问量又给接口加了个缓存,但是出现问题了:用户的请求就算通不过鉴权机制也能访问接口的缓存数据,导致了只有缓存过期后才能验证用户是否有权限,很尴尬。原因:这跟Startup类里面添加中间件的先后顺序有关,缓存是在mvc(controller)前面,但是过滤器是在mvc(controller)里面增加的,也就是用户的请求会先经过缓存,再经过过滤器,也就是鉴权过滤器控制不住用户访问缓存的原因了,只有缓存过期了,用户请求才能再通过到controller这里,才能原创 2021-04-27 10:31:37 · 191 阅读 · 0 评论 -
asp.net core 自定义中间件
asp.net core 自定义中间件自定义中间件比较简单,分两步,构造函数与执行函数首先中间件内部需要定义一个 RequestDelegate 的属性,表示下一个要执行的中间件;构造函数里面需要有一个RequestDelegate 参数,接收下一个中间件,另外需要其他注入的服务自己可以随意加要有一个Invoke方法,用于执行,返回值需要是Task,参数需要HttpContext比如一个权限中间件 定义:首先定义构造函数://下一个要执行的中间件 private RequestDelega原创 2021-04-27 10:27:32 · 610 阅读 · 0 评论 -
asp.net core2.2使用IIS启动时,swagger访问404
最近出现了一个很奇葩的问题,也不知道是怎么产生的,莫名其妙的,不过最终还是解决了,记录一下问题 写了一个asp.net core webapi,使用的swagger方便调试接口,最近更改过一些东西后发现无法访问了/swagger 是404然后修改了swagger的RoutePrefix后,可以访问,但是找不到json文件解决a. 尝试着把修改的东西都还原了一下,依然404b. 百度了一下 ,不太好用c. 使用控制台启动可以访问swagger(从这确定是IIS的问题)d. 找个最笨的办法,原创 2021-03-04 11:20:27 · 1265 阅读 · 1 评论