Подтвердить что ты не робот

Как получить информацию об ошибке на веб-сайте Azure

Я новичок в Azure. Кто-нибудь знает, как получить подробное сообщение об ошибке на веб-сайте, развернутом на веб-сайте Azure?

Я добавил SimpleMembership на веб-сайт, и теперь отображаются Регистрация и Вход (Почта)

Произошла ошибка при обработке вашего запроса.

Я подключаюсь к БД на своем домашнем компьютере (без проблем с подключением).

LogFiles папке LogFiles на сервере azure ftp есть несколько файлов, но я не вижу, как использовать эту информацию. Мне жаль, что я не могу получить YellowScreen на лазур...

4b9b3361

Ответ 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());*
        }