c#


ASP.NET Web API Authentication with Custom ApplicationUser With an extra Object


I've added an object 'Person' to my applicationuser class. This works fine until I want to do get and return something from this object.
My custom ApplicationUser class:
public class ApplicationUser : IdentityUser
{
public Person Person { get; set; }
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager, string authenticationType)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, authenticationType);
//Add claims
// Add custom user claims here
return userIdentity;
}
}
And my Get:
public IHttpActionResult Get()
{
var models = _mailViewModelFactory.CreateListOfCompanyMails(_internshipCompanyRepository.GetAllCompanies());
return Ok(models);
}
And my mailViewFactory CreateListOfCompanyMails method:
public IEnumerable<MailWithNameViewModel> CreateListOfCompanyMails(IEnumerable<InternshipCompany> internshipCompanies)
{
var mailWithNameList = from internshipCompany in internshipCompanies
select new MailWithNameViewModel()
{
MailAddress = internshipCompany.Email, /* Only showing this works */
Name = internshipCompany.Person.Firstname /* When added this I get an error */
};
return mailWithNameList;
}
And my error:
{"Message":"An error has occurred.","ExceptionMessage":"The 'ObjectContent`1' type failed to serialize the response body for content type 'application/json; charset=utf-8'.","ExceptionType":"System.InvalidOperationException","StackTrace":null,"InnerException":{"Message":"An error has occurred.","ExceptionMessage":"De objectverwijzing is niet op een exemplaar van een object ingesteld.","ExceptionType":"System.NullReferenceException","StackTrace":" bij InternCOWebApi.ModelFactory.MailViewModelFactory.<>c.<CreateListOfCompanyMails>b__0_0(InternshipCompany internshipCompany) in D:\\Documenten\\GitHub\\AppDev11_2017\\Applicatie Backend\\InternCOWebApi\\InternCOWebApi\\Models\\ModelFactory\\MailViewModelFactory.cs:regel 19\r\n bij System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()\r\n bij Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList(JsonWriter writer, IEnumerable values, JsonArrayContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)\r\n bij Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue(JsonWriter writer, Object value, JsonContract valueContract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerProperty)\r\n bij Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter jsonWriter, Object value, Type objectType)\r\n bij Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter, Object value, Type objectType)\r\n bij System.Net.Http.Formatting.BaseJsonMediaTypeFormatter.WriteToStream(Type type, Object value, Stream writeStream, Encoding effectiveEncoding)\r\n bij System.Net.Http.Formatting.JsonMediaTypeFormatter.WriteToStream(Type type, Object value, Stream writeStream, Encoding effectiveEncoding)\r\n bij System.Net.Http.Formatting.BaseJsonMediaTypeFormatter.WriteToStream(Type type, Object value, Stream writeStream, HttpContent content)\r\n bij System.Net.Http.Formatting.BaseJsonMediaTypeFormatter.WriteToStreamAsync(Type type, Object value, Stream writeStream, HttpContent content, TransportContext transportContext, CancellationToken cancellationToken)\r\n--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---\r\n bij System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n bij System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n bij System.Web.Http.WebHost.HttpControllerHandler.<WriteBufferedResponseContentAsync>d__1b.MoveNext()"}}
If I'm understanding the situation right, then this happens because I do not use any Claims? I saw how you could do this with a string but I couldn't find it how you could do it with an Object. Your help is much appreciated.

Related Links

How to show the tooltip without any time duration?
How can i hide in game view a ui button and show the button when pressing the escape key?
TCP Connection. best way to handle multiple connections [duplicate]
Send POST request with Image from Unity3D
How to make default Password Reset functionality work in ASP.NET Core
UriTemplate Matching Email
Error handling between web api and angular 2 client
Get Duplicates in List and Edit Item
Should I await a 'async Task' function if I don't care its return value? [duplicate]
Autofac open generics: factory IIndex based on <U>
string with StingBuilder error c#
Mono SQLite with CF 3.5
EWS Oauth Exception: The request failed. The remote server returned an error: (401) Unauthorized
Reports in MS Word. Any library? [closed]
Display two model in a View?
How to Install Visual Studio Extension into specific folder?

Categories

HOME
asterisk
internet-explorer
redux
leaflet
salesforce
ldap
wifi
xamarin.forms
data-modeling
android-webview
select2
point-of-sale
expo
saucelabs
exchange-transport-agents
dompdf
css-float
matlab-gui
windows-mobile
pydub
orgchart
tftp
mex
resx
lines
slim-lang
powerbi-embedded
asp.net-webhooks
ragel
campaign-monitor
linkurious
server-side-swift
socketcluster
tapply
smooth-streaming
risc
gridgain
niagara-ax
mef
line-endings
hdpi
history
standard-error
jcifs
openpgp.js
boost-regex
stringbuilder
require-handlebars
konakart
scriptengine
angularfire
shtml
gnu-sort
tvp
random-sample
updating
syncano
mri
dockerpy
fedena
illegalargumentexception
nsnotificationcenter
xpand
dateadd
enquire.js
object-oriented-database
facebook-java-api
codio
mahara
google-voice
objectdatasource
outlook-object-model
msbuild-task
pageload
nx
setcookie
rfc822
junit-rule
nude.js
commonsware
automapper-2
cherokee
session-hijacking
jqtransform
quazip
oaw
web-widget
lts
user-preferences
bootstrap-protocol

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App