2011-01-19 69 views
0

以下是从阿贾克斯称为Web方法,我与萤火脚本确实传递了两个字符串值,以我的方法验证:帮助,NullReference例外,在C#

public string DealerLogin_Click(string name, string pass) 
{ 
    string g="adf"; 
    if (name == "w" && pass == "w") 
    { 
     HttpContext.Current.Session["public"] = "pub"; 
     g= "window.location = '/secure/Default.aspx'"; 
    } 

    return g; 
} 

我传递“w”仅用于测试目的。如果我删除了if块,那么我不会从服务器返回错误。我很困惑。

+1

您可以发布异常的堆栈跟踪,请 - 目前`。 Current或`.Session`是唯一的候选人 – 2011-01-19 22:59:32

+0

您可以验证ASP.Net是否在调用此Web方法时分配了其会话ID? – TheGeekYouNeed 2011-01-19 23:07:03

回答

5

没有看到堆栈跟踪,我猜HttpContext.CurrentHttpContext.Current.Sessionnull

1

杰夫是正确的,但我想补充一点,Web服务中使用会话要求会议“接通”:

[WebMethod(EnableSession=true)] 
public string DealerLogin_Click(string name, string pass) 
{ 
    string g=""; 
    if (name == "w" && pass == "w") 
    { 
     Session["Public"]="pub"; 

     g= "window.location = '/secure/Default.aspx'"; 
    } 

    return g; 
}