• WCF反序列化注意事项


    理论上讲,WCF常用的序列化和反序列化方式有数据契约序列化格式器和XML序列化格式器。数据契约格式化器是WCF默认的序列化器,如果你不在服务接口上制定序列化器的话,系统默认将使用此序列化器。XML序列化器是.NET框架中自带的序列化器,作为在WCF出现前已经存在的序列化器,WCF很好的将其纳入支持范围。

    无论是用数据契约还是XML序列化器,都没有好说的。但是有一个地方特别需要注意。那就是流处理。

    例如以下代码:

                    XmlSerializer XmlSerial = new XmlSerializer(typeof(VisitCostRequest));
                    StreamReader SReader 
    = new StreamReader(HttpContext.Current.Request.InputStream);

    此代码如果仅仅执行一次,那么没有问题。但是如果对流有多次操作,就必须在每次使用完流后,在代码后面加上Seek(0, SeekOrigin.Begin),对流进行复位设置。否则,你会收到很多不可思议的错误提示。

    文章出处:www.cnblogs.com/jizhong

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。否则保留追究法律责任的权利。

  • 相关阅读:
    POJ 3253 Fence Repair
    POJ 2431 Expedition
    NYOJ 269 VF
    NYOJ 456 邮票分你一半
    划分数问题 DP
    HDU 1253 胜利大逃亡
    NYOJ 294 Bot Trust
    NYOJ 36 最长公共子序列
    HDU 1555 How many days?
    01背包 (大数据)
  • 原文地址:https://www.cnblogs.com/jizhong/p/2044030.html
Copyright © 2020-2023  润新知