Я не понимаю, почему вы хотите показать трассировку всего стека как ответ вашего бота обычному пользователю, но в случае, если это только для тестирования, вы можете просто изменить обработчик OnTurnError
.Обычно это можно найти в вашем Startup.cs
классе.
// Catches any errors that occur during a conversation turn and logs them.
options.OnTurnError = async (context, exception) =>
{
logger.LogError($"Exception caught : {exception}");
await context.SendActivityAsync("Sorry, it looks like something went wrong.");
};
Оттуда вы можете использовать exception.StackTrace
в своем сообщении.
Если вы хотите использовать это в производстве, не делайте этого .Вместо этого перейдите на TelemetryClient, такой как Application Insights , и отследите исключения там.Таким образом, вы можете опубликовать приятное и удобное сообщение об ошибке (если оно есть), сохраняя при этом некоторую информацию журнала в бэкэнде для устранения проблемы.