public async Task <JsonResult> GetUserIdentity() { ServiceResponse response = default(ServiceResponse); using (Session session = ApplicationModel.Current.CreateSession(new SecurityToken(this.HttpContext.Request.Url.Host, this.HttpContext.User.Identity.Name))) { try { IDataPortal portal = DependencyInjection.Get <IDataPortal>(); var value = portal.GetUserIdentity(); // Set the status on HTTP and response level. if (value == null) { HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; } ResponseStatus status = value == null ? ResponseStatus.NO_DATA : ResponseStatus.OK; response = new ServiceDataResponse(RestVersion0100Controller.API_VERSION, status, value); } catch (Exception ex) { HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; response = new ServiceErrorResponse(RestVersion0100Controller.API_VERSION, ResponseStatus.ERROR, new ServiceError(ex)); } } return(this.Json(response, JsonRequestBehavior.AllowGet)); }