ASP.NET MVC4 アプリでメンバーシップを設定しているので、ソリューションを開き、そこから [プロジェクト] メニューの [ASP.NET 構成] Web サイト オプションを開きます。これにより、ASP.NET 構成ツールが開き、ユーザーを作成/変更/削除できます。私が見つけたのは、ユーザーを作成すると、Webホスティング会社でホストされている別のデータベースを指すようにweb.configで具体的に設定すると、ローカルデータベースにユーザーが作成されることです。machine.config で定義され<remove name="LocalSqlServer" />
ている接続を削除します。
私のアプリの web.config の接続文字列は次のとおりです。
<remove name="LocalSqlServer" />
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=cp.speedwell.arvixe.com; Initial Catalog=*********; User ID=********; Password=********;" />
これが、私の Web ホスティング会社のデータベース構造です。ご覧のとおり、aspnet_ テーブルはすべて作成済みです。
[ASP.NET 構成] タブで [プロバイダー] をクリックすると、次のプロバイダーのリストが表示されます。
DefaultMembershipProvider は、Web ホスティング会社でホストされているデータベースへの接続文字列である「DefaultConnection」を指しています。「テスト」をクリックすると、すぐに次のように表示されます。
最後に、[セキュリティ] をクリックすると、次のメッセージが表示されます (接続文字列から LocalSqlServer を削除したことに注意してください)。
私が間違っていることはありますか?
アップデート
web.config の Membership、Profile、RoleManager、および SessionState セクションは次のとおりです。
<profile defaultProvider="DefaultProfileProvider">
<providers>
<add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
</providers>
</profile>
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<add connectionStringName="DefaultConnection" enablePasswordRetrieval="false"
enablePasswordReset="true" requiresQuestionAndAnswer="false"
requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/" name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="DefaultRoleProvider">
<providers>
<add connectionStringName="DefaultConnection" applicationName="/"
name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</roleManager>
<sessionState mode="InProc" customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
</providers>
</sessionState>