¿Es posible configurar ASP.NET MVC 2 para trabajar con una base de datos MySQL?¿Cómo configuro ASP.NET MVC 2 con MySQL?
Respuesta
Supongo que tiene Visual Studio Professional 2008, tiene acceso a una instancia de servidor MySQL y tiene una experiencia de desarrollo de moderada a avanzada. Esto PUEDE funcionar con la edición web VS2008, pero no del todo seguro.
- Si no está, instale MySQL Connector for .NET (6.2.2.0 en el momento de este reportaje)
- Opcional: Instalar MySQL GUI Tools
- Si no está, instale MVC 2 RTM, o mejor aún, usa el Web Platform Installer de Microsoft. (ACTUALIZACIÓN: MVC 2 ahora se ha lanzado durante bastante tiempo)
- Crea una base de datos MySQL vacía. Si no desea acceder a su aplicación con la cuenta de usuario raíz de MySQL (insegura), cree una cuenta de usuario y asigne los privilegios apropiados (fuera del alcance de este informe).
- Crear una nueva aplicación MVC 2 en Visual Studio
- En la aplicación MVC 2, haga referencia a MySql.Web.dll. Estará en su GAC, o en la carpeta que el instalador de MySQL Connector lo puso.
Modificar la parte de las cadenas de conexión 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.
Modifique la parte del administrador de roles 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 La página de inicio de .NET MVC 2 aparece en su navegador. Sin embargo, puede ser una mejor idea ejecutar primero la herramienta de configuración web de ASP.NET (en los menús superiores de Visual Studio: Proyecto -> Configuración de ASP.NET). Una vez que la herramienta se inicia, revisa cada una de las pestañas; sin errores = todo bien
La herramienta de configuración en Nathan Bridgewater's blog fue esencial para que esto funcione. Kudos, Nathan. Busque el encabezado "Herramienta de configuración" en la mitad de la página.
El token de clave pública en MySql.web.dll que he publicado aquí no debería cambiar pronto. Pero en caso de que sospeche que una cadena de token incorrecta copie y pegue, o lo que sea, simplemente use la línea de comando de Visual Studio para ejecutar: "sn -T [Path \ to \ your.dll]" para obtener el token de clave pública correcto.
Ahí lo tienes, ASP.NET MVC 2 corriendo sobre MySQL. ¡Aclamaciones!
Gracias NovaJoe! Recientemente, he copiado esta herramienta en su propia página para que sea más fácil de encontrar. http://www.integratedwebsystems.com/tools-source/ – Nathan
¡Noice! Y gracias a TI, mi amigo. Fue una batalla cuesta arriba y tu herramienta lo hizo posible. Nathan por la victoria! – NovaJoe
¡Impresionante! ¡Creo que crearé una cuenta nueva en StackOverflow para votar nuevamente! ;) –
Creo en "10. Modifique la parte del 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 ningún método MySQLProfileProvider. (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
Buena nota. Gracias HL1234. No estoy verificando esto, pero también puede haber sido un error tipográfico. Sin embargo, tal vez sean los espacios de nombres los que hayan cambiado. No es seguro. – NovaJoe
Necesitaba hacer este cambio para que funcione. – AverageMarcus
- 1. Cómo configuro un proyecto ASP.NET MVC para trabajar con Boo
- 2. Uso de NServiceBus con Asp.Net MVC 2
- 3. ASP.NET MVC 2 problema con UpdateModel
- 4. asp.net mvc mvc 2 a 4
- 5. Uso de ASP.NET MVC 2 con Ninject 2 desde cero
- 6. membresía de ASP.NET MVC 3 con MySQL
- 7. ASP.NET MVC 2 - ¿Cómo uso DropDownListFor?
- 8. RadioButtonFor en ASP.NET MVC 2
- 9. Cómo validar dos propiedades con ASP.NET MVC 2
- 10. ¿Cómo consigo ninject 2.0 trabajando con asp.net mvc 2?
- 11. Cómo devolver View con QueryString en ASP.NET MVC 2?
- 12. Solicitar validación - ASP.NET MVC 2
- 13. Usando mysql con rieles, ¿cómo configuro esto?
- 14. Actualizar a ASP.NET MVC versión 2
- 15. ASP.NET MVC 2 - HTML.EditorFor() y Custom EditorTemplates
- 16. ASP.NET MVC 2 Preview 2: Áreas duplican controlador problema
- 17. ASP.NET MVC 2 - Prefijo de ViewModel
- 18. Problema CultureInfo con Modelbinding double en asp.net-mvc (2)
- 19. Asp.net MVC 2 almacenamiento en caché
- 20. ASP.net mvc 2 carpeta de carpetas estructura
- 21. Descarga de archivos en Asp.Net MVC 2
- 22. Html.LabelPara texto especificado [ASP.NET MVC 2]
- 23. ASP.NET MVC 2 parámetro de matriz
- 24. Autenticación de 2 pasos en ASP.Net MVC
- 25. ASP.NET MVC 2 - Html.DropDownListFor confusión con el modelo de vista
- 26. Múltiples entornos en ASP.Net MVC 2
- 27. Asp.Net MVC 2 desplegable Viendo System.Web.MVC.SelectListItem
- 28. ASP.NET-MVC 2 RC Las mejores características
- 29. Templating Html.DisplayFor() en ASP.NET MVC 2
- 30. xVal y ASP.Net MVC 2 AddModelStateErrors Problema
Blogging está perfectamente bien y se describe en las preguntas frecuentes, sin embargo, debe hacer su pregunta en la pregunta y luego publicar su respuesta como respuesta. Esto le permite a las personas +/- su respuesta y publicar sus propias respuestas también. –
Buena publicación. Yo diría que esto se aplica a cualquier aplicación asp.net, no solo a ASP.NET MVC. – Craig
Tome mi edición, tome todo después de la primera línea y publíquelo como respuesta y luego elimínelo de la pregunta. Además, no lo hagas simplemente porque no ha descubierto el enfoque de blogging en SO, muchos novatos piensan que está en contra de las reglas. Lo resolverá –