今天调了个代码,发现老是跟预期的结果不一样,找了半天的原因,一个一个的往回找,终于逮出元凶了!

我今天才发现,下面两个是不一样的:

//有问题的代码
if (Session["uid"] == oFormHR.AuthorizeId && formState != "流程校正中")
{
//..
} //正确的代码
if (Session["uid"].ToString() == oFormHR.AuthorizeId && formState != "流程校正中")
{
//..
}

第一个,现在重新审视了一下,就算Session["uid"]里面存放的是一个String对象,而且值也是相同的,尽管编译是通过了,但是它们可能永远都会返回false!!

为啥?因为Session["uid"]是一个Session对象,而后面那货是个String对象,所以,还是用回我以前举的一个例子来说吧,下面是原文地址:http://zhidao.baidu.com/link?url=U3nb69YTa6uzph8Iv_YrWtBJfF474A3kG2oU36Y3bYi4PHXXjxnSWnkDeMbCinIdiB7hAm41ewBM8LBa3eoTUa

打个比方吧,比如我有一个类:人
然后我new了两个实例,注意看下面“代码”: 人 张三 = new 人();
张三.眼睛 = 2个;
人 李四 = new 人();
李四.眼睛 = 2个; bool op3 = 张三==李四; 说明:就算张三跟李四一样有两个眼睛,但他们不是同一个人,所以“张三==李四”会返回false.

Session["userName"]与Session["userName"].ToString()是不一样的~~的更多相关文章

  1. how to close the old Session - if the same username starts a new Session?

    Question: want to close the old Session - if the same username starts a new Session Any ideas how i ...

  2. Asp.Net进程外Session(状态服务器Session、数据库Session)

    介绍 我们知道,当浏览器关闭,或者网站重启的时候,会话就结束了.即Seesion就丢失了.(当Web.config配置文件改动,哪怕什么内容都不加,仅仅往配置文件中加一个空格都是改we.config变 ...

  3. Hibernate二次学习二----------session.flush、session.doWork

    目录 1. session 2. session.flush 3. session.doWork 4. 完整代码 5. 总结 © 版权声明:本文为博主原创文章,转载请注明出处 1. session H ...

  4. nginx+iis+redis+Task.MainForm构建分布式架构 之 (redis存储分布式共享的session及共享session运作流程)

    本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,上一篇分享文章制作是在windows上使用的nginx,一般正式发布的时候是在linux来配 ...

  5. 使用Memcached Session Manager扩展Session管理

    >>Tomcat的session管理 在请求过程中首先要解析请求中的sessionId信息,然后将sessionId存储到request的参数列表中. 然后再从request获取sessi ...

  6. asp.net(C#)清除全部Session与单个Session

    Session.Abandon();//清除全部SessionSession["UserName"] = null;Session.Remove("UserName&qu ...

  7. request.setAttribute和request.getAttribute还有session.setAttribute和session.getAttribute还有request.getParameter和request.getAttribute区别和联系

    1.session.setAttribute()和session.getAttribute()配对使用,作用域是整个会话期间,在所有的页面都使用这些数据的时候使用. 2.request.setAttr ...

  8. Tomcat使用Memcached Session Manager管理Session

    Tomcat使用Memcached Session Manager管理Session 废话不多说,直接进入主题.项目使用阿里云负载均衡+ECS服务器集群进行部署,Tomcat使用8.5版本.阿里云负载 ...

  9. express session 和 socketio session关联

    express session http是没有状态的协议, 需要web框架自己实现会话和会话管理工作. express框架有session插件可以使用. 见如下介绍: https://www.tuto ...

  10. session.setAttribute和session.getAttribute

    网上搜了些资料 ----------------------------------------------------------------------------- B/S架构中,客户端与服务器 ...

随机推荐

  1. HDU 2553(N皇后)(DFS)

    http://acm.hdu.edu.cn/showproblem.php?pid=2553 i表示行,map[i]表示列,然后用DFS遍历回溯 可以参考这篇文章: http://blog.csdn. ...

  2. HTML新手推荐

    对于前端的学习要先了解一下浏览器和html的发展史其次看看这篇文章:https://kb.cnblogs.com/page/129756/#chapter1我读到这句话时候感觉到了科技这个东西有很多时 ...

  3. 浏览器根对象window之值为数值的属性

    1. number属性 1.1 length length 属性返回在当前窗口中frames的数量(包括IFRAMES). 该属性值与window.frames.length属性值相等. 1.2 in ...

  4. MongoDB 投影

    mongodb 投影意思是只选择必要的数据而不是选择一个文件的数据的整个.例如一个文档有5个字段,只需要显示其中3个 find() 方法 在MongoDB中,当执行find()方法,那么它会显示一个文 ...

  5. android toast使用方法

    1.默认展示 // 第一个参数:当前的上下文环境.可用getApplicationContext()或this // 第二个参数:要显示的字符串.也可是R.string中字符串ID // 第三个参数: ...

  6. Example of assigning attributes directly to an object name

    Student类 package com.itheima_05; /* * 学生类 * * 通过对象直接访问成员变量,会存在数据安全问题 * 这个时候,我们就想能不能不让外界的对象直接访问成员变量呢? ...

  7. MUI框架-06-静态页制作(图片轮播)

    MUI框架-06-静态页制作(图片轮播) 轮播也是静态,是相对页面交互来说 上一篇介绍了如何设计一个简单的界面,还没有接触过,请先查看: MUI框架-01-介绍-创建项目-简单页面 轮播组件 之前也介 ...

  8. Android适配--百分比的适配

    首先,需要添加com.android.support:percent:24.1.1 包,版本随意. dependencies { compile fileTree(dir: 'libs', inclu ...

  9. restful知识点之五解析器_响应器_分页器

    解析器 request.post:当数据时content-type urlencoded类型时才有数据 当content-type:是formdata时需要从request.body里取数据 requ ...

  10. c# 设计模式 之:抽象工厂

    1.作用:抽象工厂的目的就是生产[产品族],之前讲的“工厂模式”的每一个factory只造一种产品,抽象工厂让一个factory造多个产品. uml类图: 代码实现: 抽象工厂代码: namespac ...