rahul_kakadia Ответов: 1

После catch exception текстовый файл не записывается или не сохраняется запись базы данных на веб-сервере(MVC .NET))


Привет сэр,

Я пытаюсь зарегистрировать исключение, написав текстовый файл или добавив запись в базу данных.

Что я уже пробовал:

когда я пытался написать текстовый файл или добавить запись в базу данных об исключении catch, он отлично работает локально, но когда я публикую тот же код, он не работает. так нужно ли мне делать какие-то настройки iis или что-то еще?
мой код вроде
try{}
catch (Exception ex) {
username='test';
linenum=10;
return RedirectToError(ex.ToString(), "Createpage", "Home", "HttpGet", linenum, "Create Lot", username);
}
 public ActionResult Error()
        {
            return View();
        }
public ActionResult RedirectToError(string sExceptionName, string sEventName, string sControlName, string methodType, int nErrorLineNo, string sFormName, string username)
        {
            Server.ClearError();
            //string username = Session["username"].ToString();
            DBEntities db = new DBEntities();
            ERROR_LOG log = new ERROR_LOG();
            log.CONTROLNAME = sControlName;
            log.METHODNAME = sEventName;
            log.METHODTYPE = methodType;
            log.FORMNAME = sFormName;
            log.Errortext = sExceptionName;
            log.LINE_NO = nErrorLineNo;
            log.USERNAME = username;
            log.ERRORDATE = DateTime.Now;
            Session["sExceptionName"] = "Exception:" + sExceptionName + "<br>line:" + nErrorLineNo + "<br>UserName:" + username;
            db.ERROR_LOG.Add(log);
            db.SaveChanges();
          
            return RedirectToAction("Error", "Home");
        }

написание кода для записи файла журнала и добавление записи в базу данных, обе функции работают хорошо локально, но не после публикации на сервере разработки

[no name]

Может быть, но кто знает? Мы не можем знать, что, по вашему мнению, означает "не работает".

1 Ответов

Рейтинг:
1

David_Wimbley

В вашем вопросе очень не хватает деталей (подумайте, что вы идете к врачу и говорите "мне больно" и ожидаете, что он точно знает, что с вами не так, без дополнительной информации), поэтому единственное, что я могу предложить, это то, что это, вероятно, проблема с разрешениями для IIS_USR, что вам нужно разрешить доступ к вашему каталогу журналов.


rahul_kakadia

Я обновил вопрос примером. спасибо за быстрый ответ. Как я могу разрешить доступ к вашему каталогу журналов? у меня есть iis 8.1, и я попытался найти эти настройки, но не смог найти.

Dave Kreskowiak

Ухххх...нет вы не. Вставьте реальный код, который вы используете, включая раздел в блоке try. Без этого никто не сможет сказать вам, что не так.

[no name]

Вам придется укусить пулю и отладить свой код. Возможно, вам даже придется испачкать руки и проверить журналы событий, чтобы узнать, нет ли каких-либо ошибок.

rahul_kakadia

локально отлично работает с любой базой данных, проблема с публикацией на веб-сервере

rahul_kakadia

это проблема не сообщения об ошибке, я хочу сообщить об ошибке.

[no name]

Ты ведь понятия не имеешь, как работают компьютеры? Мы ничего не можем сказать вам о том, что происходит на вашем компьютере-сервере, потому что вы единственный, кто знает об этом, насколько нам известно. Вы, и только вы, получаете замечательный опыт отладки вашего кода на вашем сервере, просматривая журналы событий и копаясь в настройках и прочем мусоре, чтобы понять, что означает "не работает". Мы ничего не можем вам сказать, потому что у нас нет волшебной палочки, которой мы могли бы помахать и рассказать вам.

rahul_kakadia

Достаточно ли информации или нужно больше?

David_Wimbley

..- по этим ответам вы не можете сказать? Вы должны помнить, что мы незнакомы в интернете, у нас нет доступа к вашему компьютеру, вашему коду, мы не можем читать ваши мысли или что-либо знать о вашем проекте. Если вы хотите получить значимую помощь, вам придется приложить значительные усилия, чтобы полностью/ясно объяснить свою проблему.

rahul_kakadia

На самом деле то, что я сделал, я хочу записать ошибку в журнал, сгенерировав исключение. для этого я реализовал, что в любом месте возникновения исключения я добавлю запись в базу данных. если какая-либо функция генерирует исключение, она добавит запись в базу данных. локально я тестировал и работал отлично, но при публикации на веб-сервере не работал.