记录一下System.IO.StreamReader使用过程中遇到的坑

最近在开发过程中发现有一个方法每次请求都会报错,调试后发现导致问题的原因是由于后台方法接受的参数为空,但是从网络请求追踪来看,参数都是正常的,但是我在每次请求之前会对请求的参数进行一次过滤,防止出现敏感字符,对系统产生攻击行为,注释掉这段代码后,功能就可以正常使用,OK,现在定位到了问题所在代码模块,先贴一张出现问题的代码。

 这里首先犯了一个错误,C#中using可以用来简化对资源的释放,这里在读取完请求的数据后,就会对资源进行释放,因此后续方法获取到的数据都是null,了解到这一原因后对代码进行了修改。

 修改完调试,发现方法获取到的参数仍然为空,这就不得不提另外一个坑了,StreamReader再读取完文件流后,会停留在末尾,导致后续方法读取,是从末尾位置开始读取的,因此方法获取数据为空,最后将读取位置重置,问题得到解决。

 还是吃了基础知识不牢固的亏啊!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值