c# - 在二进制序列化期间更改程序集名称

标签 c# web-services serialization binary-data

在我提问之前,让我简要解释一下我的架构。我有一个调用 Web 服务并向其传递几项数据的客户端应用程序。 Web 服务使用此数据进行一些查找,然后使用 BinaryFormatter 将二进制序列化对象作为字节数组返回给客户端。然后客户端反序列化对象并使用它。我的问题是我必须重命名服务器用于新版本的程序集。这在客户端反序列化时导致了问题。我不能选择仅部署新客户端以便可以使用新的程序集名称,所以我的问题是,有没有办法可以更改在序列化期间写入的程序集名称。我知道如何使用 SerializationBinders 进行反序列化,但这并不能解决我的问题,因为这需要部署新的客户端。

我目前正在为 win 表单应用程序和 Web 服务使用 C# 2.0。

最佳答案

如果我使用 .NET 4,Thomas 的解决方案将是完美的。但是,.NET 2.0 不提供此功能。相反,我只是将 dll 重命名为原来的样子。我想最终重命名 dll,但此时我还没有找到一个可行的解决方案,我也不必向客户端部署一些东西。

关于c# - 在二进制序列化期间更改程序集名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4927160/

相关文章:

c# - 需要在没有导航属性的情况下在 Entity Framework 中做等效的 .Any

ruby-on-rails - Savon + Rails 2 如何修改XML的请求结构

c# - 使用带有 IDictionary<Mycustomclass, List<string>> 的自定义解析器的反序列化问题

c# - 获取 ASP.NET 开发服务器使用的所有端口的代码

c# - 有什么方法可以将类库函数转换成exe?

android - 自动完成下拉列表不会显示

java - 从 java 1.4 调用 .NET Web 服务

java - 使用 Jackson 进行非对称序列化和反序列化

c# - ObservableCollection 的 Windows 8 C# 序列化。出现错误 : System. InvalidOperationException

javascript - 在后面的代码中获取内部 html 值(C#)