关于IIS服务器上修改配置文件 服务器重启的问题

定格那流年 2018-06-11 09:29:47
前段时间有人问我这样一个问题说 在IIS服务器上修改配置文件 会导致应用程序池重启 那么用户的Session 也会丢失 如果此时有正在进行的用户订单之类的操作 那么就会失效 问有什么办法可以解决 作为菜鸟的问 很茫然啊 有大神可以指点一二吗? 感谢
...全文
1373 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhanglong_longlong 2018-07-04
  • 打赏
  • 举报
回复
session缓存到数据库或者Redis吧
weixin_42329419 2018-07-03
  • 打赏
  • 举报
回复
只能考虑cookie存储,或者其他集中存储session方式
insus 2018-07-03
  • 打赏
  • 举报
回复
其实,当你的参数需要变动时,那建议这些参数不要放在在站点的配置文件。如放在数据库或xml文件中等等。
wylwyl1108 2018-07-02
  • 打赏
  • 举报
回复
一般订单都是存放在数据库里,不会存放在SESSION里的,通常都是用户登录网站后的用户信息存放在SESSION
此时如果重启,也就是登出系统
  • 打赏
  • 举报
回复
asp.net 使用了“Session State 服务”或者使用 SQL Server 来持久化 asp.net 进程状态。当然这都要付出巨大的代价,所以这并不是默认的 InProc 模式。 默认模式下,设计开发 asp.net 程序就不应该随便使用 Session 集合。这个应该从一开始就学到。你可以基于 SessionID 和 Cache 来管理缓存对象,然后当缓存对象不存在时(需要重建时)才去读取数据库。
  • 打赏
  • 举报
回复
InProc 模式下的 Session 值本来就是随时可能会丢失的,有无数种情况会让 asp.net 进程重启,不仅仅是修改配置文件,你随便修改一下 bin 下的文件、或者更改除了 app_data 以外的目录,服务器管理者设置了多长时间、多少IIS连接数、物理内存用到多少比例、CPU占用多少比例就自动回收一次应用程序池,你的 asp.net 程序遇到一个 BUG,等等情况,都会造成进程重启。重启是 asp.net 和 IIS 自我恢复的自动机制。 编写 asp.net 程序的时候就应该避免使用 Session。只有 SessionID 是不会丢失的,而 Session 集合内容本来就是随时丢失的(注意是丢失,不是过期),这个是 asp.net 开发常识知识应该在开发之前就了解。
江湖评谈 2018-06-11
  • 打赏
  • 举报
回复
修改配置文件,会在下一个用户进入的时候,IIS会重新加载你新配置。在你当前用户操作的时候,修改配置文件,可能导致操作失败。因为它或许恰好读取到你当前修改的配置。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧