项目中,在做登录验证时,用到了cookie,同一账户登陆,可以。切换其他账号时,就在也登录不上了,用原来的也不行。检查Request.IsAuthenticated一直false,而且Request.Cookie中没有设置的Cookie,但是通过fiddler检查post,get数据,cookie都正常。

通过修改代码发现,当使用自定义的账户对象(new一个,随便设置值)没有问题,而使用EF查找数据库,生成的账户对象则不行。通过对比发现,EF查找数据库得到的账户对象除了基本的信息外,还附带了其他一些信息,导致json序列化后,字符串较大。保存的cookie也很大。

所以可能是cookie体积过大,导致了一直获取不到request中的cookie。

05-08 15:31