在iis服务器上保留asp.net会话的位置
我想知道在asp.net应用程序中设置会话时会话存储在哪里。它消耗RAM还是硬盘空间在iis服务器上保留asp.net会话的位置,asp.net,session,iis,Asp.net,Session,Iis,我想知道在asp.net应用程序中设置会话时会话存储在哪里。它消耗RAM还是硬盘空间 实际上,我将数据表保存到会话变量中。我将其保存到会话中,因为数据表的计算需要很长时间。为了不再计算datatable,我从会话中获取它。 但我很好奇数据表何时会比现在大得多。它会卡在国际空间站上吗? 谢谢根据您在Web.Config中配置会话的方式,会话可以存储在内存、Asp.NET状态服务器和Sql Server中 默认情况下,会话存储在内存中,这意味着Ram。如果数据表变大,并且有多个并发用户,则可能会出现
实际上,我将数据表保存到会话变量中。我将其保存到会话中,因为数据表的计算需要很长时间。为了不再计算datatable,我从会话中获取它。
但我很好奇数据表何时会比现在大得多。它会卡在国际空间站上吗?
谢谢根据您在Web.Config中配置会话的方式,会话可以存储在内存、Asp.NET状态服务器和Sql Server中
默认情况下,会话存储在内存中,这意味着Ram。如果数据表变大,并且有多个并发用户,则可能会出现异常。取决于有多少用户同时访问系统,系统上的Ram是多少等。根据您在Web.Config中配置会话的方式,会话可以存储在内存、Asp.NET状态服务器、Sql Server中
默认情况下,会话存储在内存中,这意味着Ram。如果数据表变大,并且有多个并发用户,则可能会出现异常。取决于有多少用户同时访问系统,系统上的Ram是多少等。如果您使用的是
InProc
会话,则它将存储在内存中。因此,如果你有足够的内存,它将在内存中。一旦你达到你的极限,期待它分页到磁盘
您还可以使用进程外会话存储,如SQL server。这在web.config中是可配置的。请注意,您需要为其配置一个数据库。您还可以在存储类型上签出MSDN to
上面的链接很旧,但仍然部分有用。再快速看一眼,我发现它更详细。如果您使用的是
InProc
会话,那么它将存储在内存中。因此,如果你有足够的内存,它将在内存中。一旦你达到你的极限,期待它分页到磁盘
您还可以使用进程外会话存储,如SQL server。这在web.config中是可配置的。请注意,您需要为其配置一个数据库。您还可以在存储类型上签出MSDN to
上面的链接很旧,但仍然部分有用。另一个快速查看,我发现它更详细。ASP.NET中的会话状态默认存储在进程内存(即RAM)中 您可以在web.config中通过更改configuration/system.web/sessionState元素的值来更改此设置:
<configuration>
<system.web>
<sessionState mode="...">
</system.web>
</configuration>
可供选择的方案有:
- InProc(默认)
- StateServer-将存储在单独的进程中,该进程可以位于单独的计算机上
- 关
- SqlServer-将状态信息存储在SqlServer数据库中
- 自定义-允许您提供自己的会话存储
- ASP.NET中的会话状态默认存储在进程内存(即RAM)中
您可以在web.config中通过更改configuration/system.web/sessionState元素的值来更改此设置:
<configuration>
<system.web>
<sessionState mode="...">
</system.web>
</configuration>
可供选择的方案有:
- InProc(默认)
- StateServer-将存储在单独的进程中,该进程可以位于单独的计算机上
- 关
- SqlServer-将状态信息存储在SqlServer数据库中
- 自定义-允许您提供自己的会话存储
但为什么要参加会议?数据表中的数据是否特定于用户?否则缓存会更合适。会话状态可以存储在您可以选择的不同位置。这里有一个 默认设置是在运行web应用程序的服务器上的内存中,因此如果会话增长过大,则确实会出现ram/分页问题
但为什么要参加会议?数据表中的数据是否特定于用户?否则缓存会更合适。典型的InProc会话状态存储在web服务器的内存中。典型的InProc会话状态存储在web服务器的内存中。取决于您使用的会话状态模式取决于您在回答询问时使用+1建议缓存的会话状态模式问题。+1表示在回答问题时建议缓存。