【问题标题】:Using of HttpContext.Current.Session["Id"]使用 HttpContext.Current.Session["Id"]
【发布时间】:2013-03-18 19:15:13
【问题描述】:

HttpContext.Current.Session["Id"] 与仅使用列表保存参数有什么区别?

【问题讨论】:

    标签: c# web-services session


    【解决方案1】:

    会话可跨页面使用,另一方面,跨请求列表仅适用于一个请求。它们都可以存储对象,但它们的对象生命周期不同。

    编辑:基于 OP 的 cmets

    • InProc 模式,将会话状态存储在 Web 服务器的内存中。 这是默认设置。
    • StateServer 模式,将会话状态存储在单独的进程中 称为 ASP.NET 状态服务。这确保了会话状态是 如果 Web 应用程序重新启动并且还会进行会话,则保留 Web 场中的多个 Web 服务器可用的状态。
    • SQLServer 模式将会话状态存储在 SQL Server 数据库中。这个 确保在 Web 应用程序运行时保留会话状态 重新启动,并使会话状态可用于多个 Web 网络场中的服务器。
    • 自定义模式,可让您指定自定义存储提供程序。
    • 关闭模式,禁用会话状态。 MSDN

    【讨论】:

    • 是的,这就是我正在寻找的生命时间我认为会话不是持久的,对吗?
    【解决方案2】:

    ASP.NET 是无状态的。因此,如果您将内容存储在列表中,如果您希望该列表在请求完成后可用,则需要将该列表保存在某个地方。

    将每个请求视为对程序的新调用。如果您希望数据在调用中保持不变,那么您必须将其存储在某个地方。

    【讨论】:

    • 我怎样才能存储任何想法!
    猜你喜欢
    • 2016-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 2016-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多