2008-11-20 52 views

回答

2

通常,这种事情要求Singleton。不过,我建议您不要自己编写单例,并使用Dependency Injection/IoC框架来处理服务的生命周期。

你必须记住的另一件事情是,ASP.NET过程会自动回收自己,所以你需要永久存储更改(比如文件系统或者数据库)

+0

ASP.NET不会随机回收!对于很多(很多!)应用程序,DI/IOC都非常吸引人。 – 2009-07-12 04:26:37

+0

DI/IOC是一个已解决的问题,那为什么不使用它? – 2009-08-10 09:56:38

0

您应该使用应用程序设置。只需转到应用程序属性窗口,选择设置选项卡并添加您的变量。比代码只使用强类型的类。举例来说,如果我创建了一个名为PortalName我只是用一个全局变量:Settings.Default.PortalName

+0

我没有看到设置选项卡。你在谈论设置与Web应用程序项目选项卡?我正在asp.net网站上工作。 – Jack 2008-11-20 18:31:03

0

我相信Application对象是使用全局变量,你可以在对象存储所需要的各种值的内置方式。

0

作为应用程序状态的替代方法,请考虑只是让变量变为静态。它基本上会达到同样的目的,并且具有强类型的附加好处。

个人认为,我会按照David的建议去使用由IoC容器管理的单例范围服务。

相关问题