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

Inserting PRIMARY Key value into SQL without duplicating the CHAR via ASP.NET
Loading a grid in xaml code from a file, then making it active in main code
Excel importing to c# windows application
How to create a Client side WebService to call API?
Azure Worker Role working just on start
GameCenter Achievements localization issue
C# WPF WebClient.DownloadString() not returning anything
In C#, how can I force iteration over IEnumerable within nested foreach loops?
what are the differences between having a .EXE file which is scheduled using Windows Task Scheduler and between having Windows service
HttpClient PostAsync returns 500 when getting token
EF One to Zero or One relationship on existing tables leads to error on database updating
Cannot find ClientContext in Microsoft.SharePoint.Client.dll version 16.0.0.0
How can I draw a section of a Bezier curve in WPF?
Local DB in Visual Studio 2015
IdSrv4 - Access Token Validator EndPoint
Using selectToken with String C#

Categories

HOME
logging
primefaces
mysqli
azure-database-mysql
x509certificate
coordinates
terminal
foreach
flowtype
kohana
zabbix
oms
camunda
mbed
element
derby
minimum
appsettings
background-image
multibinding
facebook-marketing-api
k-means
geography
prepros
ecmascript-2017
aws-certificate-manager
tftp
scripting-language
boosting
dynamic-memory-allocation
git-submodules
ios9
openoffice-impress
vtd-xml
ports
node-soap
flickr
javax
leaderboard
anypoint-studio
mockserver
jslider
lfe
mixed-models
test-kitchen
qt-quick
cakephp-3.2
gridgain
android-doze-and-standby
jks
serverless-architecture
selection-sort
sqlproj
ownership
easy-thumbnails
easy68k
disconnect
patching
bytearray
hotkeys
supervised-learning
shtml
containstable
yfiles
app-data
updating
exchange-server-2007
first-order-logic
azure-mobile-app
vensim
esb-toolkit-2.1
veeam
data-quality-services
nexusdb
unityvs
dirname
redmine-plugins
serializer
telerik-appbuilder
isl
opencobol
dayofweek
kernel-density
ekevent
surfaceview
sygic
stringstream
leap-year
dd4t
cocotron
codeigniter-form-helper
brew
biztalk-deployment
system.transactions
nsregularexpression
hypertable
blackberry-eclipse-plugin
filedialog
stl-algorithm
cgaffinetransform
rjs
recess
hs-err
conditional-operator
subdirectories
pitch-shifting
xslt-grouping
silverlight-2.0
helios
scala-designer
ffdshow
jgrowl
scalable

Resources

Database Users
RDBMS discuss
Database Dev&Adm
javascript
java
csharp
php
android
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App