Пример #1
0
        internal static CloudRecordState CreateErrorStateFromCloudException(CloudException e, string errorId, object targetObject)
        {
            ErrorRecordState state       = CreateErrorStateFromHttpStatusCode(e.Response.StatusCode);
            ErrorRecord      er          = RemoteAppCollectionErrorState.CreateErrorRecordFromException(e, errorId, targetObject, state.Category);
            CloudRecordState cloudRecord = new CloudRecordState()
            {
                state = state,
                er    = er
            };

            return(cloudRecord);
        }
Пример #2
0
        internal static ErrorRecordState CreateErrorStateFromHttpStatusCode(HttpStatusCode status)
        {
            ErrorRecordState erStateToUse = erDefault;

            foreach (ErrorRecordState recordState in ErrorRecordStateTable)
            {
                if (status == recordState.Status)
                {
                    erStateToUse = recordState;
                    break;
                }
            }

            string exceptionMessage = String.Format("{0:T} - {1} in call to server HTTP Status: {2}",
                                                    DateTime.Now,
                                                    erStateToUse.ExceptionMessage,
                                                    status);

            ErrorRecordState state = new ErrorRecordState()
            {
                Status           = erStateToUse.Status,
                ExceptionMessage = exceptionMessage,
                Category         = erStateToUse.Category
            };

            if (state.Status == HttpStatusCode.BadRequest ||
                state.Status == HttpStatusCode.RequestTimeout ||
                state.Status == HttpStatusCode.NotFound ||
                state.Status == HttpStatusCode.GatewayTimeout)
            {
                state.type = ExceptionType.NonTerminating;
            }
            else
            {
                state.type = ExceptionType.Terminating;
            }

            return(state);
        }
Пример #3
0
        internal static ErrorRecordState CreateErrorStateFromHttpStatusCode(HttpStatusCode status)
        {
            ErrorRecordState erStateToUse = erDefault;

            foreach (ErrorRecordState recordState in ErrorRecordStateTable)
            {
                if (status == recordState.Status)
                {
                    erStateToUse = recordState;
                    break;
                }
            }

            string exceptionMessage = String.Format("{0:T} - {1} in call to server HTTP Status: {2}",
                        DateTime.Now,
                        erStateToUse.ExceptionMessage,
                        status);

            ErrorRecordState state = new ErrorRecordState()
            {
                Status = erStateToUse.Status,
                ExceptionMessage = exceptionMessage,
                Category = erStateToUse.Category
            };

            if (state.Status == HttpStatusCode.BadRequest ||
                state.Status == HttpStatusCode.RequestTimeout ||
                state.Status == HttpStatusCode.NotFound || 
                state.Status == HttpStatusCode.GatewayTimeout)
            {
                state.type = ExceptionType.NonTerminating;
            }
            else
            {
                state.type = ExceptionType.Terminating;
            }

            return state;
        }