ASP. NET Веб-формы с API без файлов cookie - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть ASP. NET приложение WebForms, которое также имеет код API. Этот проект не основан на MVC, это просто WebForms.

API представляет собой отдельный класс с WebMethods, который направляется через следующий код в 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. Но мое приложение всегда отвечает заголовком «Set-Cook ie», даже когда он находится на маршруте Api. Я не использую контекст Session нигде в классе Api.

Как я могу полностью отключить Cook ie для всего, что находится в / api, в то время как в root приложения cook ie по-прежнему работает как обычный? Это вообще возможно?

1 Ответ

0 голосов
/ 25 апреля 2020

Добавьте это в ваш файл global.asax. Он будет автоматически привязан.

При необходимости удалите все другие файлы cookie. Это проверено в среде, равной вашей, и доказано, что она работает.

protected void Application_PreSendRequestHeaders(Object source, EventArgs e)
{
    if (Request.Url.AbsolutePath.ToLowerInvariant().Contains("/api/v1"))
    {
        Response.Cookies.Remove("ASP.NET_SessionId");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...