Mysql C#Connector / Net MembershipProvider似乎是bug - 它是一个bug还是我做错了

时间:2012-09-03 22:03:15

标签: c# mysql membership-provider

我正在使用vs2010和.NET4学习ASP.NET MVC - 没有任何用于生产用途,仅供我个人使用。

我创建了一个默认的ASP.NET MVC,它带有预先存在的主页,关于页面,登录和注册页面。在尝试使用现有的登录和注册页面时,我(没有SQL服务器)将SQLMembershipProvider替换为MySQL.Web.Security中Connector / NET中的MySQLMembershipProvider。

然而,这并没有立即起作用,除了人们似乎对模式自动生成的常见问题(通过谷歌搜索解决)我还注意到其他两个问题。

第一个是如果未设置或仅作为空字符串,则PasswordStrengthRegularExpression将在MySQLMembershipProvider中导致Null Exception。我解决了这个问题,通过修改提供程序代码来修复发生问题的“if”语句。 (如果我记得,它只是检查字符串是不是空的,它没有检查字符串是否为空)

第二个是MySQLMembershipProvider有一个Initialize方法,从基类重写,必须在提供者的每个实例化时调用。此方法仅在第一次实例化时调用,但之后不再调用(通过逐步执行代码和使用断点来确定)。每个页面加载时,提供程序似乎都会实例化一次。

我的解决方案(不是最好的)一直是修改MySQLMembershipProvider来创建静态变量来存储调用Initialize的参数,以及一个变量来存储对象是否已被初始化。然后我在每个其他方法的开头调用Initialize方法。如果对象已经初始化,则修改Initialize方法以立即返回。

我的查询是这样的:MySQLMembershipProvider是否存在缺陷,因此我所描述的问题是错误,或者我误解了某些内容而没有正确使用MySQLMembershipProvider?

N.B。如果你想查看代码,请告诉我哪些位是90%的自动生成或可从mysql开发站点获得的源代码。有很多。

0 个答案:

没有答案