asp.net-core - 使用 ASP.NET Core Web API 将依赖项注入(inject)验证属性

标签 asp.net-core asp.net-core-webapi

我正在 ASP.NET Core WebAPI 中构建自定义验证属性。我需要在验证器中访问 IDataProtector 以及我用来访问数据库的另一个服务。我已经搜索过但没有找到任何相关文档。 ActionFilters 可以选择使用 ServiceFilter,但似乎没有任何验证属性选项。有什么想法吗?

最佳答案

使用 ValidationContext 的 GetService() 方法获取数据库。 即

protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
  MyDbContext db = (MyDbContext) validationContext.GetService(typeof(MyDbContext));
  //...
}

关于asp.net-core - 使用 ASP.NET Core Web API 将依赖项注入(inject)验证属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39627956/

相关文章:

docker - 添加迁移 : Cannot bind argument to parameter 'Path' because it is an empty string

c# - 如何生成 appsettings.<EnvironmentName>.json 文件?

azure - 如何获取和使用正确的签名 key 进行Azure移动应用程序身份验证?

c# - 如何从特定 session Identity Server 4、.Net Core 中注销用户?

c# - 在 ASP.NET Core 中通过依赖注入(inject)注册后,如何修改选项对象(保存配置设置)中的值?

asp.net - 如何添加管理员角色(我的解决方案)

azure - 未下载用于 Azure 构建的 Nuget 包

angular - 以 Angular 从 API 返回单个字符串值

c# - 来自 ActionFilter 的 ModelState - ASP .NET Core 2.1 API

c# - 如何将多部分/表单数据发送到 ASP.NET Core Web API?