站点范围变量 - 有更好的方法吗?

时间:2014-02-04 16:55:02

标签: c# global-variables

我有一个日期值,我需要访问整个C#网站。我将它存储在Global.asax文件中,如下所示:

<script runat="server">

void Application_Start(object sender, EventArgs e) 
{
    // Code that runs on application startup
  Application["AppNoApptDate"] = "12/1/2050 10:00:00 AM";
}

...

要将其作为日期访问,我会这样做:

string tmp = (String)Application["AppNoApptDate"];
DateTime noApptDate = Convert.ToDateTime(tmp);

并根据需要使用“noApptDate”。

“noApptDate”永远不会改变。但我是如何访问应用程序变量并将其转换为DateTime最有效的代码?这不是一行而不是两行吗?

1 个答案:

答案 0 :(得分:0)

无需将其存储为字符串。您可以直接将其存储为DateTime,并且您将无需进行解析。只要您不在群集上,这应该相对正常(尽管请注意,如果您在应用程序启动期间将日期设置为类似DateTime.Now,则值可能会随着应用程序池的回收而更改。)

但是,如果您确实想在编译时设置该值,那么在具有该值的某个类中具有静态字段/属性会更容易。