Enterprise library 6 企业库6.0迁移

Enterprise library 6 企业库6.0迁移,enterprise-library-6,Enterprise Library 6,在我们的项目中,我们使用Enterprise library 5.0进行异常处理。现在,我们正计划使用Enterprise library 6.0,并且我们面临EnterpriseLibraryContainer.Current在Enterprise library 6.0中不可用的问题 我找到了这个链接 它提到了6.0的LogWriter迁移。我想用同样的方法处理例外情况。 下面是与我们的项目类似的示例代码 EHConfigMgr.cs var builder = new Config

在我们的项目中,我们使用Enterprise library 5.0进行异常处理。现在,我们正计划使用Enterprise library 6.0,并且我们面临EnterpriseLibraryContainer.Current在Enterprise library 6.0中不可用的问题

我找到了这个链接 它提到了6.0的LogWriter迁移。我想用同样的方法处理例外情况。 下面是与我们的项目类似的示例代码

EHConfigMgr.cs

    var builder = new ConfigurationSourceBuilder();
    var exceptionHandlingBuilder = builder.ConfigureExceptionHandling();
    ServiceLocator.Current.GetAllInstances<IExceptionHandlingConfigurator>().ToList().ForEach(c => c.ConfigureExceptinHandling(exceptionHandlingBuilder));

    exceptionHandlingBuilder.GivenPolicyWithName("WCF Exception Shielding")
            .ForExceptionType<FaultException<ValidationFault>>()
            .HandleCustom<WcfRethrowValidationFaultHandler>()
            .ThenThrowNewException();

        var tempAppConfigPath = Path.GetTempFileName();
        File.Copy(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile, tempAppConfigPath, true);
        File.SetAttributes(tempAppConfigPath, FileAttributes.Normal);
        var configSource = new FileConfigurationSource(tempAppConfigPath, false);
        var s = new DictionaryConfigurationSource();

        builder.UpdateConfigurationWithReplace(configSource);
        EnterpriseLibraryContainer.Current = EnterpriseLibraryContainer.CreateDefaultContainer(configSource);
var builder=new ConfigurationSourceBuilder();
var exceptionHandlingBuilder=builder.ConfigureExceptionHandling();
ServiceLocator.Current.GetAllInstances().ToList().ForEach(c=>c.ConfigureExceptionHandling(exceptionHandlingBuilder));
exceptionHandlingBuilder.GivenPolicyWithName(“WCF异常屏蔽”)
.ForExceptionType()
.HandleCustom()
.Then thrownewException();
var tempAppConfigPath=Path.GetTempFileName();
Copy(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile,tempAppConfigPath,true);
SetAttributes(tempAppConfigPath,FileAttributes.Normal);
var configSource=new FileConfigurationSource(tempAppConfigPath,false);
var s=新字典配置源();
builder.updateConfiguration WithReplace(配置源);
EnterpriseLibraryContainer.Current=EnterpriseLibraryContainer.CreateDefaultContainer(configSource);
Proxybase.cs

    protected ProxyBase()
    {
        ExceptionManager = EnterpriseLibraryContainer.Current.GetInstance<ExceptionManager>();
    }
ProxyBase()受保护
{
ExceptionManager=EnterpriseLibraryContainer.Current.GetInstance();
}

请帮助我在不影响现有功能的情况下更改proxybase。

此链接的可能副本解决了如何使用handleexception方法,其中我使用的是exceptionmanager.process方法。