在我的一个项目中,应用程序,业务和数据层之间的通信以xml格式执行,但我觉得这是一种耗时的方式,并且通信应该以对象形式发生,因为所有层都在相同的.net技术中。如果我的思维方式正确,我可以从中获得多少性能提升。
实施例。 1)
通过XML字符串: -
StringBuilder strReq = new StringBuilder();
strReq.AppendFormat("<Request>");
strReq.AppendFormat("<RequestID>{0}</RequestID>", RequestID);
strReq.AppendFormat("<CType>{0}</CType>", CType);
strReq.AppendFormat("<ID>{0}</ID>", 0);
strReq.AppendFormat("<Source>{0}</Source>", Source);
strReq.AppendFormat("<VirtualNo>{0}</VirtualNo>", VirtualNo);
通过对象: -
clsRequest objRequest = new clsRequest ()
objRequest.RequestId = RequestId;
objRequest.CType= CType
等..................
答案 0 :(得分:2)
只有一种方法可以客观地衡量实施A和实施B之间的性能差异,即衡量两者。但是,如果你没有跨越任何进程/应用程序域边界,我必须同意将它推向xml完全没有意义 - 这涉及很多开销。将它作为Request
实例或更具体的内容 - BananaRequest
等传递下来似乎完全正确和恰当。
此外,您当前的代码(如评论中已经注明)只是简单地破解 - 它不是一种可靠或强大的序列化方法。