问题是这样的,我做了个网站程序。开始用户登录不久一刷新Session就很快的丢失了。在网上查了很多解决的方法都没有解决,后来就用ASP.NET 状态服务,我启动了服务,修改了注册表。这个方法是有点效果。但是当我每第一次登录时还是会很快的就过期了,要登录第二次才正常。我不知道是什么原因,难道是第一次登录没有存进服务里面吗?在这里恳求高手指点,如何处里这个问题,或是有别的处理的方法。
是不是我的配置有问题 VS2010和ORACLE的数据库 <appSettings>
<add key="connstring" value="Password=XXXXX;User ID=XXXXXXX;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.110)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XXX)));" />
</appSettings><sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="60"></sessionState>
是不是我的配置有问题 VS2010和ORACLE的数据库 <appSettings>
<add key="connstring" value="Password=XXXXX;User ID=XXXXXXX;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.110)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XXX)));" />
</appSettings><sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="60"></sessionState>
设置长一点你的用户是不是没有进行操作 然后才丢失的?
<system.web>
<!-- 会话状态设置
默认情况下,ASP.NET 使用 Cookie 来标识哪些请求属于特定的会话。
如果 Cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。
若要禁用 Cookie,请设置 sessionState cookieless="true"。
-->
<sessionState
mode="StateServer" //就是修改这里为“StateServer”
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="30"
/>2。打开“控制面板--管理工具--服务”,找到ASP.NET State Service这个服务,将其设为自动启动。
2楼的
<sessionState
mode="StateServer" //就是修改这里为“StateServer”
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="30"
/>我试一试 先谢谢大家
哎 理解为60秒了。
如果这样不行的话,你打开IIS找到你的网站,
右键-》属性-》ASP.NET配置设置-》状态管理 里面可以设置会话超时时间。单位是分钟
if (dwds.Tables[0].Rows.Count >0)
{
Session["acb205"] = this.username.Text.Trim();
Session["aab007"] = this.password.Text.Trim();
this.Response.Redirect("conter/index.aspx");
}
else