예제 #1
0
        /// <summary>
        /// Creates exception to be thrown upon load balancing service failure.
        /// </summary>
        /// <param name="result">Instance of the service url retrieval result
        /// to create exception for.</param>
        /// <returns>A new instance of the class derieved from <see cref="System.Exception"/>
        /// containing error details.</returns>
        private Exception _CreateException(LoadBalanceResult result)
        {
            Debug.Assert(result != null, "Result should not be null");
            Debug.Assert(
                result.Status != StatusCode.Succeed,
                "Cannot create exceptions upon success");

            switch (result.Status)
            {
            case StatusCode.NoServerAvailable:
            {
                var message = string.Format(
                    Properties.Messages.Error_ServerTemporaryUnavailable,
                    _serverTitle);

                return(new CommunicationException(
                           message,
                           _serverTitle,
                           CommunicationError.ServiceTemporaryUnavailable));
            }

            default:
            {
                var message = string.Format(
                    Properties.Messages.Error_CannotRetrieveServiceUrl,
                    _serverTitle,
                    result.Status);

                return(new CommunicationException(
                           message,
                           _serverTitle,
                           CommunicationError.Unknown));
            }
            }
        }
        /// <summary>
        /// Creates exception to be thrown upon load balancing service failure.
        /// </summary>
        /// <param name="result">Instance of the service url retrieval result
        /// to create exception for.</param>
        /// <returns>A new instance of the class derieved from <see cref="System.Exception"/>
        /// containing error details.</returns>
        private Exception _CreateException(LoadBalanceResult result)
        {
            Debug.Assert(result != null, "Result should not be null");
            Debug.Assert(
                result.Status != StatusCode.Succeed,
                "Cannot create exceptions upon success");

            switch (result.Status)
            {
                case StatusCode.NoServerAvailable:
                    {
                        var message = string.Format(
                            Properties.Messages.Error_ServerTemporaryUnavailable,
                            _serverTitle);

                        return new CommunicationException(
                            message,
                            _serverTitle,
                            CommunicationError.ServiceTemporaryUnavailable);
                    }

                default:
                    {
                        var message = string.Format(
                            Properties.Messages.Error_CannotRetrieveServiceUrl,
                            _serverTitle,
                            result.Status);

                        return new CommunicationException(
                            message,
                            _serverTitle,
                            CommunicationError.Unknown);
                    }
            }
        }