解决反序列化(Deserialize)无法找到程序集的错误
来源:互联网 发布:微信问卷调查软件 编辑:程序博客网 时间:2024/04/30 08:02
在使用.NET序列化对象时,会将程序集信息也包含进去。如果将序列化之后的字节数组通过网络(或其他传输方式)传输到另一个应用程序,再使用Deserialize反序列化还原对象时,可能(注意是可能)会出现无法找到程序集的错误。之所以说是可能,是因为如果两边的应用程序结构(命名空间、类结构、程序名、程序签名、程序版本等)相同,则不会出现该错误。下面说一个具体实例:
在客户端动态生成一条SELECT语句,将该语句发送到服务器执行,再将执行后的结果返回给客户端。(题外话:要实现本功能完全可以不使用序列化和反序列化的方法,本实例只是为了解释如何解决反序列化时出现的无法找到程序集的错误)
解决方案:
创建一个.NET类库,把要传输的对象做成一个结构或类放在类库(假设为ClassLib.dll)中。如:
然后在客户端程序(假设为Client.exe)中引用ClassLib.dll,创建Data对象,给Data.sql赋值,再调用Serialize方法将Data对象序列化成字节数组发送出去。参考代码:
在服务器端(假设为Server.exe)中也引用ClassLib.dll,调用Deserialize函数反序列化接收到的字节得到Data对象。参考代码:
至此序列化和反序列化完成。今后在库变换时,只要保证服务器和客户端的库一致,就可以了。
- 解决反序列化(Deserialize)无法找到程序集的错误
- 解决反序列化(Deserialize)无法找到程序集的错误
- 解决反序列化(Deserialize)无法找到程序集的错误
- 反序列化无法找到程序集
- 反序列化无法找到程序集
- 反序列化无法找到程序集
- 反序列化无法找到程序集(转载)
- C#反序列化无法找到程序集
- 序列化(Serialize)、反序列化(Deserialize)
- 序列化(Serialize)、反序列化(Deserialize)
- 解决gSOAP开发中的序列化和反序列化类型不匹配的问题(No Deserializer found to deserialize)
- C# Json反序列化 数据协定类型 无法反序列化 因为未找到必需的数据成员
- LeetCode 297. Serialize and Deserialize Binary Tree(二叉树的序列化和反序列化)
- 解决ASP.NET 请求数据太大500错误 JSON无法反序列化
- BinaryFormatter.Deserialize 不能反序列化其它Application或者assembly产生的序列化文件
- leetcode297:二叉树的序列化和反序列化(Serialize and Deserialize Binary Tree)
- 【二叉树】树的序列化和反序列化【449. Serialize and Deserialize BST】
- Tree-----297. Serialize and Deserialize Binary Tree(二叉树的序列化与反序列化)
- javascript处理单选按钮(radio)
- 怎样在报表中显示HTML/RTF内容系列之一-SSRS 2008中显示HTML内容
- UNIX下执行文件的减肥工具strip[转载]
- 关于使MVC.net的IIS配置问题
- 微软云计算遭质疑 Sidekick断线资料毁损谁来买单?
- 解决反序列化(Deserialize)无法找到程序集的错误
- 如何获取CPU使用率
- 【转】堆和栈的区别
- 美国《时代》杂志:十大最健康食品排行榜
- 【转】windows进程中的内存结构
- udf 编写
- SQL语法总结
- Office2007 PDF/XPS格式插件下载
- JDBC (java连接数据库)