我想调试我的c# API项目,该项目目前在我的本地。
调试的原因是该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;
}
这是我在post调用期间传递的JSON:
{
"CorrectiveAction": "testing",
"DispositionResult": "testing",
"DispositionComment": "testing",
"NoteForGroup": "testing",
"SerialNo": "MYSQL"
}
如果在visual studio中运行API,应该可以调试它。您可以在方法中放置一个断点,每当对它发出请求时就会触发该断点。您可以使用网络浏览器或邮递员发出请求。从那里,您应该能够逐步执行代码,检查变量等。
对于一个默认的asp。网络项目。如果您对项目的运行方式进行了自定义,则可能需要做其他事情以允许调试。
如果根本没有触发断点,那么您的路由可能存在一些问题。创建一个默认项目来验证您的测试设置是否有效可能会很有用。
在Visual Studio for Mac上打开Project.
在左上角,你可以选择使用http还是https,然后你需要选择调试,以及你希望调试的浏览器。
然后点击run
在您的项目成功构建并启动并运行之后,您可以通过单击要测试的代码行旁边的行名来在visual studio中放置断点。
Visual studio将在进入断点时中断,您可以监视您的变量