首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DotNetOpenAuth实体框架

DotNetOpenAuth实体框架
EN

Stack Overflow用户
提问于 2013-11-12 21:41:59
回答 2查看 581关注 0票数 0

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

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

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

Facebook身份验证有效。

我使用NuGet接口更新了openAuth。Facebook身份验证仍然有效。

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

代码语言:javascript
复制
  ' User has logged in with provider successfully
    ' Check if user is already registered locally
    If OpenAuth.Login(authResult.Provider, authResult.ProviderUserId, createPersistentCookie:=False) Then
        RedirectToReturnUrl()
    End If

堆栈跟踪:

代码语言:javascript
复制
[NullReferenceException: Object reference not set to an instance of an object.]

Microsoft.AspNet.Membership.OpenAuth.OpenAuthDataProvider.GetUserNameFromOpenAuth(String openAuthProvider,字符串openAuthId) +51 Boolean providerUserId,Boolean createPersistentCookie) +66 Boolean providerName,字符串providerUserId,Boolean createPersistentCookie) +197Boolean +588 System.Web.UI.Control.LoadRecursive() +70 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint) +3177

指定我的运行时使用entityframework 5.0.x并不能解决这个问题(在本例中是升级到6),使用命令行回滚entityframework也不能解决这个问题。

提前谢谢。麦克

EN

回答 2

Stack Overflow用户

发布于 2013-11-13 02:40:05

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

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

票数 0
EN

Stack Overflow用户

发布于 2013-11-13 23:19:50

好的,我刚刚恢复了对我原来的Twitter账号的测试,并再次得到错误。

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

  1. 从IIS表aspnet_Users、aspnet_Membership、UsersOpenAuthAccounts和UsersOpenAuthData.
  2. Restart网站中删除相关记录。
  3. 删除站点cookies。

问题解决了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19930766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档