管理ASP.NET页和WebAPI控制器之间的会话

时间:2019-04-06 12:40:38

标签: asp.net session asp.net-web-api

我有 ASP.NET 应用程序(不是 MVC )和 WEPAPI 控制器。

我们正在使用这些控制器使用 ajax 请求在ASP页面之间共享数据。

当我登录系统时,我将用户名存储在会话中,但是,当我尝试在控制器中检查此会话的值时,无论用户是否登录,其值我都为null是否。

HttpContext.Current.Session["Username"] = "admin";

如何在控制器 asp.net 页面之间使用相同的会话?

1 个答案:

答案 0 :(得分:1)

ASP.NET Web API不支持开箱即用的会话。 与您的情况一样,如果要在ASP.NET运行时内运行ASP.NET Web API,则可以通过在Global.asax中添加以下内容来全局启用会话支持

import java.util.Scanner;

public class stack {
    private static Scanner input = new Scanner(System.in);

    public static void main(String[] args) {
        userInput();
    }

    public static void userInput() {
        while (true) {
            System.out.println("Enter your values:");
            String message = input.nextLine();
            //Split data with space
            String[] data = message.split(" ");
            int pointer = 2;
            for (String i : data) {
                if (i.equals("q")) {
                    System.out.println("Stopped.");
                    System.exit(0);
                }
                if (pointer % 2 == 0) {
                    System.out.println("radius: " + i);
                }
                if (pointer % 2 == 1) {
                    System.out.println("height: " + i);
                }
                pointer++;
            }
        }
    }
}