gpt4 book ai didi

c# - ASP.NET:整个站点都可以访问的变量

转载 作者:可可西里 更新时间:2023-11-01 08:32:16 25 4
gpt4 key购买 nike

我是 ASP .NET 的新手,我正在尝试使用 C# 在 Visual Studio 中设置一个网站。

我的背景是 PHP。在那种语言中,如果我想让每个页面都可以访问一个变量,只需将它放在一个包含文件中即可。

有没有类似于 C# 和 ASP .NET 的东西?有一个 site.master 页面,但我不确定如何从页面内容访问它的变量。提前致谢。

最佳答案

这里有几种不同的选择:


session 变量 session 变量存储在每个用户的服务器内存中,可以根据需要随时读取和写入。这些仅限于每个用户,因此如果您想为所有用户保留一个变量,那么这不是要走的路。

用法:

Session["MyVariable"] = 5;
int myVariable = (int)Session["MyVariable"]; //Don't forget to check for null references!

如果需要,您可以在 session_start 事件处理程序下的 global.asax 文件中设置用户的 session 变量。


应用程序/缓存变量任何用户都可以访问应用程序和缓存变量,并且可以根据需要获取/设置。两者之间的唯一区别是缓存变量可以过期,这使得它们对诸如数据库查询结果之类的东西很有用,可以在它们过时之前保留一段时间。用法:

Application["MyVariable"] = 5;
int myVariable = (int)Application["MyVariable"]; //Don't forget to check for null references!

如果需要,您可以在 application_start 事件处理程序中的 global.asax 文件中设置应用程序变量。


Web.Config这可能是在您的应用程序中存储常量的首选方式,因为它们存储为“应用程序设置”并根据需要在您的 web.config 文件中更改,而无需重新编译您的站点。应用程序设置存储在 <appsettings> 中使用此语法的文件区域:

<appSettings>
<add key="MyVariable" value="5" />
</appSettings>

Web.config 值在您的代码中应被视为只读,并且可以在您的页面中使用以下代码轻松访问:

int myVariable = (int)System.Configuration.ConfigurationSettings.AppSettings["MyVariable"];

静态变量或者,您可以只创建一个包含静态属性的类来保存您的变量,如下所示:

public class SiteVariables
{
private static _myVariable = 0;
public static int MyVariable
{
get { return _myVariable; }
set { _myVariable = value; }
}
}

然后像这样访问它:

int myVar = SiteVariables.MyVariable;

我实际上在我的代码中结合使用了后两种解决方案。我会将我的设置保存在我的 web.config 文件中,然后创建一个名为 ApplicationSettings 的类在需要时使用静态属性从 web.config 读取值。

希望对你有帮助

关于c# - ASP.NET:整个站点都可以访问的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6117913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com