【发布时间】:2012-11-29 17:31:40
【问题描述】:
这个 sn-p 在我的业务逻辑层类文件中:
Public Shared Function getAccIDFromSocialAuthSession() As Object
Dim db As SqlDatabase = Connection.connection
Dim accID As Integer
If SocialAuthUser.IsLoggedIn Then
Using cmd As SqlCommand = db.GetSqlStringCommand("SELECT AccountID FROM UserAccounts WHERE FBID=@fbID")
db.AddInParameter(cmd, "fbID", SqlDbType.VarChar, SocialAuthUser.GetCurrentUser.GetProfile.ID)
accID = db.ExecuteScalar(cmd)
End Using
End If
Return accID
End Function
我正在使用SocialAuth.Net。 SocialAuth.NET 将所有内容存储在会话中。例如,要获取我们调用 SocialAuthUser.GetCurrentUser.GetProfile.ID 的 Facebook 用户 ID,因为它是基于会话的,所以当我尝试调用 @987654325 时,我收到此错误消息 "Object Reference Not Set to an instance of an object" @ 来自 web 服务 (asmx.vb) 文件。我这样称呼它(ClassName.FunctionName-->BLL.getAccIDFromSocialAuthSession)
当我从aspx.vb 页面调用相同的函数时,它可以正常工作,但当我从asmx.vb 页面调用它时就不行了。
由于我不知道会话变量名称,我不能使用System.Web.HttpContext.Current.Session("NameHere")
有什么办法吗??
【问题讨论】:
标签: c# asp.net vb.net socialauth