Ik ga ervan uit dat je Visual Studio Professional 2008 hebt, toegang hebt tot een exemplaar van MySQL-server en matige tot geavanceerde ontwikkelervaring hebt. Dit KAN werken met de webeditie van VS2008, maar helemaal niet zeker.
- Als je dat nog niet hebt gedaan, installeer dan MySQL Connector for .NET (6.2.2.0 op het moment van schrijven)
- Optioneel:installeer MySQL GUI Tools
- Als je dat nog niet hebt gedaan, installeer dan MVC 2 RTM , of beter nog, gebruik Microsoft's Web Platform Installer . (UPDATE: MVC 2 is nu al geruime tijd uitgebracht)
- Maak een lege MySQL-database aan. Als u geen toegang wilt tot uw toepassing met het MySQL-rootgebruikersaccount (onveilig), maak dan een gebruikersaccount aan en wijs de juiste rechten toe (buiten het bestek van dit artikel).
- Maak een nieuwe MVC 2-toepassing in Visual Studio
- Verwijs in de MVC 2-app naar MySql.Web.dll. Het bevindt zich in uw GAC of in de map waarin het installatieprogramma van de MySQL Connector het heeft geplaatst.
-
Wijzig het gedeelte met verbindingsreeksen van uw 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.
Wijzig het lidmaatschapsgedeelte van uw 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.
Wijzig het rolbeheergedeelte van uw 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.
Wijzig het profielgedeelte van uw 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>
Op dit punt zou u de app moeten kunnen uitvoeren en de standaard ASP.NET MVC 2-startpagina in uw browser moeten laten verschijnen. Het kan echter een beter idee zijn om eerst de ASP.NET-webconfiguratietool uit te voeren (in de hoofdmenu's van Visual Studio:Project -> ASP.NET-configuratie). Zodra de tool is gestart, bekijk je elk van de tabbladen; geen fouten =alles goed.
De configuratietool op Nathan Bridgewater's blog was essentieel om dit werkend te krijgen. Hulde, Nathan. Zoek naar de kop 'Configuratietool' halverwege de pagina.
Het openbare sleuteltoken op de MySql.web.dll dat ik hier heb gepost, zou niet snel moeten veranderen. Maar als u vermoedt dat een slechte token-tekenreeks wordt gekopieerd en geplakt of wat dan ook, gebruik dan de Visual Studio-opdrachtregel om het volgende uit te voeren:"sn -T [Pad\naar\uw.dll]" om het juiste openbare sleuteltoken te krijgen.
Daar heb je het, ASP.NET MVC 2 draait over MySQL. Proost!