- 2024-09-17Blazor静态服务端呈现(静态SSR)身份认证
本文介绍Blazor静态服务端呈现(静态SSR)模式下,用户登录身份认证是如何实现的。1.SSR简介SSR是服务器侧呈现,HTML是由服务器上的ASP.NETCore运行时生成,通过网络发送到客户端,供客户端的浏览器显示。SSR分两种类型:静态SSR:服务器生成静态HTML,它不提供用户交互性或维护R
- 2024-09-02Sitecore 通过 processor 来自定义类似 github 的 not found 页面
有一个需求是类似github的404页面,当访问不存在的页面时,需要满足以下几点:不是通过redirect或其他状态码让浏览器来跳转到到404页面;链接还是原来链接,但是页面内容是404;由于是MVC模式,功能由back-end来实现;状态码得是404。在基于sitecore的框架上,使用sitecore的p
- 2024-07-26如何获取Asp.NetCore当前启动地址
在ASP.NETCore中获取当前启动地址,可以通过几种不同的方式来实现,具体取决于你的应用场景和可用的上下文。以下是一些常见的方法:1.使用HttpContext在控制器或中间件中,你可以通过HttpContext对象来获取当前请求的完整URL或主机地址。这是最直接的方法,因为HttpContext提供了对
- 2024-07-07.NET CORE WEBAPI 后端获取来源IP
之前看别的地方说获取IP用ip=HttpContext.Current.Request.UserHostAddress;在ASP.NETCore2.0及更高版本中不起作用。您必须从ConfigureServices方法中的Startup.cs类中注入 HttpContextAccessor实例。 实际上换成ip=HttpContext.Connection.RemoteIpAddress.ToStr
- 2024-07-02了解 .NET 中的会话管理
在Web开发领域,跨多个请求维护状态是一个关键方面。HTTP的无状态特性要求开发人员实现持久保存用户数据的机制。这就是会话发挥作用的地方。在本文中,我们将探讨什么是会话、它们在.NET中的工作方式,并提供实际示例来说明它们的用法。什么是会话?会话是服务器端的信息存
- 2024-07-01ASP.NET Core MVC 从入门到精通之HttpContext
原文链接:https://www.cnblogs.com/hsiang/p/17368101.html什么是HttpContext?在B/S模式开发的程序中,客户端是浏览器,服务器端Web服务程序,HttpContext是连接客户端和服务器端程序的桥梁,交代了当前请求的环境信息,它封装了请求[Request]和响应[Response]及其他所有信息,示意图如下所
- 2024-06-22HttpContext扩展类
需要引入UAParser,IPTools.Core类库a1publicstaticpartialclassHttpContextExtension2{3///<summary>4///是否是ajax请求5///</summary>6///<paramname="request"></param>7///<returns&
- 2024-06-07264 Exception Handling Middleware
示例CRUDExample项目新建Middlewares文件夹,下面新建ExceptionHandlingMiddleware.cs(VS中有Middleware模板)usingMicrosoft.AspNetCore.Builder;usingMicrosoft.AspNetCore.Http;usingSerilog;usingSystem.Threading.Tasks;namespaceCRUDExample.Middlewares{
- 2024-06-06HttpContext.Current 和 IHttpContextAccessor 的区别
"HttpContext.Current"和"IHttpContextAccessor"是两个不同的方式,用来访问当前的HTTP上下文(即与HTTP请求相关的信息,如请求、响应、用户、会话等)。"HttpContext.Current"定义:"HttpContext.Current"是在ASP.NET(旧版.NETFramework)中用于访问当前HTTP上下文的静态属
- 2024-06-05HttpContext探究之RequestServices
HttpContext探究之RequestServices在一篇随笔中提到了中间件的构造方式,主要有两种,第一种是直接从容器里面获取,第二种是构造函数的参数从容器里面获取,这两者都离不开容器,也就是serviceprovide,而RequestService则是里面重要的内容RequestServices是什么HttpContext.RequestServi
- 2024-05-29asp.net core 中hangfire面板的配置及使用
Hangfire项目实践分享-Ecin-博客园(cnblogs.com) 1、定义校验授权类DyDashboardAuthorizationFilter///<summary>///Hangfire仪表盘配置授权///</summary>publicclassMyDashboardAuthorizationFilter:IDashboardAuthorizationFilter
- 2024-05-27ServiceScopeFactory的使用方式
上篇文章谈到在项目中遇到了一个问题,其实就是生命周期的问题,在构造函数的参数中使用了scope生命周期的服务,然后使用ServiceScopeFactory去解决这一问题,但是使用方式好像不太正确上篇文章说遇到了问题,ServiceScopeFactory使用方式好像不太正确,为什么?因为构造这个管道的原计划是针
- 2024-05-27ocelot自定义认证token
中间件publicclassCustomOcelotMiddleware:Ocelot.Middleware.OcelotMiddleware{privatereadonlyRequestDelegate_next;publicIConfiguration_configuration;privatereadonlyIAuth_authUtil;privatereadonlySysLogApp_logApp;
- 2024-05-17Asp-Net-Core开发笔记:使用ActionFilterAttribute实现非侵入式的参数校验
前言在现代应用开发中,确保API的安全性和可靠性至关重要。面向切面编程(AOP)通过将横切关注点(如验证、日志记录、异常处理)与核心业务逻辑分离,极大地提升了代码的模块化和可维护性。在ASP.NETCore中,利用ActionFilterAttribute可以方便地实现AOP的理念,能够以简洁、高效的方式进行自
- 2024-05-01在身份认证后建立用户对象ICurrentUser
app.UseAuthentication();这个中间件添加后,他会为HttpContext.User设置一个ClaimsPrincipal对象。里面有身份认证token里面携带的信息。其访问方式如下HttpContext.User.FindFirstValue("自定义字段")我们可以创建一个服务,方便在应用中使用用户信息。因为在服务中拿不到Htt
- 2024-03-20dotNet8 全局异常处理
前言异常的处理在我们应用程序中是至关重要的,在dotNet中有很多异常处理的机制,比如MVC的异常筛选器,管道中间件定义trycatch捕获异常处理亦或者第三方的解决方案Hellang.Middleware.ProblemDetails等。MVC异常筛选器不太灵活,对管道的部分异常捕获不到,后两种方式大家项目应该
- 2024-02-21c# Attribute
publicclassLogIPAttribute:TypeFilterAttribute{publicLogIPAttribute():base(typeof(LogIPFilterImpl)){}publicclassLogIPFilterImpl(ILogger<LogIPFilterImpl>logger):IActionFilter{publicvoidOnActionExecuting
- 2024-02-05C# 微信公众号token 认证笔记
因公司需要,开通了微信公众号。在开发对接中摸索了2天,写下此记,备忘。 服务器地址(URL):https://www.findtechgroup.net/Handler1.ashx因http80端口已被其他业务占用,只能用https(443)协议,需路由映射服务器的443端口。 IIS中需要添加SSL证书,这个证书在阿里云中免费申请,
- 2024-01-24单元测试中如何Mock HttpContext
最近团队有小伙伴问在单元测试中如何MockHttpContext.这是一个好问题,整理了一个实现方案分享给大家。在C#中,尤其是在单元测试场景下,模拟(Mocking)HttpContext是一种常见的做法。这允许我们在没有实际HTTP请求的情况下测试与HTTP上下文相关的代码。为了模拟HttpContext,我们通常
- 2023-11-28.NET Core的CancellationToken集成使用
它用于在执行长时间运行的操作时,通过发送取消请求来终止操作。CancellationToken可以与异步操作一起使用,以便在操作执行期间检查是否已请求取消。它提供了一种优雅的方式来处理取消操作,避免了长时间运行的操作无法中断的问题。varhttpContext=Cfg.HttpContext
- 2023-11-23core中间件全局日志
参考学习项目zradmin在Configure中配置请求参数缓存//使可以多次多去body内容app.Use((context,next)=>{context.Request.EnableBuffering();returnnext();//请求通道走向下一步});在Configure
- 2023-11-13C# HTTP 断点续传
在IIS中,磁盘路径对应的文件是可以直接下载的,而原生的IIS并不需要额外的配置就可以进行断点续传。而在小猪的项目中使用到的文件下载地址不对应磁盘路径的文件地址,而是需要验证用户是否有权限进行下载然后使用使用fileresult提供文件下载。这样整个下载过程都需要自己动手写代码完
- 2023-11-03.Net Core AOP之IExceptionFilter
一、简介在.netcore中Filter分为以下六大类:1、AuthorizeAttribute(权限验证)2、IResourceFilter(资源缓存)3、IActionFilter(执行方法前后的记录)4、IResultFilter(结果生成前后扩展)5、IAlwaysRun(响应结果的补充)6、IExceptionFilter(异常处理)二、使用publicclassCustomerE
- 2023-09-16Net6+Consul的简单使用
先下载Consul打开cmdconsul.exeagent-dev运行可以在环境变量PATH下添加当前Consul.exe路径全局使用下面试启动ok界面,然后通过localhost:8500看到界面了 然后创建两个api程序,添加如下代码,[HttpGet("start")]publicvoidStart(){
- 2023-08-23Asp.net mvc 笔记
捕捉处理全局异常自定义一个Attribute继承默认的HandleErrorAttributenamespaceEmpowerApiService.Filter{publicclassCustomerErrorAttribute:HandleErrorAttribute{privatestaticNLog.Loggerlogger=NLog.LogManager.GetCurrentClassLogger();