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

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目标库版本信息

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

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

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

    mysql ado.net connector下载地址: http://dev.mysql.com/downloads/connector/net/ 选择版本: Generally Available ...

  2. MySql.Data.dll官网下载

    Mysql.Data.dll官网下载 在项目开发中链接MySQL数据库经常要用到Mysql.Data.dll,网上虽然有很多,但是还是比较信赖官网的 今天就从官网下载一次记录一下过程 1.下载地址 官 ...

  3. 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 其下载地址:ht ...

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

    我使用的这个Mysql.data.dll文件 web.config上面主要需要声明以下代码 <system.data> <DbProviderFactories> <ad ...

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

    .NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper 參考演示样例代码,例如以下所看到的: /// <summary> /// MySql ...

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

    这两天遇到log4net写日志到mysql数据库中,有时候在A项目中可以,有时候B项目就有问题,有时候测试环境没问题,到正式部署环境又出问题,经过两天的煎熬,终于理清楚了其中的头绪. 1.配置现状 c ...

  7. 【C#】使用MySql.Data.dll连接MySQL数据库

    准备工作 在Visual Studio中新建一个C#的控制台应用程序. 确保后台已经启用了MySQL57服务. 在MySQL的安装路径下找到DLL,默认位置是 C:\Program Files (x8 ...

  8. MySql.Data.dll 不支持输出参数

    insert INTO stu(name) VALUES('maimai'); set @ReturnValue=@@IDENTITY; string sql="insert INTO st ...

  9. Net连接mysql的公共Helper类MySqlHelper.cs带MySql.Data.dll下载

    MySqlHelper.cs代码如下: using System; using System.Collections.Generic; using System.Linq; using System. ...

随机推荐

  1. 信用算力基于 RocketMQ 实现金融级数据服务的实践

    微服务架构已成为了互联网的热门话题之一,而这也是互联网技术发展的必然阶段.然而,微服务概念的提出者 Martin Fowler 却强调:分布式调用的第一原则就是不要分布式. 纵观微服务实施过程中的弊端 ...

  2. Android多种方法显示当前日期和时间

    文章选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术.本文探讨Android显示当前日期和时间的方法. ...

  3. QML-关于Qt.rgba()颜色无法正常显示问题

    GitHub:八至 作者:狐狸家的鱼 本文链接:关于Qt.rgba()颜色的正确写法 当在正常给color属性写颜色的时候,用十六进制能正常显示,但是用Qt.rgba()时,颜色无法正常显示出来. 按 ...

  4. 【洛谷P2127】序列排序

    题目大意:给定一个长度为 N 的序列,序列中的数两两不相同,每次可以交换序列中任意两个数,代价为这两个数的和,问将序列调整为升序,最少的代价是多少. 题解:考虑这个问题的一个子问题,这个序列为 N 的 ...

  5. Python 3 入门,看这篇就够了

    文章目录 简介 基础语法 运算符 变量 数据类型 流程控制 迭代器 生成器 函数 自定义函数 参数传递 可更改与不可更改对象 参数 匿名函数 变量作用域 模块 面向对象 错误和异常 文件操作 序列化 ...

  6. Django(三)框架之第二篇

    https://www.cnblogs.com/haiyan123/p/7717788.html 一.知识点回顾 1.MTV模型 model:模型,和数据库相关的 template:模板,存放html ...

  7. SecureCRT或XShell软件

    SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件. Xshell 是一个强大的安全终端模拟软件,它支持SSH1 ...

  8. java统计指定目录中文件的个数和总的大小

    转: 统计指定目录中文件的个数和总的大小 package file; import java.io.File; import java.util.ArrayList; public class Fil ...

  9. NOIP 普及组 2012 寻宝(思维???)

    传送门 https://www.cnblogs.com/violet-acmer/p/9937201.html 题解: 一开始用暴力查找下一个要去的房间,超时了,emmmmm....... 然后,就稍 ...

  10. java键盘中输入q退出

    用 java.util.Scanner 如下 public static void main(String[] args) { while(true){ Scanner scan = new Scan ...