c# - servicestack GlobalRequestFilters 请求 Dto 为 null

标签 c# .net api servicestack

我在 apphost 文件中有一个 ServiceStack GlobalRequestFilters 过滤器来捕获身份验证请求,过滤器工作正常,但问题出在reqresrequestDto 中的 dto 为 null ??!

this.GlobalRequestFilters.Add((req, res, requestDto) => {
     if (req.OperationName.ToLower()== "authenticate")
     {
         var authData =req.GetDto();
     }
});

最佳答案

requestDto 在过滤器本身中传递,即:

GlobalRequestFilters.Add((req, res, requestDto) => {
    var authDto = requestDto as Authenticate;
    if (authDto != null)
    {
        //...
    }
});

上述方法的另一种方法是使用类型化请求过滤器,例如:

RegisterTypedRequestFilter<Authenticate>((req, res, authDto) => {
    //...
});

关于c# - servicestack GlobalRequestFilters 请求 Dto 为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43844895/

相关文章:

django - 最大图像上传大小验证 Django REST API

c# - .NET7 v4 Azure 功能失败,错误代码为 "Could not load file or assembly System.Text.Json, Version=7.0.0.0"

C# 组按日期字段列出 - 每周

c# - C#/.net 3.5SP1 中线程的基本架构和生命周期

c# - 在 WCF 可靠请求回复服务方法中回复时如何处理失败

ios - 在 API 服务器调用中打印字符串,但不在其外部打印

c# - 获取从url发送到wpf的变量?

带 https 的 C# WebClient

c# - 滚动时保持菜单项固定,而不是之前

api - 在 golang 中获取 oauth 用户 token 时出现 400 错误?