У меня есть простая веб-служба Rest, которая случайным образом вызывает исключение (внутренняя ошибка сервера). Я заметил это, когда подчеркнул этот веб-API в консольной программе за 50 000 итераций l oop. Что я получаю в этом клиенте:
{StatusCode: 500, ReasonPhrase: 'Внутренняя ошибка сервера', версия: 1.1,
Я хочу получить эту деталь об ошибке 500. Но я не могу поймать это в своем контроллере, кода в ловушке нет go. Код контроллера:
[HttpPost]
[Route("{IdLog}/message")]
public string CreateLogMsg(long IdLog, [FromBody] TlogLineDTO oLogLine)
{
long lTmp = 0;
try
{
if (ModelState.IsValid)
{
string sTmp = _oExploitBll.InsertNewLogLine(oLogLine).ToString();
if (!long.TryParse(sTmp, out lTmp))
{
// Create a new file
Random rnd = new Random();
using (System.IO.StreamWriter sw = System.IO.File.AppendText(@"E:\Temp\20200707\REF_" + rnd.Next().ToString() + ".txt"))
{
sw.WriteLine(sTmp);
}
}
return sTmp;
}
else
{
// Create a new file where to put the error message
Random rnd = new Random();
using (System.IO.StreamWriter sw = System.IO.File.AppendText(@"E:\Temp\20200707\REF_" + rnd.Next().ToString() + ".txt"))
{
sw.WriteLine("Ko");
}
return "Ko";
}
}
catch (Exception ex)
{
string sMsgErr = ex.Message + "-" + ex.StackTrace;
// Create a new file
Random rnd = new Random();
using (System.IO.StreamWriter sw = System.IO.File.AppendText(@"E:\Temp\20200707\REF_" + rnd.Next().ToString() + ".txt"))
{
sw.WriteLine(sMsgErr);
}
return "0";
}
}
Как сделать go в улове? Есть у кого-нибудь идеи?
Заранее большое спасибо.
Эри c