Hejsan. Håller på med en sak o vill kolla om folk är inloggade eller inte via en databas.
Jag vill när en sida uppdateras fyra av
Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
'
' Kolla om folk fortfarande är inloggade
'
If Request.IsAuthenticated Then
'
' Bara om den som kollar på sidan är inloggad.
'
Dim myConnection As New System.Data.SqlClient.SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
Dim myCommand As New System.Data.SqlClient.SqlCommand("UpdateOnlineStatus", myConnection)
myCommand.CommandType = CommandType.StoredProcedure
Dim myParam As New System.Data.SqlClient.SqlParameter("@fldAlias", SqlDbType.NVarChar, 25)
myParam.Value = HttpContext.Current.User.Identity.Name.ToString
myCommand.Parameters.Add(myParam)
myConnection.Open()
myCommand.ExecuteNonQuery()
myConnection.Close()
End If
End Sub
Problemen är som följande:
1: If Request.IsAuthenticated Then
Detta fungerar inte. Den hittar alldrig nån som är inloggad.
2: myParam.Value = HttpContext.Current.User.Identity.Name.ToString
Blir alltid tomt och genererar felet:
Object reference not set to an instance of an object.
1. Vad för auth använder du? Forms? Windows?
2. Beror på att ingen är inloggad.
Om du använder FormsAuthentication så se till att du verkligen loggar på användaren. Tror det är där felet ligger.
Tips! När jag ser din kod verkar det lite onödigt att kolla om någon är inloggad via databas, det syns ju i alla fall på Request.IsAuthenticated. Eller har jag missat något?
2: Men på en sida kan jag köra
StrConv(HttpContext.Current.User.Identity.Name.ToString(), VbStrConv.ProperCase) o då funkar det bra. Så jag tror inte riktigt på att det inte för att ingen är inloggad.
Glömde en sak. Koden kollar inte om man är inloggad eller inte den kör ett SQL kommando som sätter en flagga så man kan köra tex en "Vem är inloggad just nu" sak.
264 ms totalt · 4 externa anrop · v20260731065814-full.0583408b