是否可以设置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 - 在IValueProvider上设置值
- 2. ASP.NET MVC 2 - 设置Html.Form的ID
- 3. ASP.NET MVC 2 jquery datepicker格式未设置
- 4. 使用ASP.NET MVC 3设置MySQL
- 5. 如何设置ASP.Net MVC路由参数
- 6. MVC 2 - 如何设置由ActionLink的
- 7. ASP.NET MVC 2移动设备
- 8. 设置功能NHibernate与asp.net的MVC
- 9. 如何设置RouteConfig在Asp.net MVC角js
- 10. 如何在asp.net mvc中设置Iframe src?
- 11. 如何在asp.net中设置httpheaders mvc
- 12. ASP.NET MVC 2 AJAX与jQuery的
- 13. 使用NServiceBus与Asp.Net MVC 2
- 14. 如何在Asp.Net MVC 2
- 15. 如何使用ASP.Net MVC 2
- 16. ASP.NET MVC 2 JSONP与MVC期货
- 17. 池与MySQL和ASP.NET MVC
- 18. ASP.NET身份2.0与ASP.NET MVC 2
- 19. ASP.NET MVC 3 - 设置路由
- 20. asp.net mvc html.password设置值
- 21. ASP.NET MVC IDENTITY_INSERT设置为OFF
- 22. 为ASP.NET MVC设置MbUnit
- 23. 如何设置螺栓CMS与MySQL?
- 24. ASP.Net MVC 2 Default.aspx
- 25. Asp.net MVC 2 CascadingDropDown
- 26. ASP.NET MVC 2 DisplayFor()
- 27. 如何在ASP.NET MVC 2的.aspx页面上为模型属性设置值?
- 28. 如何在ASP.NET MVC 2项目中以编程方式设置样式表?
- 29. ASP.Net MVC 2 - 如何设置客户端导航的取消按钮
- 30. 设计问题:EF4和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