Как мне настроить ASP.NET MVC 2 с MySQL? - PullRequest
27 голосов
/ 25 марта 2010

Можно ли настроить ASP.NET MVC 2 для работы с базой данных MySQL?

Ответы [ 2 ]

36 голосов
/ 25 марта 2010

Я предполагаю, что у вас Visual Studio Professional 2008, вы имеете доступ к экземпляру сервера MySQL и имеете опыт разработки от среднего до продвинутого. Это МОЖЕТ работать с веб-версией VS2008, но не совсем точно.

  1. Если нет, установите MySQL Connector для .NET (6.2.2.0 на момент написания этой статьи)
  2. Необязательно: установите MySQL GUI Tools
  3. Если вы этого не сделали, установите MVC 2 RTM или, что еще лучше, воспользуйтесь установщиком веб-платформы Microsoft . ( ОБНОВЛЕНИЕ: MVC 2 уже давно выпущен)
  4. Создать пустую базу данных MySQL. Если вы не хотите получать доступ к своему приложению с учетной записью root-пользователя MySQL (небезопасно), создайте учетную запись пользователя и назначьте соответствующие привилегии (выходящие за рамки данной статьи).
  5. Создание нового приложения MVC 2 в Visual Studio
  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"/>
      </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 (в верхних меню Visual Studio: Проект -> Конфигурация ASP.NET). Как только инструмент запустится, проверьте каждую из вкладок; ошибок нет = все хорошо.

Инструмент настройки в Блог Натана Бриджуотера был необходим для того, чтобы это работало. Слава Натану. Найдите «Инструмент настройки», который находится на полпути вниз по странице.

Токен открытого ключа на MySql.web.dll, который я здесь разместил, не должен изменяться в ближайшее время. Но если вы подозреваете, что неверная строка токена копируется и вставляется или что-то еще, просто используйте командную строку Visual Studio для запуска: «sn -T [Path \ to \ your.dll]», чтобы получить правильный токен открытого ключа.

Там у вас это есть, ASP.NET MVC 2 работает поверх MySQL. Ура!

1 голос
/ 03 ноября 2011

Я верю в "10. Измените часть профиля вашего web.config ::"

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

type = должно быть: тип = "MySql.Web.Profile.MySQLProfileProvider"

потому что в "MySql.Web.Security" я не нашел ни одного метода MySQLProfileProvider. (но с использованием версии 6.4.4. для .NET 4.0)

И, по крайней мере, вам нужно создавать свои собственные классы для создания таблиц базы данных, если нет готовой настроенной базы данных. Harald

...