Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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# 如何创建ASP.NET webforms全局值_C#_Asp.net_Webforms - Fatal编程技术网

C# 如何创建ASP.NET webforms全局值

C# 如何创建ASP.NET webforms全局值,c#,asp.net,webforms,C#,Asp.net,Webforms,我有一个webforms应用程序,其功能通常需要特定的值,在本例中,登录用户: // Get user string strUser = (HttpContext.Current.User.Identity.Name); 在我的应用程序中,只填充一次字符串并从任何地方调用它的最佳方式是什么?您可以使用会话变量来保存它 Session["UserName"] = "myusername"; 如果是会话相关变量,如登录用户名,请使用会话状态 否则使用应用程序状态,应用程序状态将应用于所有用户和会

我有一个webforms应用程序,其功能通常需要特定的值,在本例中,登录用户:

// Get user
string strUser = (HttpContext.Current.User.Identity.Name);

在我的应用程序中,只填充一次字符串并从任何地方调用它的最佳方式是什么?

您可以使用会话变量来保存它

Session["UserName"] = "myusername";
如果是会话相关变量,如登录用户名,请使用
会话状态

否则使用
应用程序状态
,应用程序状态将应用于所有用户和会话

您可以使用会话变量来保存它

Session["UserName"] = "myusername";
如果是会话相关变量,如登录用户名,请使用
会话状态

否则使用
应用程序状态
,应用程序状态适用于所有用户和会话

在web应用程序中没有存储全局值的方法,它们是无状态的。 您可以使用会话变量

Session[“Login”]=HttpContext.Current.User.Identity.Name


您可以做的另一件事是使用
static
变量创建一个
static
类,并在页面加载上赋值

在web应用程序中没有存储全局值的方法,它们是无状态的。 您可以使用会话变量

Session[“Login”]=HttpContext.Current.User.Identity.Name


您可以做的另一件事是使用
static
变量创建
static
类,并在页面加载上赋值
我想您可以在Global.asax文件中声明此变量。

我想您可以在Global.asax文件中声明此变量。

您可以使用应用程序变量

Application["username"] = "xyz";

您可以使用应用程序变量

Application["username"] = "xyz";

@MassimilianoPeluso-您需要扩展您的注释,因为会话默认为InProc,因此它可能不会在服务器场的另一台服务器中初始化。使用静态变量的问题与每个变量的内存中存在的问题相同server@MassimilianoPeluso-在问题中,您在哪里看到他在使用服务器场?请重新阅读这个问题,如果他/她会明确地说明这一点的话,没有什么地方,但我们应该总是考虑所有可能的情况,因为OP可能不知道这一点。在会话中存储安全敏感信息也是一种不好的做法谁说他在存储安全敏感信息?这篇文章是如何存储会话变量的一个示例。@MassimilianoPeluso-您需要展开您的注释什么不起作用?因为会话默认为InProc,因此它可能不会在服务器场的另一台服务器中初始化。使用静态变量的问题与每个变量的内存中存在的问题相同server@MassimilianoPeluso-在问题中,您在哪里看到他在使用服务器场?请重新阅读这个问题,如果他/她会明确地说明这一点的话,没有什么地方,但我们应该总是考虑所有可能的情况,因为OP可能不知道这一点。在会话中存储安全敏感信息也是一种不好的做法谁说他在存储安全敏感信息?post是如何存储会话变量的示例。