是否可以設置ASP.NET MVC 2與MySQL數據庫一起使用?如何設置ASP.NET MVC 2與MySQL?
回答
我假設你有Visual Studio Professional 2008,可以訪問MySQL服務器的實例,並且具有中等到高級的開發體驗。這可能會與VS2008 Web版一起工作,但不能確定。
- 如果你還沒有,(在這寫的時候6.2.2.0)安裝MySQL Connector for .NET
- 可選:安裝MySQL GUI Tools
- 如果你還沒有,安裝MVC 2 RTM,或者更好,使用微軟的Web Platform Installer。 (更新: MVC 2現已發佈相當一段時間)
- 創建一個空的MySQL數據庫。如果您不想使用MySQL root用戶帳戶(不安全)訪問您的應用程序,請創建一個用戶帳戶並分配適當的權限(超出本文的範圍)。
- 在Visual Studio中創建一個新的MVC 2應用程序
- 在MVC 2應用程序中,引用MySql.Web.dll。它將位於您的GAC中,或位於MySQL Connector安裝程序所在的文件夾中。
修改您的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>
修改你的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 Web配置工具可能更好一些(在Visual Studio頂級菜單中:Project - > ASP.NET Configuration)。工具啓動後,檢查每個選項卡;沒有錯誤=都很好。
配置工具Nathan Bridgewater's blog是實現此功能的關鍵。榮譽,內森。在頁面下半部分找到「配置工具」標題。
我在這裏發佈的MySql.web.dll上的公鑰標記應該不會很快改變。但是,如果您懷疑複製和粘貼等不良標記字符串,只需使用Visual Studio命令行運行:「sn -T [Path \ to \ your.dll]」以獲取正確的公鑰標記。
你有它,運行在MySQL上的ASP.NET MVC 2。乾杯!
我相信在「10.修改您的網站的個人資料部分。配置::」
<profile>
<providers>
<clear /> ...
<add type="MySql.Web.Security.MySQLProfileProvider,......
類型=必須是: 類型= 「MySql.Web.Profile.MySQLProfileProvider」
因爲在 「MySql.Web.Security」 我還沒有發現任何方法MySQLProfileProvider。 (但使用版本6.4.4。對於.NET 4.0)
而且至少,你必須創建自己的類來創建數據庫表,如果沒有準備好配置的數據庫。 哈拉爾
好注意。謝謝HL1234。我沒有檢查這個,但它也可能是一個錯字。但是,也許這是命名空間已經改變了。不確定。 – NovaJoe 2011-11-03 18:23:31
我需要進行此更改才能使其正常工作。 – AverageMarcus 2012-08-15 13:39:50
- 1. ASP.NET MVC 2 jquery datepicker格式未設置
- 2. ASP.NET MVC 2 - 在IValueProvider上設置值
- 3. ASP.NET MVC 2 - 設置Html.Form的ID
- 4. 使用ASP.NET MVC 3設置MySQL
- 5. 如何設置ASP.Net MVC路由參數
- 6. ASP.NET MVC 2移動設備
- 7. MVC 2 - 如何設置由ActionLink的
- 8. 如何在asp.net中設置httpheaders mvc
- 9. 如何設置RouteConfig在Asp.net MVC角js
- 10. 如何在asp.net mvc中設置Iframe src?
- 11. 設置功能NHibernate與asp.net的MVC
- 12. 如何在Asp.Net MVC 2
- 13. 使用NServiceBus與Asp.Net MVC 2
- 14. ASP.NET MVC 2 AJAX與jQuery的
- 15. 如何設置選擇二輸入默認值與asp.net的MVC
- 16. ASP.NET MVC 2 JSONP與MVC期貨
- 17. 池與MySQL和ASP.NET MVC
- 18. ASP.NET身份2.0與ASP.NET MVC 2
- 19. 如何在Spring3 MVC中設置與MySQL的JDBC連接?
- 20. Html.CheckBox設置[asp.net的MVC 4]
- 21. ASP.NET MVC 3 - 設置路由
- 22. 爲ASP.NET MVC設置MbUnit
- 23. asp.net mvc html.password設置值
- 24. ASP.NET MVC IDENTITY_INSERT設置爲OFF
- 25. Asp.net MVC動態設置TextArea
- 26. 如何設置默認控制器在asp.net MVC 4和MVC 5
- 27. ASP.Net MVC 2 Default.aspx
- 28. Asp.net MVC 2 CascadingDropDown
- 29. ASP.NET MVC 2 DisplayFor()
- 30. ASP.Net MVC 2 - 如何設置客戶端導航的取消按鈕
博客是完美的,並在FAQ中概述,但是,您需要在問題中提出您的問題,然後將答案發布爲答案。這允許人們+/-您的答案,併發布自己的答案。 – 2010-03-25 03:16:39
好帖子。我會說這適用於任何asp.net應用程序,而不僅僅是ASP.NET MVC。 – Craig 2010-03-25 03:18:19
接受我的編輯,將第一行後的所有內容都作爲答案發布,然後將其從問題中刪除。另外,不要因爲他沒有想出在SO上寫博客的方法,很多新手都認爲它違反了規則。他會想出來的 – 2010-03-25 03:24:18