一尘不染

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

mysql

是否可以将ASP.NET MVC 2设置为与MySQL数据库一起使用?


阅读 339

收藏
2020-05-17

共1个答案

一尘不染

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

  1. 如果尚未安装,请安装适用于.NET的MySQL Connector(在撰写本文时为6.2.2.0)
  2. 可选:安装MySQL GUI工具
  3. 如果尚未安装MVC 2 RTM,或者安装了更好的产品,请使用Microsoft的Web Platform Installer。( 更新: MVC 2现在已经发布了相当长的时间)
  4. 创建一个空的MySQL数据库。如果您不想使用MySQL根用户帐户(不安全)访问您的应用程序,请创建一个用户帐户并分配适当的特权(不在本文范围之内)。
  5. 在Visual Studio中创建一个新的MVC 2应用程序
  6. 在MVC 2应用程序中,引用MySql.Web.dll。它要么在您的GAC中,要么在MySQL Connector安装程序放置的文件夹中。
  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"/>
    

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)博客上
的配置工具对于使这项工作至关重要。内森(Nathan),在页面中间找到“配置工具”标题。

我在此处发布的MySql.web.dll上的公钥令牌不应很快更改。但是,如果您怀疑复制和粘贴过程中出现了错误的令牌字符串,则只需使用Visual
Studio命令行运行:“ sn -T [Path \ to \ your.dll]”即可获得正确的公共密钥令牌。

有了它,在MySQL上运行的ASP.NET MVC 2。干杯!

2020-05-17