什么会导致我的 TPL 任务停止 运行?

What can cause my TPL tasks to stop running?

我有以下代码:

while (true)
{
    Task.Run(() =>{
        var request = WebRequest.Create("url1");
        request.GetResponse();
    });

    Task.Run(() =>{
        var request = WebRequest.Create("url2");
        request.GetResponse();
    });

    Thread.Sleep(15000);
}

这个想法是每 15 秒调用几个端点。它可以正常工作大约 20 分钟,然后最终任务中的代码永远不会 运行。没有错误。我是否创建了太多任务?也没有内存不足的问题。

根据@AlexeiLevenkov 的评论提示从 request.GetResponse 获取对响应对象的引用,然后关闭响应解决了问题。