Как получить журналы MiniProfiler из перенаправленного запроса?
У меня установлен MiniProfiler в моем проекте ASP.NET MVC 3, который работает нормально, но у меня возникла проблема, MiniProfiler показывает только журналы с последнего запроса и некоторую "сводку" всей загрузки сайта.
У меня есть форма, которая отправляет в /MyForm и MyForm actionresult перенаправляет в /Show, и я получаю все журналы для /Show, но не все из /MyForm, но я получаю сводную информацию, сколько времени прошло /MyForm + вопросы sql, но я не получаю дети бревна от него.
Есть идеи?
2 ответа
Я обнаружил аналогичную проблему не показа всплывающей кнопки профилировщика на странице, запроса POST после перенаправления. В моем случае это было из-за того, что длина результата превышает максимальную длину строки Json. Чтобы решить эту проблему, я установил ограничение размера, как показано ниже:
MiniProfiler.Settings.MaxJsonResponseSize = int.MaxValue
Я положил это в Application_Start().
Я нашел ответ:
В global.asax после вызова MiniProfiler.Stop() добавьте этот код, чтобы запретить указание идентификатора журналов при ответе ajax.
//Se faccio il redirect tolgo il render del mini profiler
const string KEY_HEADER_MINIPROFILER = "X-MiniProfiler-Ids";
if (!string.IsNullOrEmpty(Response.RedirectLocation) && Response.Headers.AllKeys.Contains(KEY_HEADER_MINIPROFILER))
{
Response.Headers.Remove(KEY_HEADER_MINIPROFILER);
}
На следующей странице будет отображаться также журнал страницы, которые делают перенаправление
Если вы выполняете редирект с помощью javascript после ajax-запроса, не забудьте сделать:
Response.RedirectLocation = "...."