Esempio n. 1
0
        private async Task <ResponseMessage> InvokePortal(string operation, ByteString requestData)
        {
            var result = new DataPortalResponse();
            DataPortalErrorInfo errorData = null;

            try
            {
                var request = SerializationFormatterFactory.GetFormatter().Deserialize(requestData.ToByteArray());
                result = await CallPortal(operation, request);
            }
            catch (Exception ex)
            {
                errorData = new DataPortalErrorInfo(ex);
            }
            var portalResult = new DataPortalResponse {
                ErrorData = errorData, GlobalContext = result.GlobalContext, ObjectData = result.ObjectData
            };
            var buffer = SerializationFormatterFactory.GetFormatter().Serialize(portalResult);

            return(new ResponseMessage {
                Body = ByteString.CopyFrom(buffer)
            });
        }
Esempio n. 2
0
        private async Task <ResponseMessage> InvokePortal(string operation, ByteString requestData)
        {
            var result = ApplicationContext.CreateInstanceDI <DataPortalResponse>();
            DataPortalErrorInfo errorData = null;

            try
            {
                var request = SerializationFormatterFactory.GetFormatter(ApplicationContext).Deserialize(requestData.ToByteArray());
                result = await CallPortal(operation, request);
            }
            catch (Exception ex)
            {
                errorData = ApplicationContext.CreateInstanceDI <DataPortalErrorInfo>(ex);
            }
            var portalResult = ApplicationContext.CreateInstanceDI <DataPortalResponse>();

            portalResult.ErrorData  = errorData;
            portalResult.ObjectData = result.ObjectData;
            var buffer = SerializationFormatterFactory.GetFormatter(ApplicationContext).Serialize(portalResult);

            return(new ResponseMessage {
                Body = ByteString.CopyFrom(buffer)
            });
        }
Esempio n. 3
0
 /// <summary>
 /// Creates an instance of the object.
 /// </summary>
 /// <param name="info">Info about the exception.</param>
 public DataPortalException(DataPortalErrorInfo info)
     : base(info.Message)
 {
     this.ErrorInfo = info;
 }