你好,
这不是您使用 cookie 或 API 的方式。 Web API 通常根本不使用 cookie。 但最终 cookie 只是作为响应正文的一部分传回的值。 在您的情况下,您正在创建一个响应对象,设置一些值,然后对其不执行任何操作。 您可以删除所有这些代码,API 的行为将完全相同。
Web API 不能直接处理 HTTP 结果。 一切都是一个 ActionResult。 这允许您返回状态代码、数据、HTML 等。您需要做的是创建一个 ActionResult
,将您的 cookie 添加到返回的数据中,然后从 API 返回该数据。 回到您的示例代码,我认为您可以使用“ResponseMessageResult”来包装您的响应并返回它。 但是,您需要将返回类型更改为“IHttpActionResult”。 或者,使用已经为您创建的“Response”对象可能会更容易。 这将允许中间件所做的任何更改继续正常工作。
Response.Cookies.Append(...);"
参考文档:IResponseCookies.Append Method (Microsoft.AspNetCore.Http) | Microsoft Learn
如果答案是正确的解决方案,请单击“接受答案”并请投赞成票。如果您对此答案有其他疑问,请点击“评论”。
注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。
最好的问候