/// <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); }
/// <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 }); }