C# 复制IO异常错误

C# 复制IO异常错误,c#,asp.net,networking,C#,Asp.net,Networking,我希望能够重现以下错误: IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. 关于如何通过发出web请求并导致此错误发生来实现这一点,有什么想法吗 我尝试过发出一个web请求并拔下网络电缆,但没有重现错误,我只是好奇如何才能做到这一点。最后一行将生成您的异常 其思想是:创建一个tcp侦听器(

我希望能够重现以下错误:

  IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
关于如何通过发出web请求并导致此错误发生来实现这一点,有什么想法吗


我尝试过发出一个web请求并拔下网络电缆,但没有重现错误,我只是好奇如何才能做到这一点。

最后一行将生成您的异常

其思想是:创建一个tcp侦听器(或Http侦听器),然后在不发送有效Http响应的情况下关闭连接

TaskCompletionSource<object> tcs = new TaskCompletionSource<object>();
Task.Run(() =>
{
    TcpListener listener = new TcpListener(8080);
    listener.Start();
    tcs.TrySetResult(null);
    while (true)
    {
        listener.AcceptTcpClient().Close();
    }
});

await tcs.Task; //wait till TcpListener is ready

Webclient wc = new Webclient();
var str = await wc.DownloadStringTaskAsync("http://localhost:8080");
TaskCompletionSource tcs=new TaskCompletionSource();
Task.Run(()=>
{
TcpListener侦听器=新TcpListener(8080);
listener.Start();
tcs.TrySetResult(空);
while(true)
{
listener.AcceptCpcClient().Close();
}
});
等待tcs任务//等到TcpListener准备好
Webclient wc=新的Webclient();
var str=wait wc.DownloadStringTaskAsync(“http://localhost:8080");

再现错误后,您想做什么。是为了运行测试吗?@PraveenPaulose不是,只是想知道一些与网络相关的错误是如何重现的。