日期:2014-05-17  浏览次数:20867 次

C# C/S应用程序 反序列化时出错 错误源是mscorlib
服务器可以成功的反序列化客户端发过来的User对象,但是反序列化ScanfAppTaskInfo对象时提示:输入流是无效的二进制格式,其 中User对象和ScanfAppTaskInfo对象定义在了同一个ClassLibrary中,并且生成的ClassLibrary.dll文件客户 端和服务器同时都引用了,定义User类和ScanfAppTaskInfo类的时候也都同时加上了[Serializable],序列化和反序列化 User对象和ScanfAppTaskInfo对象用的是相同的方法,那反序列化ScanfAppTaskInfo对象时出错会是什么原因呢?下面是分 别是序列化和反序列化User对象和ScanfAppTaskInfo对象的代码
User类的定义
namespace ClassLibrary
{
    [Serializable]
    public class User
    {


        private string uname = "";
        private string name = "";
        private string pwd = "";
        private string department = "";
        //private Role role = null;

        public string Username
        {
            get { return uname; }
            set { uname = value; }
        }

        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        public string Password
        {
            get { return pwd; }
            set { pwd = value; }
        }
       
        //public Role Role
        //{
        //    get { return role; }
        //    set { role = value; }
        //}

        public string Department
        {