我想调试我目前在本地的API项目。使用 C# 编写。
调试的原因低于该 API 项目为特定 JSON 返回 null 的函数。
[Route("api/NMRController/Disposition")]
[HttpPost]
public NMR_Object Disposition(NMR nmr)
{
try
{
Console.WriteLine($"nmr: {JsonConvert.SerializeObject(nmr)}");
string CorrectiveAction = nmr.CorrectiveAction;
string DispositionResult = nmr.DispositionResult;
string DispositionComment = nmr.DispositionComment;
string NoteForGroup = nmr.NoteForGroup;
string SerialNo = nmr.SerialNo;
MySql.Data.MySqlClient.MySqlConnection conn;
conn = new MySql.Data.MySqlClient.MySqlConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["constr_nmr"].ConnectionString;
MySql.Data.MySqlClient.MySqlCommand myCommand = conn.CreateCommand();
myCommand.Connection = conn;
if (conn.State.ToString() != "Open")
{
conn.Open();
}
myCommand.CommandText = "UPDATE NMR_SerialNo SET CorrectiveAction = @CorrectiveAction, DispositionResult = @DispositionResult, DispositionComment = @DispositionComment, NoteForGroup = @NoteForGroup WHERE SerialNo = @SerialNo";
myCommand.Parameters.AddWithValue("@CorrectiveAction", CorrectiveAction);
myCommand.Parameters.AddWithValue("@DispositionResult", DispositionResult);
myCommand.Parameters.AddWithValue("@DispositionComment", DispositionComment);
myCommand.Parameters.AddWithValue("@NoteForGroup", NoteForGroup);
myCommand.Parameters.AddWithValue("@SerialNo", SerialNo);
myCommand.ExecuteNonQuery();
conn.Close();
// write insert query
var RM = new NMR_Object();
RM.data = "";
RM.success = true;
// RM = JsonConvert.SerializeObject(dt));
return RM;
}
catch (Exception ex)
{
var RME = new NMR_Object();
RME.success = false;
RME.message = "NMR POST: " + ex.Message;
}
return null;
}
以下是我在电话后传递的 JSON。
{ "CorrectiveAction": "测试", "DispositionResult": "测试", "DispositionComment": "测试", "NoteForGroup": "测试", "序列号": "MYSQL" }
如果您从 visual studio 运行它,应该可以调试您的 API。您可以在您的方法中放置一个断点,该断点在发出请求时触发。您可以使用网络浏览器或邮递员提出请求。从那里你应该能够单步执行代码、检查变量等。
对于默认的 asp.Net 项目至少应该如此。如果您对项目的运行方式进行了自定义,您可能需要做其他事情来允许调试。
如果根本没有触发断点,则可能是您的路由有问题。创建一个默认项目只是为了验证您的测试设置是否有效可能很有用。
在 Visual Studio for Mac 上,打开您的项目。
在左上角,您可以选择是使用 http 还是 https,然后您需要选择调试,以及您希望调试的浏览器。
然后点击运行
项目成功构建并启动并运行后,您可以通过单击要测试的代码行旁边的行名称在 visual studio 中放置断点。
Visual Studio 会在进入断点时中断,你可以观察你的变量