c# – 计算通过WCF的包(datacontract)的大小?
发布时间:2020-12-15 17:24:09 所属栏目:百科 来源:网络整理
导读:是否可以计算我通过WCF发送的(复杂的)对象(带有dataContract)的大小?我需要的是计算请求和响应对象的大小,我需要在winform应用程序中执行此操作. 我可以对物体进行加工,然后得到总尺寸吗? 解决方法 您可以自己手动序列化/反序列化对象.这是序列化和获取长
是否可以计算我通过WCF发送的(复杂的)对象(带有dataContract)的大小?我需要的是计算请求和响应对象的大小,我需要在winform应用程序中执行此操作.
我可以对物体进行加工,然后得到总尺寸吗? 解决方法
您可以自己手动序列化/反序列化对象.这是序列化和获取长度的简单示例.
[DataContract(Name = "Person",Namespace = "http://www.woo.com")] class Person { [DataMember()] public string Name; [DataMember()] public int Age; } 调用代码(在控制台应用程序中) Person p = new Person(); p.Name = "Sean Cocteau"; p.Age = 99; DataContractSerializer ds = new DataContractSerializer(p.GetType()); using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) { ds.WriteObject(ms,p); // Spit out Console.WriteLine("Output: " + System.Text.Encoding.UTF8.GetString(ms.ToArray())); Console.WriteLine("Message length: " + ms.Length.ToString()); } Console.ReadKey(); 关于自动执行此操作,例如,在每个WCF调用上可能涉及您必须创建自己的Custom Binding,并将其添加到消息中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |