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

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

//有问题的代码
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. Dubbo 体验(一)

    最近新加入一个项目组,所使用的是Dubbo,采用的架构是分布式架构,数据库采用MySQL分片.之前也接触过一下,但为了能更好融入团队,所以找Dubbo官网看文档. 才发现Dubbo的官网已搬去apac ...

  2. 0 test classes found in package in XXXX

    除了参考其他的方法,要注意XXXX位置下是否有空文件夹,删掉.

  3. cookie、session、分页

    一.cookie HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情 ...

  4. html和css入门 (一)

    HTML简介 什么是HTML HTML 的全称为 超文本标记语言(Hyper Text Markup Language),这种语言给我们提供一种建立结构性文档的方法.通过表示结构性的标签语法,我们可以 ...

  5. Conda常用命令整理

    主要参考Anaconda官方指南Using Conda:https://conda.io/docs/using/index.html 环境:Win10 64bit with conda 4.3.14  ...

  6. redis在windows上安装+RedisDesktopManager

    redis我就不在这里介绍了,这里直接介绍windows安装redis服务,网上有很多介绍windows版,我这边安装的是一个极简版的. redis官方下载地址:https://redis.io/do ...

  7. 毕向东_Java基础视频教程第19天_IO流(20~22)

    第19天-20-IO流(改变标准输入输出设备) static void setIn(InputStream in) Reassigns the "standard" input s ...

  8. c#之反射(Reflection)

    一.反射是什么 反射就是.Net FrameWork框架为我们提供的一个帮助类库,它可以读取我们通过编译后生成的dll和exe文件里面metadate的信息. 反射可以动态的加载dll和exe文件,动 ...

  9. 面向对象进阶------>模块 json pickle hashlib

    何为模块呢?  其实模块就是.py文件 python之所以好用就是模块多 模块分三种 :  内置模块 . 拓展模块.自定义模块. 现在我们来认识:内置模块中的 序列化模块和 hashlib  模块 1 ...

  10. Python学习---生成器的学习1210

    在Python中,这种一边循环一边计算的机制,称为生成器: 结论: 生成器本质是一个函数,不同于函数的是它生成的是一个对象,不执行函数内的代码 1.1. 列表生成器 列表生成器: 列表是直接生成数字在 ...