当前位置:  开发笔记 > 编程语言 > 正文

如何在C#中使用"using"而不会出现"InvalidOperationException"?

如何解决《如何在C#中使用"using"而不会出现"InvalidOperationException"?》经验,为你挑选了1个好方法。

我试图重复使用正常的代码

TcpClient oC = new TcpClient(ip, port);
oC = new TcpClient(ip, port);
StreamReader messageReader;

try {
   messageReader = new StreamReader(oC.GetStream(), Encoding.ASCII);
   reply = messageReader.ReadLine();
}

try {
   using (messageReader = new StreamReader(oC.GetStream(), Encoding.ASCII))
   {
       reply = messageReader.ReadLine();
   }
}

但我得到一个InvalidOperationException说法

非连接套接字上不允许该操作.

有什么问题,我该如何解决?

更多:我有oc.Connect在此代码之前,所以我连接,当它想要第一次使用是工作正常,只有在那之后,我得到了这个例外,我玩了一下它现在和现在我明白了:

无法访问已处置的对象.\ r \n对象名称:'System.Net.Sockets.Socket'.

JaredPar.. 12

在创建StreamReader之前尝试调用oc.Connect.在连接套接字之前,实际上没有任何内容可读,因此也是例外.



1> JaredPar..:

在创建StreamReader之前尝试调用oc.Connect.在连接套接字之前,实际上没有任何内容可读,因此也是例外.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有