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

ExecuteStoreQuery not working with DateTime setter
how to create call function in windows phone 8 app? [closed]
Floats changing when passing them from CLI to C#
Mandatory Profile Issue
How to instantiate and initialize a dynamic object in expression tree?
Preserve stacktrace of exceptions thrown inside MVC async controller methods
Dynamic RegularExpression attribute
How do I capture a specific value from a POST ajax response?
Session visible on other computers?
VisualSVN Server, control from C#
How does one assign column names to tables in dataset?
File in use error when deleting a folder
Passing SQL Statement In Crystal Reports
Dynamic keyword throwing RunTimebinderException when trying to set native property
New Relic causing our applications to fall over
Finding a Culture with the same Language

Categories

HOME
repository
domain-driven-design
postsharp
watson-iot
artifactory
symfony-sonata
perl6
samsung-gear-s2
revit-api
spring-data-solr
dynamics-crm-2011
repeater
web-testing
tag-cloud
brightway
react-jsx
multipart
klipfolio
prepros
pixels
visual-studio-community
utc
gulp-jshint
formtastic
apm
undo
textview
storefront
oracle-bpm-suite
framebuffer
pygraphviz
lex
delphi-xe
google-cloud-powershell
ape-phylo
binary-decision-diagram
colorbox
amazon-rds-aurora
head
django-cors-headers
ionic2-select
lucee
perldoc
enet
sharpdevelop
wink
playframework-1.x
try-catch-finally
dynatable
scrollmagic
directinput
alarmmanager
mongodb-3.3
x12
audiorecord
jcalendar
alchemy
dday
nonblocking
gitk
redquerybuilder
jsoncpp
autoscaling
stderr
valdr-bean-validation
firebase-tools
touch-typing
yosemite
javacompiler
debuggervisualizer
reactjs-native
android-relativelayout
windows-phone-store
vbaccelerator
nop
code-complete
spawn
architectural-patterns
urlfetch
ncml
quit
states
eeprom
ruby-1.9
copyfile
isgl3d
flexbuilder
cinder
pitch-shifting
unauthorized
memory-consumption

Resources

Encrypt Message



code
soft
python
ios
c
html
jquery
cloud
mobile