I'm building a web application in ASP.Net 4.0 which must maintain an in-memory state shared between users (better to say between group of user). It is not a standard application and the state related to a group of users are/can/should be persisted only after a group of actions are completed (which can take half an hour). This requirement can't be changed.
As far as i know I can't rely in an in-proc memory because a recycle will clear my state. The only solution I found is to create a standard application (or a windows service), monitored, accessible via NamedPipe, which will store all the information. (For reliability, I will also implement a custom recycle in which the first process is terminated only when all the groups of users have completed their actions).
do you know any simpler way, or a library that could help to manage the state of this applciation ? Do you have any suggestion for this design considering I expect high level of concurrent access to the state ?
Thanks.