cs 页如何使用session

gqtyddd 2009-08-17 01:49:33
一个登陆页
页是 a。htm 用Ajax 传递到1.ashx 然后 调用一个2.cs 页
用户名和密码正确后
想要建立一个session

HttpContext context = HttpContext.Current;
context.Session["adminusername"] = "admin";


总是提示错误
正确该怎么使用啊
...全文
595 45 打赏 收藏 转发到动态 举报
写回复
用AI写文章
45 条回复
切换为时间正序
请发表友善的回复…
发表回复
gqtyddd 2009-08-19
  • 打赏
  • 举报
回复
历时30多个小时的问题 终于解决了
谢谢各位的帮助
gqtyddd 2009-08-19
  • 打赏
  • 举报
回复
[Quote=引用 43 楼 john_hee 的回复:]
在.ashx文件中要继承接口IReadOnlySessionState, IRequiresSessionState
这样content.current.session["test"]="test" 就可以使用了
.cs文件要引用httpcontext.current.session["test"]="test"
[/Quote]正解 解决我的问题了
gqtyddd 2009-08-18
  • 打赏
  • 举报
回复
登录页是一个 htm
有用户名 和密码框 和 一个登陆按钮 使用 ajax

ashx代码
<%@ WebHandler Language="C#" Class="login" %>

using System;
using System.Web;

public class login : IHttpHandler {

public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
//context.Response.Write("0");
context.Response.Write(Convert.ToInt32(admin_login.login(context.Request.QueryString["admin_username"], context.Request.QueryString["admin_pwd"])));
}

public bool IsReusable {
get {
return false;
}
}

}


admin——login。cs代码
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Web.SessionState;

/// <summary>
/// admin_login 的摘要说明
/// </summary>
public class admin_login : System.Web.SessionState.IRequiresSessionState
{
public admin_login()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

public static int login(string u, string p)
{
string username = u;
string password = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(p, "MD5");
string querystring = "select count(*) from admin_user where username='" + username + "' and password='" + password + "'";
string strCon = ConfigurationSettings.AppSettings["ConToSQL"];
SqlConnection sqlcon = new SqlConnection(strCon);

SqlCommand cmd = new SqlCommand(querystring, sqlcon);
try
{


sqlcon.Open();
//SqlDataReader dr = cmd.ExecuteReader();
int i = int.Parse(cmd.ExecuteScalar().ToString());
while (i == 1)
{
HttpContext.Current.Session.Add("adminusername", "admin");
return 0;
}
return 1;//用户名错误
}
catch (Exception e)
{
return 2;//数据库错误
}
finally
{
cmd.Dispose();
sqlcon.Close();
}
}
}
gqtyddd 2009-08-18
  • 打赏
  • 举报
回复
还是报错
未将对象引用设置到对象的实例。
gqtyddd 2009-08-18
  • 打赏
  • 举报
回复
System.Web.SessionState.IRequiresSessionState

用这个试一下
netwar 2009-08-18
  • 打赏
  • 举报
回复
HttpContext context=HttpContext.Current;
context.Session["key"];
John_Hee 2009-08-18
  • 打赏
  • 举报
回复
在.ashx文件中要继承接口IReadOnlySessionState, IRequiresSessionState
这样content.current.session["test"]="test" 就可以使用了
.cs文件要引用httpcontext.current.session["test"]="test"
gqtyddd 2009-08-18
  • 打赏
  • 举报
回复
运行 HttpContext.Current.Session.Add("adminusername","admin");
到这里错误
没有实例化
YJP1314 2009-08-18
  • 打赏
  • 举报
回复
HttpContext.Current.Session["panda"] = "csdn";
gqtyddd 2009-08-18
  • 打赏
  • 举报
回复
[Quote=引用 39 楼 myufo1234 的回复:]

HttpContext.Current.Session.Add("adminusername","admin");
这句出错?是未实例化对象?
[/Quote]是的
gqtyddd 2009-08-18
  • 打赏
  • 举报
回复
是的
  • 打赏
  • 举报
回复
学习Ajax
myufo1234 2009-08-18
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 gqtyddd 的回复:]

admin——login。cs代码
C# codeusing System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;using System.Web.SessionState;///<summary>/// admin_login 的摘要说明///</summary>publicclass admin_login : System.Web.SessionState.IRequiresSessionState
{public admin_login()
{//// TODO: 在此处添加构造函数逻辑// }publicstaticint login(string u,string p)
{string username= u;string password= System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(p,"MD5");string querystring="select count(*) from admin_user where username='"+ username+"' and password='"+ password+"'";string strCon= ConfigurationSettings.AppSettings["ConToSQL"];
SqlConnection sqlcon=new SqlConnection(strCon);

SqlCommand cmd=new SqlCommand(querystring, sqlcon);try
{


sqlcon.Open();//SqlDataReader dr = cmd.ExecuteReader();int i=int.Parse(cmd.ExecuteScalar().ToString());while (i==1)
{
HttpContext.Current.Session.Add("adminusername","admin");return0;
}return1;//用户名错误 }catch (Exception e)
{return2;//数据库错误 }finally
{
cmd.Dispose();
sqlcon.Close();
}
}
}
[/Quote]
还会出错?是在上面红色代码处出错还是在你读取session的时候出错?
admin_login.login(context.Request.QueryString["admin_username"], context.Request.QueryString["admin_pwd"])这个函数调用的返回值是多少?
myufo1234 2009-08-18
  • 打赏
  • 举报
回复

HttpContext.Current.Session.Add("adminusername","admin");
这句出错?是未实例化对象?
gqtyddd 2009-08-18
  • 打赏
  • 举报
回复
[Quote=引用 37 楼 myufo1234 的回复:]
引用 32 楼 gqtyddd 的回复:

我有必要再这里开这个玩笑嘛


我只是想说在
HttpContext.Current.Session.Add("adminusername","admin");
这里不可能抛出未实例化对象的异常,希望你能找到真正的问题所在,这样更容易解决问题,如果你确定是未实例化对象,那就说明你的程序没有执行这句,也就是说可能在前面就出错了,所以导致后边你读取的时候没有你想要的对象
[/Quote]我用断点 单步执行的
前面都没有问题
myufo1234 2009-08-18
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 gqtyddd 的回复:]

我有必要再这里开这个玩笑嘛
[/Quote]

我只是想说在
HttpContext.Current.Session.Add("adminusername","admin");
这里不可能抛出未实例化对象的异常,希望你能找到真正的问题所在,这样更容易解决问题,如果你确定是未实例化对象,那就说明你的程序没有执行这句,也就是说可能在前面就出错了,所以导致后边你读取的时候没有你想要的对象
gqtyddd 2009-08-18
  • 打赏
  • 举报
回复
还是 报错的
gqtyddd 2009-08-18
  • 打赏
  • 举报
回复
/// <summary>
/// admin_login 的摘要说明
/// </summary>
public class admin_login : System.Web.UI.Page
wyman25 2009-08-18
  • 打赏
  • 举报
回复
session是page类中的一个成员。一般在.aspx.cs文件中可以直接使用是因为.aspx.cs继承了page类,如果你想在。cs文件中使用,那就继承page吧
gqtyddd 2009-08-18
  • 打赏
  • 举报
回复
加了断点

context
{System.Web.HttpContext}
AllErrors: null
Application: {System.Web.HttpApplicationState}
ApplicationInstance: {System.Web.HttpApplication}
Cache: {System.Web.Caching.Cache}
CurrentHandler: {login}
CurrentNotification: “context.CurrentNotification”引发了“System.PlatformNotSupportedException”类型的异常
Error: null
Handler: {login}
IsCustomErrorEnabled: false
IsDebuggingEnabled: true
IsPostNotification: “context.IsPostNotification”引发了“System.PlatformNotSupportedException”类型的异常
Items: Count = 1
PreviousHandler: null
Profile: {System.Web.Profile.DefaultProfile}
Request: {System.Web.HttpRequest}
Response: {System.Web.HttpResponse}
Server: {System.Web.HttpServerUtility}
Session: null
SkipAuthorization: false
Timestamp: {2009-8-18 妈妈18:39:41}
Trace: {System.Web.TraceContext}
User: {System.Security.Principal.WindowsPrincipal}
加载更多回复(24)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧