如何将Stack
对象添加到global.asax
中,以便整个应用程序可以访问它?目前我有:
void Application_Start(object sender, EventArgs e)
{
// Global vars
Application.Add("ArcadeTotalUniquePlayers", 0);
Application.Add("ArcadeTotalPlays", 0);
Stack<int> ArcadeLastPlayers = new Stack<int>(16);
前两个变量有效,但我不确定如何使Stack
全局可访问。
答案 0 :(得分:4)
你可以这样做:
Application.Add("ArcadeLastPlayers", new Stack<int>());
然后
((Stack<int>)Application["ArcadeLastPlayers"]).Pop();
或者你可以制作某种全局静态,所以每次你需要检索它时都不必强制转换它:
namespace GlobalUtils {
public static class ArcadeData {
public static Stack<int> ArcadeLastPlayers = new Stack<int>();
}
}
然后
GlobalUtils.ArcadeData.ArcadeLastPlayers.Pop();
答案 1 :(得分:2)
如果您想使用HttpApplcationState,您应该能够执行以下操作:
Application.Add("ArcadeLastPlayers", new Stack<int>(16));
HttpApplicationState获取名称和对象的字符串作为关联值。当您检索“ArcadeLastPlayers”值时,您所要做的就是将其强制转换为堆栈。
答案 2 :(得分:1)
使用单身http://msdn.microsoft.com/en-us/library/ff650316.aspx - 将.cs文件放在app_code中,bob是你的阿姨。