335 messaggi dal 10 marzo 2013
Ok, con il db non lavoro mai direttamente su quello di sviluppo, avrei panico solo a pensarci. A questo punto mi resta solo da studiarci sopra, sperando che il server dove gira sia abbastanza aggiornato.
Grazie 1000 ancora
11.724 messaggi dal 09 febbraio 2002
Contributi
Ok, ottimo.


sperando che il server dove gira sia abbastanza aggiornato.

Non devi sperare, devi accertartene. Perché se scopri che il server non è aggiornato devi pretendere, per la sicurezza delle tue applicazioni, che venga aggiornato. Oppure cambiare provider.

ciao,
Moreno

Enjoy learning and just keep making
335 messaggi dal 10 marzo 2013
E' aggiornato al framenetwork 4.5, se non ho capito male dovrebbe bastare. Ora devo solo aggiornare la mia applicazione che nasce con un 4.0, anche li da quello che ho letto mi è sembrato di capire che non ci siano problemi, ma ho un po di fifa, speriamo bene.
Grazie per i suggerimenti.
335 messaggi dal 10 marzo 2013
Ciao
Ho iniziato a sperimentare Identity.
Primo dubbio: sto seguendo un tutorial giusto per capire meglio e, mi sono gia incagliato nella prima fase.
Ho iniziato dalla creazione del webform per la registrazione degli utenti, il tutto è andato buon fine, se non per il fatto che non trovo le tabelle dove aggiunge gli utenti.
Non le vedo ne nel mio DB, non ne vedo neppure uno nuovo.
Posto il codice usato.
Altra cosa: il tutorial è per c#, per VB.net non ho trovato nulla, dunque sto convertendo C# utilizzando un convertitore.
Grazie 1000

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Register.aspx.vb" Inherits="Register" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body style="font-family: Arial, Helvetica, sans-serif; font-size: small">
    <form id="form1" runat="server">
        <div>
            <h4 style="font-size: medium">Register new user</h4>
            <hr />
            <p>
                <asp:Literal runat="server" ID="StatusMessage"/>          
            </p>
        </div>
        <div style="margin-bottom:10px">
            <asp:Label runat="server" AssociatedControlID="UserName">User Name</asp:Label>
        </div>
        <div>
            <asp:TextBox runat="server" ID="UserName" />
        </div>
        <div style="margin-bottom:10px">
            <asp:label runat="server" AssociatedControlID="Password" >Password</asp:label>
        </div>
        <div>
            <asp:TextBox runat="server" ID="Password" TextMode="Password" />
        </div>
        <div style="margin-bottom:10px">
        <asp:Label runat="server" AssociatedControlID="ConfirmPassword">Confirm Password</asp:Label>
            </div>
        <div  style="margin-bottom:10px">
        <asp:TextBox runat="server" ID="ConfirmPassword" TextMode="Password"/>
            </div>
        <div>
            <asp:Button runat="server" OnClick="CreateUser_click" Text="Register" />
        </div>
    </form>
</body>
</html>



Imports Microsoft.AspNet.Identity
Imports Microsoft.AspNet.Identity.EntityFramework
Imports System
Imports System.Linq

'Namespace WebFormsIdentity

Partial Class Register
Inherits System.Web.UI.Page

Protected Sub CreateUser_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim userStore = New UserStore(Of IdentityUser)()
Dim manager = New UserManager(Of IdentityUser)(userStore)
Dim User = New IdentityUser() With {
.UserName = UserName.Text
}
Dim Result As IdentityResult = manager.Create(User, Password.Text)

If Result.Succeeded Then
StatusMessage.Text = String.Format("User {0} was created successfully", UserName)
Else
StatusMessage.Text = Result.Errors.FirstOrDefault()
End If

End Sub

End Class
'End Namespace

11.724 messaggi dal 09 febbraio 2002
Contributi
Ciao,
ok, bravo per aver intrapreso la strada di Identity. Hai avuto qualche tipo di problema nell'usare la tua applicazione su .NET 4.5?


Non le vedo ne nel mio DB, non ne vedo neppure uno nuovo.

Ok, fammi capire bene. La creazione del nuovo utente va a buon fine? Cioè vedi apparire "User Mario was created successfully"?

Se sì, vuol dire che le tabelle sono state create, però in un database diverso dal tuo. Prova a vedere se il file del database è stato creato sotto /App_Data.
Se è così, vuol dire che non hai impostato la connection string al tuo database su ASP.NET Identity. E quindi lui sta usando un altro database che si crea al volo.

La connection string gliela puoi indicare qui, nel punto in cui definisci il tuo ApplicationDbContext
Public Class ApplicationDbContext
    Inherits IdentityDbContext(Of ApplicationUser)
    Public Sub New()
        MyBase.New("DefaultConnection", throwIfV1Schema:=False)
    End Sub

    Public Shared Function Create() As ApplicationDbContext
        Return New ApplicationDbContext()
    End Function
End Class

Come vedi lì, c'è scritto "DefaultConnection", che è il nome della connection string che deve esistere nel web.config. Ecco il mio. Sostituisci la connection string con quella del tuo database.
  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-WebApplication8-20190413104117.mdf;Initial Catalog=aspnet-WebApplication8-20190413104117;Integrated Security=True"
      providerName="System.Data.SqlClient" />
  </connectionStrings>



Questo è codice che ho preso dal template di Visual Studio, quindi ricordati che puoi avere esempi in VB.NET semplicemente creando una nuova applicazione ASP.NET 4.5 con autenticazione impostata su "Account utente individuali".

ciao,
Moreno
Modificato da BrightSoul il 13 aprile 2019 22:50 -

Enjoy learning and just keep making
335 messaggi dal 10 marzo 2013
Ciao
Per ora sembra di no nessun problema nel trasferire l'applicazione da 4.0 a 4.5.
sto avendo problemi pero a capire identity.
La creazione del nuovo utente va a buon fine, non riesco a capire dove è finito il db.
Nella cartella app_data e' presente un db ma non riesco ad aprirlo in nessun modo.
La connection string dell'applicazione punta gia sul mio db, a questo punto dovrei cambiare solo il context?
335 messaggi dal 10 marzo 2013
Questa parte l'ho inserita manualmente, spero sia corretto.
Ho un errore: mi dice ApplicationUser non definito, cosa sto sbagliando?
Neppure l'ombra del db

Public Class ApplicationDbContext
    Inherits IdentityDbContext(Of ApplicationUser)
    Public Sub New()
        MyBase.New("DefaultConnection", throwIfV1Schema:=False)
    End Sub

    Public Shared Function Create() As ApplicationDbContext
        Return New ApplicationDbContext()
    End Function
End Class
11.724 messaggi dal 09 febbraio 2002
Contributi

Questa parte l'ho inserita manualmente, spero sia corretto.

Probabilmente il tutorial che stai seguendo ti ha già fatto inserire una classe che deriva da IdentityDbContext. Perciò non devi reinserire anche il mio esempio.

Puoi postare il link al tutorial che hai trovato, così ti posso seguire meglio?


Nella cartella app_data e' presente un db ma non riesco ad aprirlo in nessun modo.

Bene, è un file .mdf per caso? Se sì, da Visual Studio, nel pannello Solution Explorer, dovresti riuscire a fare doppioclick sul file per aprirlo.
Se da Visual Studio non riesci a vedere il file del database, clicca il bottoncino "Show all files" che vedi qui.
https://i.stack.imgur.com/g5PGw.jpg

ciao,
Moreno
Modificato da BrightSoul il 14 aprile 2019 20:41 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.