【发布时间】:2018-10-22 16:17:19
【问题描述】:
在 .net Framework HttpContext 来获取当前的 HttpRequest。
例如,我有一段代码如下所示:
public sealed class AccessValidator : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext context)
{
// validate stuff, if all true -> yield ok.
// if is not valid
var request = HttpContext.Current.Request;
// store/log the request payload.
}
}
使用 .net Core 2.1 时无法做到这一点。
我看到一篇关于注入IHttpContextAccessor 什么的帖子,但它几乎在每个地方都暴露了请求。
由于这是我服务器的外部库,我希望它不依赖服务器代码注入,因为这样会产生我不想成为的依赖。
是否有任何已知的方法来处理这个或解决这个问题?
【问题讨论】:
-
我认为负面的改装不再有效,这是一个有合法答案的合法问题。
标签: c# validation asp.net-core .net-core httpcontext