Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以检索控制器';.NET核心中间件的操作结果? 请考虑上面的代码。我想为每个端点应用一个处理程序。我不知道中间件是否是一个合适的选择。我需要的是将端点的操作结果作为其原始类型,并对其进行一些更新。如果中间件不是一种合适的方式,请提供任何建议。_C#_Asp.net Core_.net Core_Asp.net Core Webapi_Middleware - Fatal编程技术网

C# 是否可以检索控制器';.NET核心中间件的操作结果? 请考虑上面的代码。我想为每个端点应用一个处理程序。我不知道中间件是否是一个合适的选择。我需要的是将端点的操作结果作为其原始类型,并对其进行一些更新。如果中间件不是一种合适的方式,请提供任何建议。

C# 是否可以检索控制器';.NET核心中间件的操作结果? 请考虑上面的代码。我想为每个端点应用一个处理程序。我不知道中间件是否是一个合适的选择。我需要的是将端点的操作结果作为其原始类型,并对其进行一些更新。如果中间件不是一种合适的方式,请提供任何建议。,c#,asp.net-core,.net-core,asp.net-core-webapi,middleware,C#,Asp.net Core,.net Core,Asp.net Core Webapi,Middleware,是。但您不能在控制器中创建新客户端。尝试在客户机中创建一个公共变量,您可以在中间件中为其赋值。在控制器中,您可以获取该值并添加到该对象。是。但您不能在控制器中创建新客户端。尝试在客户机中创建一个公共变量,您可以在中间件中为其赋值。在你的控制器中,你可以得到这个值并添加到这个对象中。A是一个更合适的解决方案,我认为。A是一个更合适的解决方案,我认为。 public class UsersController : APIControllerBase { public UsersControl

是。但您不能在控制器中创建新客户端。尝试在客户机中创建一个公共变量,您可以在中间件中为其赋值。在控制器中,您可以获取该值并添加到该对象。

是。但您不能在控制器中创建新客户端。尝试在客户机中创建一个公共变量,您可以在中间件中为其赋值。在你的控制器中,你可以得到这个值并添加到这个对象中。

A是一个更合适的解决方案,我认为。A是一个更合适的解决方案,我认为。
public class UsersController : APIControllerBase
{
    public UsersController() { }

    public Client Get()
    {
       return new Client()
        {
            ClientID = 1,
            // LastUpdate =  I want to update this field in middleware
        };
    }

    public Client Get(int id)
    {
       return new Client()
        {
            ClientID = id
            // LastUpdate =  I want to update this field in middleware
        };
    }
}
public class SetClientLastUpdateMiddleware
{
    private readonly RequestDelegate next;

    public SetClientLastUpdateMiddleware(RequestDelegate next)
    {
        this.next = next;
    }

    public async Task Invoke(HttpContext context)
    {
        await next(context);

        // Can I do something like below?
        if(context.ActionResult is Client) ((Client)context.ActionResult).LastUpdate = Date.Now;
    }
}