2012-01-27 28 views
1

在ASP.Net MVC中跨多个会话保持对象集合的最佳方式是什么?我希望有一个收藏集,其中许多用户可以从收藏集中“获取下一个X” - 例如处理其他人没有使用的下一个X记录 - 所以它将不得不跨越应用程序的多个会话在服务层中存在。在ASP.Net中跨多个会话保持对象MVC

这是一个内部网站,所以用户不必担心他们不应该做的事情,它只会被那些应该访问数据的人使用。

考虑在服务层中使用静态对象,但我不确定该如何/是否会在整个会话中持续存在,还是我以完全错误的方式处理这个问题,而应该使用数据库来存储信息?

回答

1

是的,这绝对看起来像数据库的问题 - 将它存储在内存中(ala你的静态变量方法)不允许负载平衡,并且每次IIS回收App池时信息都会丢失。

+0

这就是我在想什么,我想我会抛出它的意见,因为似乎没有好的方法来做到这一点。 – 2012-01-27 14:16:00

+0

@IanCotterill数据库对我来说似乎是一种合理的方式 - 您可以轻松地将代码中的持久性机制抽象出来(因此它很容易被Web服务所取代)。这就是SO的美丽,这是软件集体体验的好处! – 2012-01-27 14:25:01

1

我宁愿去DB方式。始终从同一个地方消费,避免跟踪多个列表。你可以从数据库中获得下一个X并标记它们并移动到下一个