如何使用Visual Studio代码调试C#代码

时间:2015-12-28 05:21:33

标签: c# debugging asp.net-web-api asp.net-core visual-studio-code

我是VS Code环境的新手。我正在开发VS代码中的Web API,稍后将从客户端应用程序中使用它。以下代码块似乎没有执行,所以我想检查它是否完全击中!

//GET: pwapi/plants/10076/features
[HttpGet("{id}, {sectionArray}")]
public async Task<string> Get(int id, string sectionArray){
  var url="https://www.domain.com/search?apikey=<apikey>&sections="+sectionArray+"&plantid="+id;
			
  using(var client = new HttpClient()){
    client.BaseAddress=new Uri(url);
    client.DefaultRequestHeaders.Accept.Clear();
    var response=await client.GetAsync(url);
				
    //will throw an exception if not successful
    response.EnsureSuccessStatusCode();
				
    string content = await response.Content.ReadAsStringAsync();
				
    //return await Task.Run(() => JsonObject.Parse(content));
    return content;
  }
}

上述方法的网址为http://localhost:5000/pwapi/plants/10076/features

我有重载的方法,工作正常:

[HttpGet("{id}")]
public async Task<string> Get(int id){
  var url="https://www.domain.com/list?apikey=<apikey>";
  using(var client = new HttpClient()){
    client.BaseAddress=new Uri(url);
    client.DefaultRequestHeaders.Accept.Clear();
    var response=await client.GetAsync(url);
				
    //will throw an exception if not successful
    response.EnsureSuccessStatusCode();
				
    string content = await response.Content.ReadAsStringAsync();
				
    //return await Task.Run(() => JsonObject.Parse(content));
    return content;
  }
}

上述方法的网址为http://localhost:5000/pwapi/plants/10076

三个问题: 1.我如何调试代码? 2.如果无法进行调试(到目前为止,我已经看到调试只适用于客户端脚本,我可能是错的),有什么方法可以知道我在哪里做错了? 如果没有其他选择,请告诉我为什么这个方法没有打击。

1 个答案:

答案 0 :(得分:2)

如果您注意到Get过载的路由前缀,则您使用逗号而不是斜杠,这会使路由无效,因此您的端点永远不会被命中。请将路由前缀更改为:

[HttpGet("{id}/{sectionArray}")]

至于调试端点,您只需要在线上按F9或单击要调试的代码行左侧来设置断点。