所以。ASP .NET MVC 4遠程數據庫上的鍵'attachdbfilename'的值無效
起初,我加入連接字符串到遠程服務器MSSQL Server 2008 R2中,10.50.1600:
<add name="MySQLConnection" connectionString="server=xxx.x.xx.xx;initial catalog=xxxxx;user id=sa;password=xxxxxxxxxxx;"/>
然後,我配置了在服務器端使用aspnet_regsql遠程數據庫在.NET 4.0中添加自定義成員(因爲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。
在我的例子中,你在哪看到attachdbfilename?我不使用它,我使用MSSQL – user1612334
我認爲他的意思是MySQLConnection,因爲它是我的,而不是MySQL。 – Gromer
Yeap,我測試過 - 但是,我改回到MySQLConnection,它仍然不起作用 – user1612334