2011-12-06 157 views
-2

我正在使用SQL Express 2008和Visual Studio 2010.会话不工作

我使用会话做了一个简单的登录表单。我希望如果会话为空,用户应该无法进入所需的页面。我写了下面的代码:

public void btnsubmit_CLICK(object sender, EventArgs e) 
{ 
    if (TextBox1.Text =="admin" && TXTID.Text =="admin") 
    { 
     Session["user"] = "admin"; 
     Response.Redirect("generate_report.aspx"); 
    } 
    else 
    { 
     lblmsg.Text = "user name Or password is not correct!"; 
    } 

下一页:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (Session["user"] != "admin") 
    {  
     Response.Redirect("Default.aspx"); 
    } 

这是工作的罚款,如果我在本地使用,但是当我加载它在客户端服务器上并不在所有的工作。为什么如此?

+0

您是客户端服务器在进程会话状态中使用的Web场吗? –

+0

我无法对您遇到的问题发表评论,但您确实不应该使用自己的身份验证系统。 AspNetMembershipProvider(http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx)为您提供免费所需的一切。 – spender

+4

“* id完全不起作用*”并不意味着什么。请确定错误(s)。 – Otiel

回答

0

你有没有更换你所使用本地到您的服务器 如果没有/无法 检查此标签下方

<sessionState mode="[Off|InProc|StateServer|SQLServer|Custom]" 
    timeout="number of minutes"> 
</sessionState> 

也选中此得到体现在IIS管理国家的web.config中。

+0

不,我会试试! – konika

+0

@konika得到了ny soln? –

+0

尚未??我nt得到哪种模式,我应该使用? – konika

0

您可能正在使用生产IIS上的网络花园以及进程内会话。这意味着IIS会在您的服务器上产生多个工作进程。

因此,每个请求都可以由任意工作进程处理,但进程内会话只能在同一进程中使用。

您可能会将工作进程的数量减少到一个。但是,正如spender所评论的那样,您不应该创建自己的身份验证系统。

+0

!我想将页面重定向到另一个页面,但它保持在同一页面 – konika

+0

这个答案(或任何其他)对你有帮助吗? –

+0

no none of the已帮助我,直到现在.. :( – konika