无法使用Chrome和&amp ;;在.net中获得现有会话Firefox在哪里工作IE 9

时间:2015-09-21 08:44:51

标签: jquery .net google-chrome firefox

我无法使用Firefox和Chrome在.net网络服务中获得现有会话,因为它在IE 9或更高版本中工作。

案例: 我正在使用Session.IsNewSession属性来检查天气会话是新的还是现有的。如果使用Internet Explorer存在会话,则此属性为false,如同在Firefox和Chrome中一样,它给了我真实的信息。

在我的网络服务中,我没有存储任何会话变量,我只是想检查天气会话是新的还是现有的。

我使用.ajax调用来调用此Web服务。

 [ScriptMethod(ResponseFormat = ResponseFormat.Json), WebMethod(EnableSession = true)]
    public string GetBusinessPartnerByKey(string CardCode, string dbName)
    {
        General.WriteLog("Getting BP by key for : " + CardCode, "BP");
        //if (General.Company != null)
        //if (Session["Session"]!=null)
        if (!Session.IsNewSession) //here I am getting true in IE and false in Firefox and Chrome.
        {
            try
            {
               //do some stuff
             }
            catch (SqlException e1)
            {
                return code.General.Response("-1", e1.Message, "");
            }
            catch (Exception e1)
            {
                return code.General.Response("-1", e1.Message, "");
            }
        }
        else
            return code.General.Response("-99", "Session Expire", "");
    }

这是我的JavaScript代码段



$.ajax({
        type: "POST",
        url: ClientURL + "/GetBusinessPartnerByKey",
        data: JSON.stringify({ CardCode: cardcode, dbName: $.session.get("dbName") }),
        contentType: "application/json; charset=utf-8;",
        dataType: "json",
        error: function (xhr, status, error) {
            
            try {
                var msg = JSON.parse(xhr.responseText);
                $(this).MessageBox('error', msg.Message);
            }
            catch (e) {
                $(this).MessageBox('error', xhr.responseText);
            }

            return true;
        },
        success: function (data) {
            xml = $.parseXML(data.d);
            $BP = $(xml);
            $BusinessPartner = $BP;
            if ($BP.find('Result').text() == '0') {
                 //do some success stuff
                }
            }
            else {
                if ($BP.find('Result').text() == "-99") {
                    //do some session exipration stuff
                }
                else {
                     $(this).MessageBox('error', $BP.find('Message').text());
                }
            }
     
        }
    });




1 个答案:

答案 0 :(得分:0)

通过在global.asax文件中进行一些调整来解决问题。