我能够在下面执行以下操作。我正在运行针对 .Net Framework 4.0 的 VS2012.2、MVC4。我将它部署到我的托管服务提供商 (DiscountASP.Net) 的 .Net 4 服务器上。
不要添加MySQL.Data, MySQL.Data.Entities
,而是MySQL.Web
通过NuGet.
从 MySQL 站点下载 .Net 连接器。在发布这篇文章时,它是 MySQL.Data、MySql.Data.Entity 和 MySql.Web 的 6.6.5 版。如果您已经拥有它们,请NuGet
务必从包管理器中卸载它们。
手动将 .net 4 的 MySQL asm 引用添加到 MySQL 安装其 .net 连接器的项目中(我的在 .net 中C:\Program Files (x86)\MySQL\MySQL Connector Net 6.6.5\Assemblies\v4.0
)。请务必检查Copy Local
所有三个 asms。
在 web.config 中添加或修改以下内容:
在该<configuration><connectionStrings>
部分:
<add name="MyProviderDbConn" connectionString="server=mysql01.someurl.com;User Id=dbuser1;Pwd=ToManySecrets;Persist Security Info=True;database=MyDbSchemaName;Use Compression=True;port=3306" providerName="MySqlMembershipProvider" />
在该<configuration><system.web>
部分:
<membership defaultProvider="MySqlMembershipProvider">
<providers>
<clear />
<add name="MySqlMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.6.5.0, PublicKeyToken=c5687fc88969c44d" autogenerateschema="true" connectionStringName="MyProviderDbConn" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" applicationName="/" />
</providers>
</membership>