2015-02-10 5 views
0

Когда я обновление строки в базе данных, я получаю эту ошибку: http://snag.gy/975mW.jpgВнутренняя ошибка сервера 500 angularjs, MVC HttpPost

Поскольку это 500 ошибка Я предполагаю, что это что-то в моем C# код дает мне эту ошибку , странно, что база данных обновляется, и ничего не происходит. Так что мне интересно, как я могу отладить эту ошибку? Я отправляю данные с углового на веб-api.

$scope.editUser = function() { 
      var user = $scope.selectedUser; 
      UserService.editUser(user).success(function (data) { 
       console.log('Updated', data) 
      }). 
      error(function() { 
       $scope.error = console.log('Something went wrong') 
      }); 
     } 


    [HttpPost] 
    public User EditUser([FromBody]EditUserModel model) 
    { 
     var editedUser = db.Users.FirstOrDefault(u => u.UserID == model.UserID); 

    editedUser.FirstName = model.FirstName; 
    editedUser.LastName = model.LastName; 
    editedUser.Email = model.Email; 

    db.SaveChanges(); 
    return editedUser; 
} 
+0

Возможно, вы захотите сериализовать этот отредактированныйUser для json, если вы возвращаете его в угловой. – Sefa

+0

Вы видите Обновленный в журнале консоли или что-то ...? – SBirthare

+0

Вы можете поставить попытку поймать код сервера, чтобы узнать, не исключает ли его исключение. – SBirthare

ответ

1

Согласно вашему описанию, это проблема сериализации возвращаемого значения. Попробуйте запустить веб-приложение на стороне сервера в отладчике Visual Studio, убедитесь, что для параметров исключения установлены прерывания для всех управляемых исключений, инициируйте действие из браузера и посмотрите, что произойдет.

+0

Хм, что дало мне:« Первое исключение для случая Тип «Newtonsoft.Json.JsonSerializationException» произошло в Newtonsoft.Json.dll Дополнительная информация:. Само реферирование петли обнаружено собственность «таблицы» с типом «System.Data.Entity.DynamicProxies.Company_7CD5FDAE1E9570C7B1ECAE3417643B51ED95CF06F24DC409AC96D9FE» Путь «tableName.rowName [0 ]». Полагаю, я это рассмотрю. – howDisWorks

+0

Использование google для поиска этой ошибки дало мне некоторый ввод, и я закончил тем, что добавил «configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;» к моему WebApiConfig, который я удалил раньше, потому что это вызывало у меня проблемы. Добавление этого прекращения дает мне 500 Internal Server Error, но функция .success все еще не работает (должна сказать «Обновлено»). Изменить: после тестирования несколько раз сайт в конечном итоге сбой говорит: «Необработанное исключение типа« System.AccessViolationException »произошло в Unknown Module. – howDisWorks

Смежные вопросы