Web サイトに参加する人々に役割を割り当てるために、以下の静的 ROLES クラスへの参照を追加しました。コードをテストしたところ、JOIN ASP.Net コントロールのボタンを押すと、アプリケーションがハングしました。もちろん、問題を見つけるためにすぐにデバッグを試みましたが、SQL Express ASPNETDB.mdf にアクセスできなくなりました。エラーは以下のとおりです。前もって感謝します。
**The code-behind in the Join.aspx file:**
public partial class Join : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
MembershipUser loggedIn = Membership.GetUser();
if (loggedIn == null)
{
return;
}
else
{
Session["userName"] = loggedIn.UserName;
Roles.AddUserToRole(loggedIn.ToString(), "MEMBER");
}
}
}
エラー メッセージ:ユーザーの既定のデータベースを開けません。ログインに失敗しました。ユーザー「SFP\Susan」のログインに失敗しました。
ウェブ構成:
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<appSettings>
<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" />
</appSettings>
<system.webServer>
<handlers>
<remove name="ChartImageHandler" />
<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST"
path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</handlers>
</system.webServer>
<system.web>
<authorization>
<allow roles="ADMIN" />
<allow roles="MEMBER" />
<allow roles="GUEST" />
<allow roles="RESTAURANT" />
</authorization>
<roleManager enabled="true" />
<authentication mode="Forms" />
<httpHandlers>
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
validate="false" />
</httpHandlers>
<pages>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting"
assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</controls>
</pages>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<connectionStrings>
<add name="FCGuideEntities" connectionString="metadata=res://*/FCGuide.csdl|res://*/FCGuide.ssdl|res://*/FCGuide.msl;provider=System.Data.SqlClient;provider connection string="data source=.;attachdbfilename=|DataDirectory|\FCGuide.mdf;integrated security=True;user instance=True;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
スタック トレース
ユーザーの既定のデータベースを開けません。ログインに失敗しました。ユーザー「SFP\Susan」のログインに失敗しました。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.Data.SqlClient.SqlException: ユーザーの既定のデータベースを開けません。ログインに失敗しました。ユーザー「SFP\Susan」のログインに失敗しました。
ソース エラー:
48 行目: restCity4.Text = featuringList4[0].CITY.CITY_NAME; 行 49: 行 50: MembershipUser loggedIn = Membership.GetUser(); 51行目: if (loggedIn == null) 52行目: {
ソース ファイル: H:\FCGuide\FCGuide\default.aspx.cs 行: 50
スタックトレース:
[SqlException (0x80131904): ユーザーの既定のデータベースを開けません。ログインに失敗しました。ユーザー「SFP\Susan」のログインに失敗しました。 Run(RunBehavior runBehavior、SqlCommand cmdHandler、SqlDataReader dataStream、BulkCopySimpleResultSet bulkCopyHandler、TdsParserStateObject stateObj) +2275 System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +35 System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo、文字列 newPassword、ブール値の ignoreSniOpenTimeout、TimeoutTimer タイムアウト、SqlConnection owningObject) +183 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo、