我有一个ASP.NET MVC应用程序,我正在使用ASP.NET身份2.我有一个奇怪的问题。 ApplicationUser.GenerateUserIdentityAsync
正在为浏览器向我的网站发出的每个请求调用。我已经添加了一些Trace.WriteLine
,这是消除IIS输出后的结果:ASP.NET身份regenerats身份在每个请求
IdentityConfig.Configuration called
ApplicationUser.GenerateUserIdentityAsync called url: http://localhost:54294/
ApplicationUser.GenerateUserIdentityAsync called url: http://localhost:54294/Content/bootstrap.css
ApplicationUser.GenerateUserIdentityAsync called url: http://localhost:54294/Scripts/modernizr-2.8.3.js
ApplicationUser.GenerateUserIdentityAsync called url: http://localhost:54294/Content/site.css
ApplicationUser.GenerateUserIdentityAsync called url: http://localhost:54294/Scripts/jquery-2.1.3.js
ApplicationUser.GenerateUserIdentityAsync called url: http://localhost:54294/Scripts/bootstrap.js
ApplicationUser.GenerateUserIdentityAsync called url: http://localhost:54294/Scripts/respond.js
ApplicationUser.GenerateUserIdentityAsync called url: http://localhost:54294/Scripts/script.js
ApplicationUser.GenerateUserIdentityAsync called url: http://localhost:54294/Glimpse.axd?n=glimpse_client&hash=8913cd7e
ApplicationUser.GenerateUserIdentityAsync called url: http://localhost:54294/Glimpse.axd?n=glimpse_metadata&hash=8913cd7e&callback=glimpse.data.initMetadata
ApplicationUser.GenerateUserIdentityAsync called url: http://localhost:54294/Glimpse.axd?n=glimpse_request&requestId=6171c2b0-b6e5-4495-b495-4fdaddbe6e8f&hash=8913cd7e&callback=glimpse.data.initData
ApplicationUser.GenerateUserIdentityAsync called url: http://localhost:54294/Glimpse.axd?n=glimpse_sprite&hash=8913cd7e
ApplicationUser.GenerateUserIdentityAsync called url: http://localhost:54294/__browserLink/requestData/38254292a54f4595ad26158540adbb6a?version=2
而如果我运行一个默认的MVC应用程序的模板创建的,我得到这个:
IdentityConfig.Configuration called
,只如果我登录,它会打电话给ApplicationUser.GenerateUserIdentityAsync
。
我到处寻找我以为它可能是但我没有找到任何结果。我使用(如果它帮助)
StructureMap 3
Elmah
Glimpse
ASP.NET MVC 5
EF6
ASP.NET Identity 2
附加信息
我添加的用户直接进入数据库,不使用UserManage。我不确定它是否对身份有任何问题。
更新
我已经删除的数据库,并没有再发生。发生什么事?
更新2
这事发生在我的谷歌浏览器(我使用监视窥SQL连接),并删除存储的cookie之后,它并没有发生。可以在其他浏览器中登录导致此问题?
更新3
而且注销 - 登录似乎解决的问题是暂时的。
这个想必不会帮助,但只是一个想法。你尝试在发布模式下运行而不是调试吗?调试模式可能会带来很多额外的电话 – 2015-04-01 02:20:56
@ScottSelby有趣!我在发布模式下运行它,一切都很好。然后我将它发布到我的服务器,并再次发生:| – 2015-04-01 14:10:33
ASP.NET身份使用会话吗?这听起来像是在请求之间没有保持session-id时的情况。如果是这样,请尝试设置一个虚拟会话变量。 – sisve 2015-04-07 08:00:02