私は現在、Visual Studio 2010でWebアプリケーションプロジェクトを構築しています。最近までメンバーシップ、ユーザー、ロールなどのスキャフォールドコードを使用する必要はありませんでしたASPNETDB.mdfデータベースファイルに格納されます。私はVisual Studio Web Server、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 Serverは正常に動作します。
私は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
プロセスエクスプローラでdb名を検索し、使用中の場合はプロセスがオープンしていることを示します。 Visual Studioで開いている可能性があります.VS Webサーバーはまだ保持されている可能性があります。 –
私はドキュメント全体のフォルダを介してNETWORK SERVICEに「フルコントロール」を与えました。これは上記の問題を解決したようです。 「NT AUTHORITY \ NETWORK SERVERのログインに失敗しました」という別のエラーが表示されるようになりましたが、十分な別の問題のように別の質問が表示されます。 – Mabbage