MySQLデータベースで動作するようにASP.NETMVC2をセットアップすることは可能ですか?
2 に答える
Visual Studio Professional 2008を使用していて、MySQLサーバーのインスタンスにアクセスでき、中程度から高度な開発経験があることを前提としています。これはVS2008Webエディションで動作する可能性がありますが、まったく確実ではありません。
- まだインストールしていない場合は、MySQL Connector for .NET(この記事の執筆時点では6.2.2.0)をインストールしてください。
- オプション:MySQLGUIツールをインストールします
- まだインストールしていない場合は、MVC 2 RTMをインストールするか、MicrosoftのWebプラットフォームインストーラーを使用してください。(更新: MVC 2はかなり前からリリースされています)
- 空のMySQLデータベースを作成します。MySQLルートユーザーアカウント(安全でない)を使用してアプリケーションにアクセスしたくない場合は、ユーザーアカウントを作成し、適切な特権を割り当てます(この記事の範囲外)。
- VisualStudioで新しいMVC2アプリケーションを作成します
- MVC 2アプリで、MySql.Web.dllを参照します。これは、GACか、MySQLConnectorインストーラーが配置したフォルダーにあります。
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.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.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.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.NETMVC2ホームページをブラウザーに表示できるようになっているはずです。ただし、最初にASP.NET Web構成ツールを実行することをお勧めします(Visual Studioのトップメニュー:[プロジェクト]-> [ASP.NET構成])。ツールが起動したら、各タブを確認します。エラーなし=すべて良好。
Nathan Bridgewaterのブログにある構成ツールは、これを機能させるために不可欠でした。賞賛、ネイサン。ページの途中にある「構成ツール」の見出しを探します。
私がここに投稿したMySql.web.dllの公開鍵トークンは、すぐには変更されないはずです。ただし、コピーアンドペーストなどで不正なトークン文字列が疑われる場合は、VisualStudioコマンドラインを使用して「sn-T[Path\ to \ your.dll]」を実行し、正しい公開鍵トークンを取得します。
これで、MySQL上で実行されているASP.NETMVC2ができました。乾杯!
私は「10. web.config のプロファイル部分を変更します::」と信じています。
<profile>
<providers>
<clear /> ...
<add type="MySql.Web.Security.MySQLProfileProvider,......
type= である必要があります: type="MySql.Web.Profile.MySQLProfileProvider"
「MySql.Web.Security」でMySQLProfileProviderメソッドが見つからないためです。(ただし、.NET 4.0 ではバージョン 6.4.4 を使用)
少なくとも、構成済みのデータベースがない場合は、データベース テーブルを作成するための独自のクラスを作成する必要があります。ハラルド