Я новичок в ASP.NET. Просто закончил 3 книги в ASP.NET MVC, веб-API и SPA. Но, похоже, этого недостаточно для решения очень простой проблемы. У меня есть следующий код в моем контроллере api для возврата данных JSON/XML. Необходимые данные - это вернуть список пользователей, зарегистрированных в Identity Framework. Сделали это на MVC, но не смогли определить веб-api.ASP.NET 4.5 WebAPI для возврата списка пользователей
[AllowAnonymous]
[Route("UserInfos")]
public IEnumerable<AppUser> GetUserInfos()
{
List<AppUser> logins = new List<AppUser>();
foreach (AppUser user in UserManager.Users)
{
logins.Add(user);
}
return logins;
}
Но я получаю ошибки, когда я называю этот веб-API. Ошибка, как показано ниже.
<Error>
<Message>An error has occurred.</Message>
<ExceptionMessage>
The 'ObjectContent`1' type failed to serialize the response body for content type 'application/xml; charset=utf-8'.
</ExceptionMessage>
<ExceptionType>System.InvalidOperationException</ExceptionType>
<StackTrace/>........
....
....
Я делаю менеджер пользователей/администрации в ООР СОИ требуется веб-интерфейс API, чтобы вернуть список пользователей, ролей и т.д. Так же, как, как MVC возвращает эти данные в модели/регулируемой построить администрацию стр.
помогите пожалуйста. любая ссылка на учебники ценится, так как я исчерпал все, что нужно для ответа на этот вопрос. Благодарю.
[Изменить] Этот код ниже решает его. Я создал модель именно для этой цели. но почему я не могу напрямую обращаться к модели Identity и работать с ней? Я могу сделать это в MVC.
[AllowAnonymous]
[Route("UserInfos")]
public IEnumerable<FlatUserModel> GetUserInfos()
{
List<FlatUserModel> logins = new List<FlatUserModel>();
foreach (AppUser user in UserManager.Users)
{
logins.Add(new FlatUserModel
{
Id=user.Id,
Name=user.UserName,
Email=user.Email
});
}
return logins;
}
'UserManager.Users' имеет тип' 'IQueryable. Вы уверены, что он содержит объекты «AppUser»? –
Сопоставьте пользователей с моделью с плоскими изображениями. Похоже, у вас есть дочерние отношения, которые могут вызывать циклические ссылки при сериализации. – trevorc
Как я могу сопоставить модель с плоским экраном? означает ли я создать модель представления с теми же свойствами, что и AppUser/IdentityUser, и назначить каждый элемент из UserManager.Users на этот новый сложенный объект? –