Asp.net DotNetOpenAuth实体框架

Asp.net DotNetOpenAuth实体框架,asp.net,facebook,entity-framework,visual-studio-2012,dotnetopenauth,Asp.net,Facebook,Entity Framework,Visual Studio 2012,Dotnetopenauth,好的,大师,这是我的问题 我在visual studio 2012中创建了一个asp.net VB项目。为了简单起见,我创建了一个新项目 我添加了我的facebook api信息(用于身份验证) Facebook身份验证有效 我使用NuGet接口来更新openAuth。Facebook认证仍然有效 我使用NuGet更新entityframework(无论升级到哪个版本),dotnet open auth不再工作。我的问题是registerexternallogin.aspx检查本地使用是否已登录

好的,大师,这是我的问题

我在visual studio 2012中创建了一个asp.net VB项目。为了简单起见,我创建了一个新项目

我添加了我的facebook api信息(用于身份验证)

Facebook身份验证有效

我使用NuGet接口来更新openAuth。Facebook认证仍然有效

我使用NuGet更新entityframework(无论升级到哪个版本),dotnet open auth不再工作。我的问题是registerexternallogin.aspx检查本地使用是否已登录时出现运行时错误。这是registerExternalLogin.aspx(由visual studio随项目自动创建)中的代码行

堆栈跟踪:

[NullReferenceException: Object reference not set to an instance of an object.]
Microsoft.AspNet.Membership.OpenAuth.OpenAuthDataProvider.GetUserNameFromOpenAuth(字符串openAuthProvider,字符串openAuthId)+51 DotNetOpenAuth.AspNet.OpenAuthSecurityManager.Login(字符串providerUserId,布尔值createPersistentCookie)+66 Microsoft.AspNet.Membership.OpenAuth.OpenAuth.Login(字符串providerName、字符串providerUserId、布尔createPersistentCookie)+197 帐户注册外部Allogin.ProcessProviderResult()+588 System.Web.UI.Control.LoadRecursive()+70 System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)+3177

将我的运行时指定为使用entityframework 5.0.x不会解决此问题(在本例中,它已升级为6),使用命令行回滚entityframework也不会解决此问题

提前谢谢。
迈克

经过几个小时的测试,我今天出现了这个问题。它一开始工作没有问题。然后我从数据库中删除了之前创建的用户和成员,并删除了所有站点cookie(以防万一)


然而,我发现克服错误的唯一方法(代码没有更改)是使用另一个登录再次测试。(另一个Twitter帐户)。

好的,刚刚恢复使用我原来的Twitter帐户进行测试,再次出现错误

我通过以下方式修复了错误:

  • 从表[aspnet_Users]、[aspnet_Membership]、[UsersOpenAuthAccounts]和[UsersOpenAuthData]中删除相关记录

  • 在IIS上重新启动网站

  • 删除站点cookie

  • 问题解决了

    [NullReferenceException: Object reference not set to an instance of an object.]