Silverlight用户无法注册之MySql.Data.dll不一致

本篇博文记录本人解决一个"用户无法注册"的问题的过程

1 问题描述:

用户可以删除;但不能注册,也不能修改权限:

图 1用户注册失败

图 2修改用户权限出错

2 解决过程

1)粗暴方法:直接替换正确的工程

我将一个正确的Access和DataService 工程替换掉原来出错的Access和DataService,依然出错。甚至,我将UserManage和DataAccessSilverlight两个工程一起替换,依然不起作用。

图 3被替换掉的几个工程(这几个工程与用户管理相关)

2)修改端口号

鄙人曾经使用新的端口号发布DataService工程,也同样不起作用:

图 4创建新的端口号

3)替换数据库

我甚至想到,有可能是数据库出现了问题,所以我连数据库也重新替换一个正确的,问题依然存在

4)使用测试数据在DataService内调试

上面提到的三种方法都是治标不治本。最根本的方法还是要调试服务本身。

我曾经想到用IE的开发者工具可以捕获请求和回应的过程,但我无法理解其中的具体过程,而且也看不出问题。所以这条路也行不通。

最终还是要到DataService工程下调试。

首先需要看一下注册用户的网页函数定义:

图 5注册用户函数

这个函数的参数的类型是一个自定义的类,而不是基本数据类型,所以无法使用参数调试。如下图:

图 6注册用户函数的调用

为了解决这个问题,我们可以写一个测试函数:

图 7测试函数

?

通过跟踪测试函数,发现问题出在这里:cmd无法转化为MySqlCommand,cmd转化之后为null

图 8问题错在:cmd无法转化为MySqlCommand

我恍然大悟,应该是MySql.Data.dll的版本号问题。后来检查,发现这个工程下面引用了

C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.0

这个路径下的MySql.Data.dll,其版本信息为:

图 9默认库版本信息

而正确的版本是:

图 10目标库版本信息

找到问题的原因之后,重新找到目标库,重新引用,即可以解决问题。

时间: 2024-10-20 04:02:14

Silverlight用户无法注册之MySql.Data.dll不一致的相关文章

关于Linux和Windows下部署mysql.data.dll的注册问题

mysql ado.net connector下载地址: http://dev.mysql.com/downloads/connector/net/ 选择版本: Generally Available Releases(1)是发布版(bug什么的较少的版本吧),而Development Releases(2)是开发版 我们采用1版本 Windows (x86, 32-bit), MSI Installer 该版本是window下的安装版,如果你安装了这个版本的话,在本机调试的时候可以不用再次注册

C#调用MySQL数据库(使用MySql.Data.dll连接)mysql-connector-net-6.10.4.msi

下载地址:http://dev.mysql.com/downloads/connector/net/ 安装指导 1.安装:mysql-connector-net-6.10.4.msi 其下载地址:http://dev.mysql.com/downloads/connector/net/ 在Windows10 操作系统安装mysql-connector-net-6.10.4.msi 默认是安装在C盘: 安装完后在应用工程中引用组件MySql.Data.dll. 然后在应用工程中引用组件:MySql

ASP.net连接mysql数据库(使用MySql.Data.dll)

以前用ASP.net做web网站时用的都是sqlserver 数据库,也没有了解用mysql如何连接,遂今天试了下,多余就不说了,直接上步骤了. 首先我采用的是MySql.Data.dll这种方式连接数据库,我把放在百度云上了,大家可以下载:http://pan.baidu.com/s/1o78bql0 mysql的安装我就不多说了,傻瓜式安装即可,这里推荐一个可视化工具 可以方便看到数据库里的表:为了简单测试我就把数据库ll表里放了一个字段date 接下来,在ASP.net项目中右击添加MyS

.NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper

.NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper 参考示例代码,如下所示: /// <summary> /// MySql 数据库操作类 /// </summary> public class MySqlHelper { #region MysqlConnection private static MySql.Data.MySqlClient.MySqlConnection _mysqlConnection; /// <su

log4net引用了Mysql.Data.dll,但是就是不能写到mysql数据库的解决办法

这两天遇到log4net写日志到mysql数据库中,有时候在A项目中可以,有时候B项目就有问题,有时候测试环境没问题,到正式部署环境又出问题,经过两天的煎熬,终于理清楚了其中的头绪. 1.配置现状 config文件中log4net配置节: <!--以下是log4net配置--> <log4net> <root> <level value="ALL" /> <appender-ref ref="AdoNetAppender&

使用Mysql.data.dll文件在服务器上运行访问Mysql

我使用的这个Mysql.data.dll文件 web.config上面主要需要声明以下代码 1 <system.data> 2 <DbProviderFactories> 3 <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient1" description=".Net Framework Data Provider for MySQL" t

MySql.Data.dll的版本

在.Net下访问Mysql,先是用6.4.4,老有问题,也不知道哪个版本可以用,查询官网 https://dev.mysql.com/doc/connector-net/en/connector-net-versions.html 新版本基本都不支持了,旧版本 所以,旧版本能用的最新dll为6.7,在csdn下载,测试可行. 下载 原文地址:https://www.cnblogs.com/jetz/p/8442259.html

Linux安装MySql.Data for mono

wget http://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-6.8.3-noinstall.zipunzip mysql-connector-net-6.8.3-noinstall.zip # Rename Files to Linux$ mv v2.0/mysql.data.cf.dll v2.0/MySql.Data.CF.dll$ mv v2.0/mysql.data.dll v2.0/MySql.Da

【C#】图解如何添加引用using MySql.Data.MySqlClient;

使用C#连接MySQL时,经常会用到命名空间using MySql.Data.MySqlClient; 这说明VS中没有添加引用,解决方法如下: 1,下载MySQL.Data.dll,http://down7.pc6.com/xy3/MySqlData.zip 2,将其存放到Windows/System32(或者SysWOW64,针对64位系统) 3,在VS中添加引用,如下图所示,添加引用->浏览到MySQL.Data.dll存放路径 4,问题解决 转自:https://blog.csdn.ne