Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 调试器只是在测试的HttpClient.GetAsync调用上停止_C#_Asynchronous_Get_Dotnet Httpclient - Fatal编程技术网

C# 调试器只是在测试的HttpClient.GetAsync调用上停止

C# 调试器只是在测试的HttpClient.GetAsync调用上停止,c#,asynchronous,get,dotnet-httpclient,C#,Asynchronous,Get,Dotnet Httpclient,我以这个样本为基础: 我有完全相同的代码,我正在测试中运行: public async Task<IEnumerable<Stuff>> GetStuff() { var r = await DownloadPage("http://stackoverflow.com"); } static async Task<string> DownloadPage(string url) { using (var client = new HttpC

我以这个样本为基础:

我有完全相同的代码,我正在测试中运行:

public async Task<IEnumerable<Stuff>> GetStuff()
{
    var r = await DownloadPage("http://stackoverflow.com");
}

static async Task<string> DownloadPage(string url)
{
    using (var client = new HttpClient())
    {
        using (var r = await client.GetAsync(new Uri(url)))
        {
            string result = await r.Content.ReadAsStringAsync();
            return result;
        }
    }
}
公共异步任务GetStuff() { var r=等待下载页(“http://stackoverflow.com"); } 静态异步任务下载页面(字符串url) { 使用(var client=new HttpClient()) { 使用(var r=await client.GetAsync(新Uri(url))) { 字符串结果=wait r.Content.ReadAsStringAsync(); 返回结果; } } } 但它不起作用。调试器只是在wait
client.GetAsync(新Uri(url))
调用时停止

没有引发异常,VisualStudio输出窗口中没有任何内容

我让Fiddler打开,所有会话都已清除,我看不到在执行GET呼叫时有任何更改

我没什么要说的为什么这不管用

你知道为什么这样不行吗?我能做什么

更新

当从API调用时,这在一定程度上起作用,而不是从我开始使用的xunit测试。但是,当从API调用时,不会收到来自后端的响应,调用方会一直等待:


如果我将代码完全保留在API端,这样就不会调用任何更深层次的依赖项,那么一切都会正常工作。上下文切换一定是造成问题的原因。

这段代码是在asp.net进程中吗?在正常的C语言中,它可以工作-我已经在10秒前测试了您的确切代码。您能显示调用这些方法的asp.net代码吗。我猜您正在某处进行同步调用。它是从测试调用的类库中的代码。但最终它将从WebAPI2中调用。@Twometer:我刚刚直接从API中尝试过,它在那里也可以工作。那么为什么不从测试中。。。