nostromo ha scritto:
devi anche modificare e ricompilare il Membeship e Role Provider se cerchi trovi riferimenti sia nel blog che nel forum
ciao marco
Ti ringrazio per la sollecita(!) risposta.
Non ho trovato nulla effettuando una ricerca dove mi hai indicato.
Ho trovato la soluzione che segue ma non sono riuscito a portarla a termine.
Potresti essere così cortese da postarmi i link a cui fai riferimento??
Ti ringrazio.
Andrea
Supponiamo che avete realizzato un’efficientissima e bellissima webapp che utilizza i sopraelencati provider e che adesso vogliate pubblicarla sullo spazio che avete acquistato presso Aruba. Effettuate l’FTP dei file, caricate il database sul server Ms SQL di Aruba, fate le necessarie modifiche al web.config e provate a visualizzare il sito. Risultato? Un errore mai visto prima appare sul vostro schermo:
Could not find stored procedure ‘dbo.aspnet_CheckSchemaVersion’. Descrizione: Eccezione non gestita durante l’esecuzione della richiesta Web corrente. Per ulteriori informazioni sull’errore e sul suo punto di origine nel codice, vedere l’analisi dello stack.
Dettagli eccezione: System.Data.SqlClient.SqlException: Could not find stored procedure ‘dbo.aspnet_CheckSchemaVersion’. Cosa è successo? Nulla di irrecuperabile, ma abbastanza fastidioso. L’implementazione di Microsoft dei tre provider ha, sia nelle classi che nel codice SQL, “embeddato” il riferimento all’utente dbo, che sicuramente non è l’utente che Aruba vi ha fornito per accedere al loro server MS SQL. Come ovviare alla cosa allora? Basta seguire alcuni semplici passi:
* Scaricate da qui i sorgenti dei tre provider
* Rimuovete dai sorgenti tutti i riferimenti all’utente dbo con il semplice ma efficace Trova&Sostituisci
* Compilate i sorgenti così da avere a disposizione un nuovo assembly ovvero ProviderToolkitSampleProviders.dll
* Copiate l’assembly nella directory Bin della vostra webapp
* Nel web.config nella riga corrispondente alla definizione di ognuno dei tre provider sostituite il contenuto dell’attributo type con il seguente : “Microsoft.Samples.<Nome_della_classe_del_provider>, ProviderToolkitSampleProviders”
* Esportate gli script di viste e stored procedure, dal vostro db in locale, relative ai tre provider e rimuovete anche in questi script ogni riferimento all’utente dbo.
* Sostituite con questi nuovi script le viste e le stored procedure presenti sull’hosting di Aruba
* Non dimenticate di copiare i record contenuti nella tabella aspnet_SchemaVersions dal vostro db a quello su Aruba
Fatto tutto ciò potrete godervi la vostra applicazione web.