如何在ASP中实现共享状态?asp.net MVC 3应用程序
本文关键字:asp net MVC 应用程序 状态 共享 ASP 实现 | 更新日期: 2023-09-27 18:19:19
我正在编写一个基本的RESTful服务,并决定使用ASP。NET MVC 3来完成这个任务。我的应用程序将负责维护每个用户到服务器的持久连接(目前)。我认为Application_Start
是注册静态/共享状态(如持久连接)的地方,但在阅读了Unity的文档后。MVC3,似乎每个请求/响应周期都将触发服务的创建(通过调用Application_Start)。
我引用的文档说:
对于每个请求,一个UpperCaseService,一个LowerCaseService和一个ExampleContext由DependencyResolver通过Unity实例化。在请求结束时,ExampleContext将被自动处理
在阅读了其他文档之后,根据我已经假设的,Application_Start将在每个产生的AppDomain被调用(再次假设这将在服务器上有多少核心附近)。
那么,维护一组到服务器的持久连接的有效方法是什么?这些连接在请求/响应阶段存活下来,并且如果可能的话,在IIS服务器创建的所有appdomain之间共享?
提到这个web服务只会被另一个web站点使用可能会有所帮助。它本质上是一个身份验证代理服务器,但是,在将来,它将做更多的事情。因此,我不能只是缓存响应,因为将来的请求将被需要,而重新身份验证不是一个选项。
如果您想在AppDomain重新启动并在多个ASP之间共享状态时存活下来。NET应用程序将不得不离开IIS进程并将其存储在所有应用程序都可以访问的中心位置。数据库是一个很好的选择。