そう。
最初に、接続文字列をリモート サーバー MSSQL Server 2008 R2、10.50.1600 に追加しました。
<add name="MySQLConnection" connectionString="server=xxx.x.xx.xx;initial catalog=xxxxx;user id=sa;password=xxxxxxxxxxx;"/>
次に、サーバー側の .NET 4.0 で aspnet_regsql を使用してそのリモート データベースを構成し、カスタム メンバーシップを追加します (inbuild は WSAT と連携したくないため)。
<membership
defaultProvider="SqlProvider"
userIsOnlineTimeWindow="20">
<providers>
<clear />
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="MySQLConnection"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="/" />
</providers>
</membership>
したがって、WSAT を使用してアプリケーションを構成できるようになりましたが、ログインまたは登録ページに入ることができず、エラーが発生します。
System.ArgumentException: Invalid value for key 'attachdbfilename'.
Line 32: using (var context = new UsersContext())
Line 33: {
Line 34: if (!context.Database.Exists())
Line 35: {
Line 36: // Create the SimpleMembership database without Entity Framework migration schema
解決済み:
問題はここにありました:
public class UsersContext : DbContext
{
public UsersContext()
: base("DefaultConnection")
{
}
public DbSet<UserProfile> UserProfiles { get; set; }
}
カスタム メンバーシップなどは必要ありません。接続文字列の現在の DefaultConnection 名を設定するか、ここで MySQLConnectionString に変更するだけです。