Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 读取会话变量,并在读取值后将其删除_C# - Fatal编程技术网

C# 读取会话变量,并在读取值后将其删除

C# 读取会话变量,并在读取值后将其删除,c#,C#,我需要从会话变量中读取一个值 如果会话变量存在,我希望在读取该值后将其删除 要读取会话变量,我尝试了以下选项: String session1 = context.Session["test"] as String; var session2 = context.Session["test"]; 第一个给我null,第二个给我期望的值 为什么? 我应该如何读取会话变量、检查是否存在以及它是否读取值并删除会话变量 谢谢,, 米格尔使用??避免空值 String session1 = co

我需要从会话变量中读取一个值

如果会话变量存在,我希望在读取该值后将其删除

要读取会话变量,我尝试了以下选项:

String session1 = context.Session["test"] as String;

var session2 = context.Session["test"];
第一个给我null,第二个给我期望的值

为什么?

我应该如何读取会话变量、检查是否存在以及它是否读取值并删除会话变量

谢谢,,
米格尔

使用
??
避免空值

   String session1 = context.Session["test"] as String ?? String.Empty;

使用
??
避免空值

   String session1 = context.Session["test"] as String ?? String.Empty;

使用
??
避免空值

   String session1 = context.Session["test"] as String ?? String.Empty;

使用
??
避免空值

   String session1 = context.Session["test"] as String ?? String.Empty;

检查会话值是否存在,读取该值,然后将其删除,如下所示:

if(context.Session["test"] != null)
{
    // Read value
    string sessionValue = context.Session["test"].ToString();

    // Delete value from session
    context.Session.Remove("test");
}

检查会话值是否存在,读取该值,然后将其删除,如下所示:

if(context.Session["test"] != null)
{
    // Read value
    string sessionValue = context.Session["test"].ToString();

    // Delete value from session
    context.Session.Remove("test");
}

检查会话值是否存在,读取该值,然后将其删除,如下所示:

if(context.Session["test"] != null)
{
    // Read value
    string sessionValue = context.Session["test"].ToString();

    // Delete value from session
    context.Session.Remove("test");
}

检查会话值是否存在,读取该值,然后将其删除,如下所示:

if(context.Session["test"] != null)
{
    // Read value
    string sessionValue = context.Session["test"].ToString();

    // Delete value from session
    context.Session.Remove("test");
}


第一个变量为null,因为会话[“test”]中的任何内容都不是字符串,因此“as”将返回null。actuyal会话变量的数据类型是什么?它是一根绳子吗?如果不是,那可能是你的问题。请参阅:“as运算符类似于强制转换操作。但是,如果转换不可行,as将返回null而不是引发异常。”这可能会有所帮助。你是对的。。。我认为该值是一个整数而不是字符串。。。这就是为什么我得到了两个代码行之间的差异。第一个代码行给你null,因为会话[“test”]中的任何内容都不是字符串,因此“as”返回给你null。actuyal会话变量的数据类型是什么?它是一根绳子吗?如果不是,那可能是你的问题。请参阅:“as运算符类似于强制转换操作。但是,如果转换不可行,as将返回null而不是引发异常。”这可能会有所帮助。你是对的。。。我认为该值是一个整数而不是字符串。。。这就是为什么我得到了两个代码行之间的差异。第一个代码行给你null,因为会话[“test”]中的任何内容都不是字符串,因此“as”返回给你null。actuyal会话变量的数据类型是什么?它是一根绳子吗?如果不是,那可能是你的问题。请参阅:“as运算符类似于强制转换操作。但是,如果转换不可行,as将返回null而不是引发异常。”这可能会有所帮助。你是对的。。。我认为该值是一个整数而不是字符串。。。这就是为什么我得到了两个代码行之间的差异。第一个代码行给你null,因为会话[“test”]中的任何内容都不是字符串,因此“as”返回给你null。actuyal会话变量的数据类型是什么?它是一根绳子吗?如果不是,那可能是你的问题。请参阅:“as运算符类似于强制转换操作。但是,如果转换不可行,as将返回null而不是引发异常。”这可能会有所帮助。你是对的。。。我认为该值是一个整数而不是字符串。。。这就是为什么我得到了两个代码行之间的差异。但是如果我想在之后删除它,我不需要检查它是否存在吗?但是这不是删除会话变量如果你想在…之后删除它,只需执行上下文。session.remove(“test”);但是如果我想在之后删除它,我不需要检查它是否存在吗?但是这不是删除会话变量如果你想在…之后删除它,只需执行上下文。session.remove(“测试”);但是如果我想在之后删除它,我不需要检查它是否存在吗?但是这不是删除会话变量如果你想在…之后删除它,只需执行上下文。session.remove(“测试”);但是如果我想在之后删除它,我不需要检查它是否存在吗?但是这不是删除会话变量如果你想在…之后删除它,只需执行上下文。session.remove(“测试”);