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

Combobox in Syncfusion XlsIO
Creating a Strong Name dynamically, without Sn.exe
Why is my locally declared variable not being recognized in the finally block?
Comparing two different types with Entity Framework
loginview shows “welcome system-name/administrator” and logout for the first time page load
How to abort another thread in .NET, when said thread is executing Console.ReadLine?
OrderBy / ThenBy looping - nested Lists in C#
How to login external web site from asp.net web page? [closed]
ListPicker for WPF?
How to notify user of new message?
WPF Treeview Bindings
How do you iterate through JSON object in an ASP.NET MVC controller?
Explicitly specifying the TaskScheduler for an implicitly scheduled method
DataGridView setting row height doesn't work
Retrieving data from webservice & displaying it in a listbox
How to detect double click on window title in c#

Categories

HOME
postgresql
kendo-ui-angular2
kendo-ui
azure-active-directory
ssh
dronekit
ibm
app-store
handlebars.js
google-app-maker
unreal-engine4
distinct
guidewire
http-status-codes
webseal
appsettings
tag-cloud
css-float
samba
alert
novacode-docx
audio-streaming
project-structure
xforms
bug-reporting
apdu
sasl
mongoose-im
setup-project
csproj
jms-topic
folder
undo
opencsv
keil
wercker
eclipse-jdt
android-scrollview
webspeech-api
campaign-monitor
gstreamer-1.0
oracle-bpm-suite
nsdateformatter
compiler-warnings
wufoo
mef
ionic2-select
extjs3
enet
vertex-shader
sqlproj
timefield
gevent
universe
change-password
window.location
php-gd
redquerybuilder
eggplant
eula
mathics
douglas-peucker
chunks
indices
fedena
ccmenuitem
atg-dynamo
android-jack-and-jill
nomachine
vbaccelerator
adabas
google-voice
ie-developer-tools
oc4j
xrandr
mosix
biztalk-deployment
database-restore
dnsbl
linear-interpolation
inflate
report-viewer2010
github-archive
nserror
advanceddatagrid
utm
apache-commons-email
file-processing
netduino
nbehave
response-time
norton
marathontesting
dongle
dgml
scala-designer
onresize
disk-based

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