none
Ajax和vb.net结合,用session保存用户的登陆信息,有些电脑会丢失登陆信息。 RRS feed

  • 问题

  • 使用Ajax和vb.net结合,用session保存用户的登陆信息,有些电脑会丢失登陆信息。
    网络上说改web.config 的moth=StateServer 这个方法也尝试,没有效果。
    我在本机上测试过在IE  fireFox  谷歌浏览器上都是正常,
    有些客户IE不正常,下载谷歌浏览器却正常。知道的朋友帮帮忙。
    2009年10月17日 16:26

答案

  • Session是不稳定的,多种因素搜可以导致Session失效。,建议你采用Forms验证。
    另外,检查一下浏览器设置是否允许了Cookie。
    【孟子E章】

    感谢mldark 和孟宪会两个朋友,已经找到这个困扰了非常久的问题原因了,我用包括进来的JS代码,在onload时有些客户的网速慢,还没完全加载好代码去执行其中的函数,这时出错的。
    • 已标记为答案 KeFang Chen 2009年10月19日 2:43
    2009年10月18日 6:22

全部回复

  • 你的ajax代码是否支持所有ie版本浏览器! 检查一下这点 特别是ie6 
    session在服务端上 可能不关session问题
    提供ajax代码参考 粗体那段

     var xmlHttp;
        function showCustomer() {
            xmlHttp = GetXmlHttpObject();
            if (xmlHttp == null) {
                alert("您的浏览器不支持AJAX!");
                return;
            }
            var url = "ajaxd.ashx";
            xmlHttp.onreadystatechange = stateChanged;
            xmlHttp.open("GET", url, true);
            xmlHttp.send(null);
        }
        function stateChanged() {
            if (xmlHttp.readyState == 4) {
                document.getElementById("sessiontext").innerHTML = xmlHttp.responseText;
            }
        }
        function GetXmlHttpObject() {
            var xmlHttp = null;
            try {
                // Firefox, Opera 8.0+, Safari
                xmlHttp = new XMLHttpRequest();
            }
            catch (e) {
                // Internet Explorer
                try {
                    xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
                }
                catch (e) {
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
            }
            return xmlHttp;
        }

    2009年10月17日 16:53
  • 真的很感谢你的帮助,我有询问过用户部分,IE7版本,并且我确认登陆是成功的,
    if ... then
                    Session("commendUser") = "yes"
                    Response.Write("yes")
    Else
                    '用户名和密码错误
                    Response.Write("no")
    End If
    当用户登陆时,我们根据返回的yes标记设计了登陆框切换为登陆信息框,但客户一点击其他链接就退了出来。


    Partial Class function_isLogincommendCenter
        Inherits System.Web.UI.Page

        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Session("commendUser").ToString = "yes" Then
                Response.Write(Session("commendUser"))
            Else
                Response.Write("no")
            End If
        End Sub
    End Class
    这是每个页面load时的代码。

    2009年10月17日 18:02
  • Session是不稳定的,多种因素搜可以导致Session失效。,建议你采用Forms验证。
    另外,检查一下浏览器设置是否允许了Cookie。
    【孟子E章】
    2009年10月18日 0:19
    版主
  • Session是不稳定的,多种因素搜可以导致Session失效。,建议你采用Forms验证。
    另外,检查一下浏览器设置是否允许了Cookie。
    【孟子E章】

    感谢mldark 和孟宪会两个朋友,已经找到这个困扰了非常久的问题原因了,我用包括进来的JS代码,在onload时有些客户的网速慢,还没完全加载好代码去执行其中的函数,这时出错的。
    • 已标记为答案 KeFang Chen 2009年10月19日 2:43
    2009年10月18日 6:22
  • Session是不稳定的,多种因素搜可以导致Session失效。,建议你采用Forms验证。
    另外,检查一下浏览器设置是否允许了Cookie。
    【孟子E章】

    感谢mldark 和孟宪会两个朋友,已经找到这个困扰了非常久的问题原因了,我用包括进来的JS代码,在onload时有些客户的网速慢,还没完全加载好代码去执行其中的函数,这时出错的。
    你可以优化那些代码 优先的js放在页面开头 推迟加载的js放在页面后尾
    2009年10月18日 7:02