Web API Cookies不再有效?

XuDong Peng-MSFT 11,176 信誉分 Microsoft 供应商
2024-02-01T07:15:27.4933333+00:00

j9TSD7B.png

微软的示例代码不起作用。

我在代码中有引用: using microsoft.net.http.headers

如何获取和设置cookie值?

Note: 该问题整理于:Web API Cookies no longer working?

ASP.NET API
ASP.NET API
ASP.NET: .NET Framework 中一套用于生成 Web 应用程序和 XML Web 服务的技术。API: 支持两个应用程序相互交互的软件中介。
10 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Zhi Lv - MSFT 32,846 信誉分 Microsoft 供应商
    2024-02-01T09:00:42.9833333+00:00

    你好,

    这不是您使用 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 


    如果答案是正确的解决方案,请单击“接受答案”并请投赞成票。如果您对此答案有其他疑问,请点击“评论”。
    注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。
    最好的问候

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。