Pregunta

¿Es posible configurar ASP.NET MVC 2 para trabajar con una base de datos MySQL?

¿Fue útil?

Solución

Estoy asumiendo que tiene Visual Studio Professional 2008, tener acceso a una instancia de servidor MySQL, y tienen moderada a la experiencia de desarrollo avanzado. Este trabajo puede con la edición VS2008 Web, pero no del todo seguro.

  1. Si usted no tiene, instalar MySQL Connector para .NET (6.2. 2.0 en el momento de este reportaje)
  2. Opcional: instalar MySQL GUI Herramientas
  3. Si usted no tiene, instalar MVC 2 RTM , o mejor aún, el uso instalador de plataforma web de Microsoft . ( ACTUALIZACIÓN: MVC 2 Ahora se ha lanzado desde hace bastante tiempo)
  4. Crear una base de datos MySQL vacía. Si no desea tener acceso a su aplicación con la cuenta de usuario root de MySQL (inseguro), cree una cuenta de usuario y asignar los privilegios adecuados (fuera del alcance de este reportaje).
  5. Crear una nueva aplicación MVC 2 en Visual Studio
  6. En la aplicación MVC 2, MySql.Web.dll referencia. Tampoco estará en el GAC, o en la carpeta que el instalador de MySQL Connector puso.
  7. Modificar porción de la conexión de las ramas de su 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.

    Modificar la parte de miembros de su 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.

    Modificar la porción administrador de funciones de su 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.

    Modificar la porción perfil de su 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>
    

En este punto, usted debería ser capaz de ejecutar la aplicación y tienen el defecto ASP.NET MVC página 2 Home están en su navegador. Sin embargo, puede ser una mejor idea para la primera carrera de la herramienta de configuración de ASP.NET Web (en los mejores menús de Visual Studio: Proyecto -> configuración de ASP.NET). Una vez que se inicie la herramienta, echa un vistazo a cada una de las pestañas; sin errores = todo bien.

La herramienta de configuración a blog de Nathan Bridgewater era esencial para conseguir este trabajo. Felicitaciones, Nathan. Busca la "Herramienta de configuración de" la partida a mitad de camino por la página.

La clave pública señal en las MySql.web.dll que he publicado aquí ¿No era necesario cambiar a corto plazo. Pero en caso de sospecha de una mala secuencia señal de copiar y pegar o lo que sea, sólo tiene que utilizar la línea de comandos de Visual Studio para ejecutar: "sn -T [Ruta \ a \ your.dll]" con el fin de obtener el símbolo de clave pública correcta.

Ahí lo tienes, ASP.NET MVC 2 corriendo sobre MySQL. Saludos!

Otros consejos

Me creer en "10. Modificar la porción perfil de su web.config ::"

<profile>
  <providers>         
    <clear />   ...
      <add type="MySql.Web.Security.MySQLProfileProvider,......

type = tiene que ser:            type = "MySql.Web.Profile.MySQLProfileProvider"

porque en "MySql.Web.Security" No he encontrado ninguna MySQLProfileProvider método. (Pero utilizando la Versión 6.4.4. Para .NET 4.0)

Y por lo menos, usted tiene que crear sus propias clases para crear las tablas de base de datos, si no hay una base de datos configurada listo. Harald

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top