zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    Codeforces714C【映射】
    Codeforces712C【贪心】
    Codeforces712B【= =】
    lightoj1259 【素数预处理】
    Codeforces482B【线段树构造】
    51nod 1348【next_permutation】
    hdoj5289【RMQ+二分】【未完待续】
    hdoj5875【二分+RMQ】
    RMQ算法
    AtCoder Regular Contest 061 DSnuke's Coloring
  • 原文地址:https://www.cnblogs.com/jizhong/p/2044030.html
Copyright © 2011-2022 走看看