Beispiel #1
0
        /// <summary>
        /// Builds the exception handler represented by this configuration object.
        /// </summary>
        /// <returns>An <see cref="IExceptionHandler"/>.</returns>
        public override IExceptionHandler BuildExceptionHandler()
        {
            var exceptionMessageResolver =
                new ResourceStringResolver(this.ExceptionMessageResourceType, this.ExceptionMessageResourceName, this.ExceptionMessage);

            return(new FaultContractExceptionHandler(exceptionMessageResolver, Type.GetType(this.FaultContractType), this.Attributes));
        }
        /// <summary>
        /// Builds the exception handler represented by this configuration object.
        /// </summary>
        /// <returns>An <see cref="IExceptionHandler"/>.</returns>
        public override IExceptionHandler BuildExceptionHandler()
        {
            IStringResolver resolver
                = new ResourceStringResolver(ExceptionMessageResourceType, ExceptionMessageResourceName, ExceptionMessage);

            return(new ReplaceHandler(resolver, ReplaceExceptionType));
        }
        /// <summary>
        /// Builds the exception handler represented by this configuration object.
        /// </summary>
        /// <returns>An <see cref="IExceptionHandler"/>.</returns>
        public override IExceptionHandler BuildExceptionHandler()
        {
            var exceptionMessageResolver =
                new ResourceStringResolver(ExceptionMessageResourceType, ExceptionMessageResourceName, ExceptionMessage);

            return(new WrapHandler(exceptionMessageResolver, this.WrapExceptionType));
        }
        public void ResourceStringResolverUsesTypeNameAndNameIfBothAreAvailable()
        {
            string          resourceTypeName = typeof(Resources).AssemblyQualifiedName;
            string          resourceName     = "CategoryHelp";
            string          fallbackValue    = "fallback";
            IStringResolver resolver         = new ResourceStringResolver(resourceTypeName, resourceName, fallbackValue);

            Assert.AreEqual(Resources.CategoryHelp, resolver.GetString());
        }
        public void ResourceStringResolverUsesFallbackValueIfResourceNameIsNull()
        {
            Type            resourceType  = typeof(Resources);
            string          resourceName  = null;
            string          fallbackValue = "fallback";
            IStringResolver resolver      = new ResourceStringResolver(resourceType, resourceName, fallbackValue);

            Assert.AreEqual(fallbackValue, resolver.GetString());
        }
        public IExceptionHandler Assemble(IBuilderContext context, ExceptionHandlerData objectConfiguration, IConfigurationSource configurationSource, ConfigurationReflectionCache reflectionCache)
        {
            WrapHandlerData castedObjectConfiguration
                = (WrapHandlerData)objectConfiguration;
            IStringResolver exceptionMessageResolver
                = new ResourceStringResolver(
                      castedObjectConfiguration.ExceptionMessageResourceType,
                      castedObjectConfiguration.ExceptionMessageResourceName,
                      castedObjectConfiguration.ExceptionMessage);
            WrapHandler createdObject = new WrapHandler(exceptionMessageResolver, castedObjectConfiguration.WrapExceptionType);

            return(createdObject);
        }
Beispiel #7
0
        /// <summary>
        /// Retrieves a container configuration model for a <see cref="WrapHandler"/> based on the data in <see cref="WrapHandlerData"/>
        /// </summary>
        /// <param name="namePrefix">The name to use when building references to child items.</param>
        /// <returns>A <see cref="TypeRegistration"/> to register a <see cref="WrapHandler"/> in the container</returns>
        public override IEnumerable <TypeRegistration> GetRegistrations(string namePrefix)
        {
            var exceptionMessageResolver =
                new ResourceStringResolver(ExceptionMessageResourceType, ExceptionMessageResourceName, ExceptionMessage);

            yield return
                (new TypeRegistration <IExceptionHandler>(
                     () => new WrapHandler(exceptionMessageResolver, WrapExceptionType))
            {
                Name = BuildName(namePrefix),
                Lifetime = TypeRegistrationLifetime.Transient
            });
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="namePrefix"></param>
        /// <returns></returns>
        public override IEnumerable <TypeRegistration> GetRegistrations(string namePrefix)
        {
            var exceptionMessageResolver =
                new ResourceStringResolver(ExceptionMessageResourceType, ExceptionMessageResourceName, ExceptionMessage);

            yield return(new TypeRegistration <IExceptionHandler>(
                             () => new FaultContractExceptionHandler(exceptionMessageResolver, Type.GetType(this.FaultContractType), this.Attributes)
                             )
            {
                Name = BuildName(namePrefix),
                Lifetime = TypeRegistrationLifetime.Transient
            });
        }