反序列化无法找到程序集

 IFormatter formatter = new BinaryFormatter();
 formatter.Binder = new UBinder();
 ClassMsg msg = (ClassMsg)formatter.Deserialize(mStream);

  

//解决“反序列化无法找到程序集”
    public class UBinder : SerializationBinder
    {
        public override Type BindToType(string assemblyName, string typeName)
        {
            Assembly ass = Assembly.GetExecutingAssembly();
            if (typeName.Contains("."))
            {
                typeName = "WinSocketServer" + typeName.Substring(typeName.IndexOf("."));
            }
            Type type = ass.GetType(typeName);
            return type;
        }
    }

  

posted @ 2016-04-26 15:37  马羊  阅读(243)  评论(0)    收藏  举报