mysql - 如何使用 MySQL 设置 ASP.NET MVC 2?

标签 mysql asp.net-mvc asp.net-membership mysql-connector

是否可以设置 ASP.NET MVC 2 以使用 MySQL 数据库?

最佳答案

我假设您拥有 Visual Studio Professional 2008,可以访问 MySQL 服务器实例,并且具有中等到高级的开发经验。这可能适用于 VS2008 网络版,但完全不确定。

  1. 如果还没有,请安装 MySQL Connector for .NET (撰写本文时为 6.2.2.0)
  2. 可选:安装 MySQL GUI Tools
  3. 如果还没有,请安装 MVC 2 RTM ,或者更好的是,使用 Microsoft 的 Web Platform Installer . (更新:MVC 2 已经发布了很长一段时间)
  4. 创建一个空的 MySQL 数据库。如果您不想使用 MySQL root 用户帐户(不安全)访问您的应用程序,请创建一个用户帐户并分配适当的权限(不在本文的范围内)。
  5. 在 Visual Studio 中创建新的 MVC 2 应用程序
  6. 在 MVC 2 应用中,引用 MySql.Web.dll。它要么在您的 GAC 中,要么在 MySQL 连接器安装程序放置的文件夹中。
  7. 修改 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/

相关文章:

java - 如何使用hibernate动态添加列

c# - ASP.NET 中的自定义角色

c# - 新站点创建和安全/身份验证——我应该使用 ASP.net Membership Provider 吗?

c# - Membership.GetUser() 使用 Guid

MYSQL存储过程从日期创建动态表

mysql - 有没有办法在不从数据库收集数据帧的情况下使用 dplyr::bind_rows ?

php - 在这种情况下使用什么 mysql 表结构

.net - 替代在 ASP.Net MVC View 中使用 OnLoad 事件?

c# - 如何根据用户输入 mvc5 设置 <div> 标签的样式

c# - 基本 ASP.NET MVC 3 查询