100分收集 C#中如何保存登录状态 不多说30分 给 最好的20分 给 第二10分 给 第三其余 跟贴 非问题相关 1分 问题相关5分分数不够 我会再追加的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 BS中无非就是session和cookieCS中一般用静态类。 Session , Cookie 都可以,不过Session容易丢失,用之前需判断Session是否为空。 B/S 还 是 C/S 最好的 Session第二 ViewState第三 Cookie还有隐藏域。耶,我最多分 这个没有什么好说的 session Web Session和Cookie WIN static 类或则成员. 但是 我的 SESSION总是很容易丢失的不知道 各位有没有好的解决办法? 那就放到cookie啊,不过有的用户可能会禁止cookie的说 楼主的是BS,最好不要用cookie,很多人都禁掉的。包括我 session歸根結底也是用了cookies。所以用session不如干脆直接用cookies,但有時cookies會受客戶端限制。 ViewState要一直傳來傳去太麻煩,不推薦。 使用XML用readxml和writexml非常好用. 用session,用cookies的话就怕cookies被禁用 用session好了,登陆信息丢失的话,顶多在登陆一次了,不会有太大问题。 B/S session,C/S才服务器端保存估计要好一点,或者客户端对象给出一个登录状态的属性。 b/s 我一般是先判断客户端是否开启cookie,和Session结合着用c/s 就静态类。 我也是用session实现登陆状态问题的。 Session 害怕丢失的话 把session 存数据库就好了cookie 有些禁用 就没招了viewstate 关闭页面后就没了。session 是 流行的 做法 登录状态保存的方式很多 ,看你自己的需要了,如果是单服务器的程序,无论你用cookie,session都没有问题。一般用户都不会禁用cookie,禁用了现在很多网站都登录不了的。要是跨服务器,比如你的website有两台,或者两台以上 ,需要考虑的问题就比较多了。 这种情况下,推荐用cookie.分布式session性能上有问题。微软新出了一套分布式缓存组件,没实验过效果。最好的处理方式,就是保存一个tokenkey在cookie里,或者url(禁用cookie时)中。在服务端,利用这个tokenkey从缓存、数据库、或者其他中间介质中中读取信息。 session是保存在服务器端,由iis配置最大数量,但是有bug,同时太多人登陆,可能会出错cookie的话是保存在本地,用的比较多,但是如果服务器端要采集用户信息就获取不到,另外浏览器也要支持cookie,不过一般的都支持二者各有优缺点,可以结合使用,还有用viewstate,保存页面状态,用隐藏域,隐藏控件等都可以保存一些属性 我想我知道你的的问题所在了如你是C/S下的话,就算你用了静态类也是无效的因为服务器端你没有使用按线程进行访问,所以你的用户登录会被后来者复盖掉同情你的遭遇,因为这个问题也困扰了我很久其实方法很简单访问对象时用一下这个类就可能了 internal static IUserSession CurrentUserSession { get { return CallContext.LogicalGetData(UserSession.CALL_CONTEXT_KEY) as IUserSession; } set { CallContext.LogicalSetData(UserSession.CALL_CONTEXT_KEY, value); } }这是我的一个例子,你有一定要用CallContext.LogicalGetData这种方式才可以我的是用在.net remoting 中客户端登录到服务器时测试通过 BS中无非就是session和cookie CS中一般用静态类。 protected void Button1_Click(object sender, EventArgs e) { DBClass db = new DBClass(); if (db.ReturnExecuteScalar("select * from t_admin where UserName='" + t_user.Text.ToString() + "' and Password='"+t_pwd.Text.ToString()+"'") != "") { Session.Add("loginname",t_user.Text.ToString()); Response.Redirect("Default.aspx"); } else { Response.Write("<script>alert('登录失败!')</script>"); } db.SqlClose(); } 猜想楼主应该是想听这些吧,我在补充点这要看楼主对这个session的需求了,不嫌占资源就把登陆状态储存到数据库中的临时表. 看是什么系统了,如果是内部用得,用cookie就好了如果需要外网,可以用session,因为cookie有可能被禁用当然还有种方法就是写数据库,不过相对麻烦 在登录页面中设置,如果你登录名的控件是textbox1,string name = textbox1.text;Session[name] = name;//就这一句是管用的,以后你要用它了就直接取值等于Session[name]就可以了! 是什么程序啊?网页的?还是窗体的?如果是网页,还是用session好 个人都是放在session里不过有人防cookie中今天也去学习了下viewstate~都可以 都不错~~~优缺点没去比较额 sessionwindow passportcookie 其中passport 是受费的./. 补充下.. session , cookie 在每个页面里面 必须写判断的代码... 可以保存到配置文件里: 其中window ,passport 可以解决上面的问题... 但是passport是收费的.. Session里安全,Cookie中虽然省内存但是比较不安全,也可以用ASP.NET的表单验证,就可以Page.User.Identity.UserName获得用户名 除了Session就是CookieCookie有以下特点: 存储在客户端的Cookies文件夹内;它是一小段字符串,不能执行的; Cookie对每个用户来说是独立的;每个Cookie不会超过4k数据且每个都有自己的生命周期;注意:由于它存储在客户端,可以被更改,具有欺骗性,所以安全性不高。Session特点: 又称为会话状态。 对于Session的存储有三种模式: (1)默认时存储在IIS进程中(WEB服务器内存) (2)StateServer:存储在独立的Windows服务进程中(可以不是Web服务器) (3)SqlServer:存储在SqlServer数据库中 注意:在默认条件下如果禁用了Cookie,那麽Session也将失效。 StateServer和SQL的应该不那么容易丢失吧 除了Session就是Cookie Cookie有以下特点: 存储在客户端的Cookies文件夹内;它是一小段字符串,不能执行的; Cookie对每个用户来说是独立的;每个Cookie不会超过4k数据且每个都有自己的生命周期; 注意:由于它存储在客户端,可以被更改,具有欺骗性,所以安全性不高。 Session特点: 又称为会话状态。 对于Session的存储有三种模式: (1)默认时存储在IIS进程中(WEB服务器内存) (2)S… B/S中我用的session,session过期或丢失就让重新登录 cookie的话存储用户信息不太合适C/S静态类 Session丢失还是过期?丢失难道是名字重复我得处理是登录信息的session没了的话就让重新登录 那肯定是SEssion啊,一般cookie也会用到的 cookie+session +数据库保持登录信息,三个部分呢同时验证。 Session ViewState Cookie 这三个都可以,Session能比较好一点 用Session和Cookie 都可以。不过相比这下,Session比较容易丢失数据。 只会用session 不过默认是20分钟丢失吧?可以在global文件里修改如果要长期保存 可考虑一登陆时就把当前的session值赋到某一具体存在的值 以后使用就直接调用 你是怎么个保存的意思啊?没明白?如果是C/s结构的话,登录时就够了,,如果是B/S的话,在每个页面做个判断怎么样? Session Cookie profile C#可以访问继承自IUnknown接口的com吗? 如何更改OpenFileDialog上的打开按钮的文本?急。。 如何从dll文件中读取已有的icon? 简单问题:vs2005如何可视化添加dataconnection/dataadapter/dataset? Fomula One 问题 奇怪的调试错误信息.......... DataGrid 有时候出现红叉, 说某列不属于表中是怎么回事 我的C#第二问,关于方法的返回值 磁盘读写速度测试程序 C#窗体不显示控件,运行时正常 改变DataGridView某个单元格的颜色 比如我在表A中删除一条记录后让表B的RS字段减1
CS中一般用静态类。
第二 ViewState
第三 Cookie
还有隐藏域。耶,我最多分
WIN static 类或则成员.
ViewState要一直傳來傳去太麻煩,不推薦。
用readxml和writexml非常好用.
c/s 就静态类。
cookie 有些禁用 就没招了
viewstate 关闭页面后就没了。
session 是 流行的 做法
要是跨服务器,比如你的website有两台,或者两台以上 ,需要考虑的问题就比较多了。 这种情况下,推荐用cookie.分布式session性能上有问题。微软新出了一套分布式缓存组件,没实验过效果。最好的处理方式,就是保存一个tokenkey在cookie里,或者url(禁用cookie时)中。在服务端,利用这个tokenkey从缓存、数据库、或者其他中间介质中中读取信息。
session是保存在服务器端,由iis配置最大数量,但是有bug,同时太多人登陆,可能会出错
cookie的话是保存在本地,用的比较多,但是如果服务器端要采集用户信息就获取不到,另外浏览器也要支持cookie,不过一般的都支持二者各有优缺点,可以结合使用,还有用viewstate,保存页面状态,用隐藏域,隐藏控件等都可以保存一些属性
{
get
{
return CallContext.LogicalGetData(UserSession.CALL_CONTEXT_KEY) as IUserSession;
}
set
{
CallContext.LogicalSetData(UserSession.CALL_CONTEXT_KEY, value);
}
}这是我的一个例子,你有一定要用CallContext.LogicalGetData这种方式才可以我的是用在.net remoting 中客户端登录到服务器时测试通过
CS中一般用静态类。
{
DBClass db = new DBClass();
if (db.ReturnExecuteScalar("select * from t_admin where UserName='" + t_user.Text.ToString() + "' and Password='"+t_pwd.Text.ToString()+"'") != "")
{
Session.Add("loginname",t_user.Text.ToString());
Response.Redirect("Default.aspx");
}
else
{
Response.Write("<script>alert('登录失败!')</script>");
}
db.SqlClose();
}
猜想楼主应该是想听这些吧,我在补充点这要看楼主对这个session的需求了,不嫌占资源就把登陆状态储存到数据库中的临时表.
如果需要外网,可以用session,因为cookie有可能被禁用
当然还有种方法就是写数据库,不过相对麻烦
string name = textbox1.text;
Session[name] = name;//就这一句是管用的,以后你要用它了就直接取值等于Session[name]就可以了!
不过有人防cookie中
今天也去学习了下viewstate~都可以 都不错~~~优缺点没去比较额
passportcookie 其中passport 是受费的./.
session , cookie 在每个页面里面 必须写判断的代码...
可以保存到配置文件里:
其中window ,passport 可以解决上面的问题...
但是passport是收费的..
Cookie中虽然省内存但是比较不安全,
也可以用ASP.NET的表单验证,就可以Page.User.Identity.UserName获得用户名
Cookie有以下特点:
存储在客户端的Cookies文件夹内;它是一小段字符串,不能执行的;
Cookie对每个用户来说是独立的;每个Cookie不会超过4k数据且每个都有自己的生命周期;
注意:由于它存储在客户端,可以被更改,具有欺骗性,所以安全性不高。
Session特点:
又称为会话状态。
对于Session的存储有三种模式:
(1)默认时存储在IIS进程中(WEB服务器内存)
(2)StateServer:存储在独立的Windows服务进程中(可以不是Web服务器)
(3)SqlServer:存储在SqlServer数据库中
注意:在默认条件下如果禁用了Cookie,那麽Session也将失效。
StateServer和SQL的应该不那么容易丢失吧
Cookie有以下特点:
存储在客户端的Cookies文件夹内;它是一小段字符串,不能执行的;
Cookie对每个用户来说是独立的;每个Cookie不会超过4k数据且每个都有自己的生命周期;
注意:由于它存储在客户端,可以被更改,具有欺骗性,所以安全性不高。
Session特点:
又称为会话状态。
对于Session的存储有三种模式:
(1)默认时存储在IIS进程中(WEB服务器内存)
(2)S…
cookie的话存储用户信息不太合适
C/S静态类
Session丢失还是过期?
丢失难道是名字重复
我得处理是登录信息的session没了的话就让重新登录
保持登录信息,三个部分呢同时验证。
可以在global文件里修改如果要长期保存 可考虑一登陆时就把当前的session值赋到某一具体存在的值 以后使用就直接调用
profile