我目前在Visual Studio 2010中構建一個Web應用程序項目,直到最近,還沒有必要使用成員,用戶和角色等的腳手架代碼存儲在ASPNETDB.mdf數據庫文件中。我一直在Visual Studio Web服務器上運行該項目,IIS Express(從Visual Studio)以及IIS7.5都沒有問題。嘗試爲.mdf文件附加一個自動命名的數據庫失敗
不過,我現在需要把用戶帳戶,當我使用的腳手架代碼登錄,我得到了一個服務器錯誤,指出:
試圖附加的文件C自動命名的數據庫: \ Users \ User \ Documents \ COMP6059 \ PomumV2 \ PomumV2 \ App_Data \ aspnetdb.mdf 失敗。一個名稱相同的數據庫存在,或者 指定的文件無法打開,或者它位於UNC共享上。
只有當我使用IIS Express或IIS7.5 Web服務器時纔會出現此錯誤。 Visual Studio Web服務器正常工作。
我遵循http://support.microsoft.com/?kbid=2002980的指示無濟於事。
下面是數據庫我的連接字符串:
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
在AccountController.cs
文件的下面一行(其中生成自動)
... if (Membership.ValidateUser(model.UserName, model.Password)) { ...
我沒地方讀發生的錯誤我可能需要將數據庫移動到SQL Server Management Studio中,然後通過它連接Visual Studio,但我無法登錄到數據庫。
我希望這能夠在IIS7.5上運行。有沒有人對如何解決這個問題有任何想法?
Everyone和NETWORK SERVICE組完全控制着App_Data目錄,但我仍然得到同樣的結果。相當肯定它沒有被任何其他Web服務器使用。掌握了進程管理器,但不知道我在找什麼。 – Mabbage 2012-01-05 18:59:56
在進程資源管理器中搜索數據庫名稱,如果正在使用它,它將顯示已打開的進程。它可以在Visual Studio中打開,VS web服務器仍然可以保留,等等。 – 2012-01-05 19:46:35
我已經對整個Documents文件夾中的NETWORK SERVICE給出'完全控制',並且似乎解決了上述問題。我現在又出現了另一個關於'NT AUTHORITY \ NETWORK SERVER登錄失敗'的錯誤,但應該提出另一個問題,因爲它似乎是一個單獨的問題。 – Mabbage 2012-01-05 19:54:39