代码是这样滴
StreamWriter sw = new StreamWriter(request.GetRequestStream());
sw包装了request.GetRequestStream()
那么我结识时候用了
sw.close();
请问这个时候request.GetRequestStream()这个流也会被一起close嘛?

解决方案 »

  1.   

    建议不要没有依据,就进行断言。答案是会的,这是反汇编代码(Close调用Dispose(true)):protected override void Dispose(bool disposing)
    {
        try
        {
            ...
        }
        finally
        {
            if (this.Closable && (this.stream != null))
            {
                try
                {
                    if (disposing)
                    {
                        this.stream.Close();       //<---
                    }
                }
                finally
                {
                    this.stream = null;
                    ...
                }
            }
        }
    }
      

  2.   

    MSDN上的解释“关闭当前的 StreamWriter 对象和基础流。”,这意味着会同时关闭request.GetRequestStream()这个流