asp.net – IIS Web Garden中的Singleton对象
我在asp.net应用程序中有很多Singleton实现,并且出于某些性能原因希望将我的应用程序移动到IIS Web Garden环境. CMIIW,使用n个工作进程移动到IIS Web Garden,将在每个工作进程中创建一个单独的对象,这使得它不再是单个对象,因为n> 1. 我可以在IIS Web Garden中再次制作所有这些单例对象吗? 解决方法我不相信你可以(除非你能让那些IIS工作者以某种方式在共享内存中使用对象).这是一个范围问题.您的单例实例使用进程空间作为其范围.就像你说的那样,你的实现现在跨越了多个进程. By definition,在大多数操作系统上,单例将绑定到某个进程空间,因为它与单个类实例或对象相关联. 你真的需要一个单身人士吗?在使用该模式之前,这是一个非常重要的问题.正如维基百科所说,有些人认为它是反模式(或代码气味等). 可能有效的替代设计示例包括…… >您可以让多个对象与中央存储或彼此同步. 我喜欢大型网站的选项3.对于大型网站,配套Windows服务通常非常有用.发送邮件,批处理作业等许多事情应该已经与前端处理工作进程分离.您可以将单例服务器对象推送到该进程,并在IIS工作进程中使用客户端对象. 如果您的单例类使用共享状态的多个对象或仅共享初始状态,则选项1和2应分别起作用. 编辑 从您的评论中,它听起来像分布式缓存形式的第一个选项应该适合您. 那里有很多分布式缓存实现. > Microsoft AppFabric(以前称为Velocity)是他们最近进入这一领域的举动. PS.因为你专门研究聊天.我肯定会建议研究Comet(Comet implementation for ASP.NET?和WebSync等) (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Asp.net(C#)读取数据库并生成JS文件制作首页图片切换效果(附
- 在IIS / ASP.Net中的.NET 1.1应用程序中创建.NET 3.0子应用
- 为熟悉ASP.NET Web表单开发的人建议MVC3的周末学习轨道
- ASP.Net核心 – 获取帖子表格的所有数据
- 对asp.net网站进行基准测试,我可以使用jmeter吗?
- asp.net-mvc – 为什么我的视图模型中的内部成员无法在视图
- asp.net – Html.Partial()跳过控制器动作
- asp.net – 允许服务器/ usercontrol上的任何属性/属性
- ASP.NET批量下载文件的方法
- asp.net-core – 加密ASP.Net Core中的连接字符串和其他配置
- asp.net – 我可以在超链接上显式指定NavigateUr
- asp.net-mvc – 寻找第三方CMS与MVC网站集成
- ASP.Net下载大文件的实现方法
- entity-framework – 如果EF 5,如何定义自定义命
- asp.net-mvc – 使用ASP.NET MVC进行项目组织的最
- 如何为Asp.Net中的所有子文件夹注册HttpHandler?
- asp.net – 无法加载文件或程序集System.Web.Htt
- asp.net-mvc – ASP.NET MVC jQueryUI datepicke
- ASP.NET Web应用程序本地化的最佳实践
- 对asp.net网站进行基准测试,我可以使用jmeter吗?