簡體   English   中英

ASP.NET WebForms 與 API 沒有 Cookies

[英]ASP.NET WebForms with API without Cookies

我有一個 ASP.NET WebForms 應用程序,它也有 API 代碼。 這個項目不是基於 MVC,它只是 WebForms。

API 是帶有 WebMethods 的單獨 class,通過 Application_Start 中的以下代碼(文件 Global.asax.cs)被路由到

protected void Application_Start(object sender, EventArgs e)
{
        log4net.Config.XmlConfigurator.Configure();
        RouteTable.Routes.Add(new ServiceRoute("api/v1", new WebServiceHostFactory(), typeof(API.v1.Api)));
}

一切正常,一旦請求進入 domain.com/api/v1/...,它將被路由到我的 Api class。 但即使在 Api 路由上,我的應用程序總是以“Set-Cookie”Header 響應。 我沒有在 Api class 的任何地方使用 Session 上下文。

如何在應用程序 cookie 的根目錄仍照常運行時完全禁用 /api 中的所有內容的 Cookie? 這甚至可能嗎?

將此添加到您的 global.asax 文件中。 它將自動綁定。

如有必要,也刪除任何其他 cookies。 這在與您的環境相同的環境中進行了測試,並證明可以正常工作。

protected void Application_PreSendRequestHeaders(Object source, EventArgs e)
{
    if (Request.Url.AbsolutePath.ToLowerInvariant().Contains("/api/v1"))
    {
        Response.Cookies.Remove("ASP.NET_SessionId");
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM