gpt4 book ai didi

asp.net-mvc - 为什么 ASP.NET Web API 2 中不调用 ExecuteResult() 方法?

转载 作者:行者123 更新时间:2023-12-02 11:24:34 25 4
gpt4 key购买 nike

我正在创建一些自定义操作结果,如下所示。

public class MyActionResult : ActionResult
{
public override void ExecuteResult(ControllerContext context)
{
context.HttpContext.Response.Status = "my status";
context.HttpContext.Response.StatusCode = 400;
context.HttpContext.Response.AppendHeader("MyHeader", "bingo");
context.HttpContext.Response.Write("some content");
context.HttpContext.Response.End();
}
}

我的操作方法如下所示:

[HttpGet]
[Route("check/{id}")]
public MyActionResult Check(string id)
{
return new MyActionResult();
}

我在 ExecuteResult() 中设置了一个断点,但它从未命中。我这样测试 Web API:

http://localhost:22247/api/v1/check/123

我希望看到在 ExecuteResult() 方法中设置的内容、标题等。但实际结果始终是一个包含空内容的 JSON 文件,如下所示。状态码始终为 200。

{}

为什么 ExecuteResult() 方法没有被执行?

最佳答案

Web API 借鉴了 ASP.NET MVC 的一些想法,并复制了 ASP.NET MVC 命名空间中的一些类型名称。但 Web API 与 ASP.NET MVC 完全不同。它们不应该以简单的混合方式使用。

关于asp.net-mvc - 为什么 ASP.NET Web API 2 中不调用 ExecuteResult() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25551980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com