Attualmente sto creando un progetto di applicazione Web in Visual Studio 2010 e, fino a poco tempo fa, non ho avuto bisogno di utilizzare il codice scaffolded per soci, utenti e ruoli ecc. memorizzato nel file di database ASPNETDB.mdf. Ho eseguito il progetto su Visual Studio Web Server, IIS Express (da Visual Studio) e anche su IIS7.5 senza problemi.Tentativo di collegare un database con nome automatico per il file .mdf non riuscito
Tuttavia, ora ho bisogno di incorporare Gli account utente e quando uso il codice di ponteggi per il login, ottengo un errore del server affermando:
Un tentativo di collegare un database di auto-nome per il file C: \ Utenti \ Utente \ Documenti \ COMP6059 \ PomumV2 \ PomumV2 \ App_Data \ aspnetdb.mdf non riuscito. Esiste un database con lo stesso nome oppure il file specificato non può essere aperto oppure si trova nella condivisione UNC.
Questo errore si verifica solo quando si utilizza il server Web IIS Express o IIS7.5. Il server Web di Visual Studio funziona correttamente.
Ho seguito le istruzioni da http://support.microsoft.com/?kbid=2002980 inutilmente.
Qui di seguito è la mia stringa di connessione per il database:
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
L'errore si verifica nella seguente riga del file AccountController.cs
(che viene generato automaticamente)
... if (Membership.ValidateUser(model.UserName, model.Password)) { ...
ho letto da qualche parte che Potrei aver bisogno di spostare il database in SQL Server Management Studio e quindi collegare Visual Studio tramite questo, ma non ero in grado di accedere al database.
Voglio che sia in grado di funzionare su IIS7.5. Qualcuno ha qualche idea su come risolvere questo problema?
I gruppi Everyone e il SERVIZIO DI RETE hanno il controllo completo sulla directory App_Data ma continuano a ottenere la stessa cosa. Abbastanza sicuro che non venga utilizzato da nessun altro server web. Ottenuto il process explorer, ma non sono sicuro di cosa sto cercando. – Mabbage
cerca il nome db in Process Explorer e se è in uso mostrerà il processo che lo ha aperto. potrebbe essere aperto in Visual Studio, il server Web VS potrebbe ancora tenere premuto, ecc. –
Ho dato il "pieno controllo" al SERVIZIO DI RETE sulla mia intera cartella Documenti e questo sembra aver risolto il problema precedente. Mi viene ora presentato un altro errore relativo a "accesso non riuscito per NT AUTHORITY \ NETWORK SERVER", ma si porrà come un'altra domanda in quanto sembra un problema sufficientemente distinto. – Mabbage