是否可以设置 ASP.NET MVC 2 以使用 MySQL 数据库?
最佳答案
我假设您拥有 Visual Studio Professional 2008,可以访问 MySQL 服务器实例,并且具有中等到高级的开发经验。这可能适用于 VS2008 网络版,但完全不确定。
- 如果还没有,请安装 MySQL Connector for .NET (撰写本文时为 6.2.2.0)
- 可选:安装 MySQL GUI Tools
- 如果还没有,请安装 MVC 2 RTM ,或者更好的是,使用 Microsoft 的 Web Platform Installer . (更新:MVC 2 已经发布了很长一段时间)
- 创建一个空的 MySQL 数据库。如果您不想使用 MySQL root 用户帐户(不安全)访问您的应用程序,请创建一个用户帐户并分配适当的权限(不在本文的范围内)。
- 在 Visual Studio 中创建新的 MVC 2 应用程序
- 在 MVC 2 应用中,引用 MySql.Web.dll。它要么在您的 GAC 中,要么在 MySQL 连接器安装程序放置的文件夹中。
修改 web.config 的连接字符串部分:
<connectionStrings> <remove name="LocalMySqlServer"/> <add name="MySqlMembershipConnection" connectionString="Data Source=[MySql server host name]; userid=[user]; password=[password]; database=[database name];" providerName="MySql.Data.MySqlClient"/> </connectionStrings>
8.
修改 web.config 的成员资格部分:
<membership defaultProvider="MySqlMembershipProvider"> <providers> <clear/> <add name="MySqlMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.2.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="MySqlMembershipConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" autogenerateschema="true"/> </providers> </membership>
9.
修改 web.config 的角色管理器部分:
<roleManager enabled="true" defaultProvider="MySqlRoleProvider"> <providers> <clear /> <add connectionStringName="MySqlMembershipConnection" applicationName="/" name="MySqlRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.2.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" autogenerateschema="true"/> </providers> </roleManager>
10.
修改 web.config 的配置文件部分:
<profile> <providers> <clear/> <add type="MySql.Web.Security.MySQLProfileProvider, MySql.Web, Version=6.2.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" name="MySqlProfileProvider" applicationName="/" connectionStringName="MySqlMembershipConnection" autogenerateschema="true"/> </providers> </profile>
此时,您应该能够运行应用程序并在浏览器中显示默认的 ASP.NET MVC 2 主页。但是,最好先运行 ASP.NET Web 配置工具(在 Visual Studio 顶部菜单中:项目 -> ASP.NET 配置)。工具启动后,检查每个选项卡;没有错误 = 一切都好。
Nathan Bridgewater's blog 上的配置工具对于使这项工作发挥作用至关重要。荣誉,内森。在页面中间查找“配置工具”标题。
我在此处发布的 MySql.web.dll 上的公钥 token 不应很快更改。但是,如果您怀疑复制和粘贴错误的 token 字符串或其他原因,只需使用 Visual Studio 命令行运行:“sn -T [Path\to\your.dll]”以获得正确的公钥 token 。
你有它,在 MySQL 上运行的 ASP.NET MVC 2。干杯!
关于mysql - 如何使用 MySQL 设置 ASP.NET MVC 2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2512852/