Как получить информацию об ошибке на веб-сайте Azure
Я новичок в Azure. Кто-нибудь знает, как получить подробное сообщение об ошибке на веб-сайте, развернутом на веб-сайте Azure?
Я добавил SimpleMembership
на веб-сайт, и теперь отображаются Регистрация и Вход (Почта)
Произошла ошибка при обработке вашего запроса.
Я подключаюсь к БД на своем домашнем компьютере (без проблем с подключением).
LogFiles
папке LogFiles
на сервере azure ftp есть несколько файлов, но я не вижу, как использовать эту информацию. Мне жаль, что я не могу получить YellowScreen на лазур...
Ответы
Ответ 1
У вас есть два варианта:
Во-первых, вы можете отключить пользовательские ошибки в своей веб-конфигурации. Это быстрый и грязный подход, но он по крайней мере даст вам информацию, которую вы ищете. Просто обязательно включите пользовательские ошибки, когда закончите. ПРИМЕЧАНИЕ. Этот метод отобразит ваш стек для всего мира.
<configuration>
<system.web>
<customErrors mode="Off" />
</system.web>
</configuration>
Во-вторых, вы можете использовать удаленный рабочий стол на своей развернутой машине, перейти в диспетчер IIS и просмотреть на свой сайт. Когда вы там, воспроизведите ошибку, и вы получите желтый экран смерти, который вы ищете. Для этого вам необходимо включить подробные ошибки
Ответ 2
Создайте таблицу в db, где вы будете хранить свои журналы ошибок, я использую EF и таблицу под названием Logs.
Создайте класс:
public class MyAppExceptionFilter : IExceptionFilter
{
private MyApp.Models.ApplicationDbContext db = new Models.ApplicationDbContext();
public void OnException(ExceptionContext context)
{
Exception ex = context.Exception;
Log log = new Log();
log.DateTime = DateTime.Now;
log.LogText = "Exception happened, text:" + ex.Message;
try
{
log.LogText +="User details:"+context.HttpContext.User.Identity.Name;
}
catch
{
log.LogText += "User details:none";
}
db.Logs.Add(log);
db.SaveChanges();
}
}
В FilterConfig.cs в папке App_Start добавьте:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
*filters.Add(new MyAppExceptionFilter());*
}