예제 #1
0
        public static void Configuration()
        {
            IConfigurationSource configurationSource = ConfigurationSourceFactory.Create();
            PolicyInjector       policyInjector      = new PolicyInjector(configurationSource);

            PolicyInjection.SetPolicyInjector(policyInjector);
        }
예제 #2
0
        static ApiClient()
        {
            //设置策略注入
            IConfigurationSource configurationSource = ConfigurationSourceFactory.Create();
            var injector = new PolicyInjector(configurationSource);

            PolicyInjection.SetPolicyInjector(injector);
        }
예제 #3
0
        static APIClient()
        {
            IConfigurationSource configurationSource = ConfigurationSourceFactory.Create();
            var injector = new PolicyInjector(configurationSource);

            try {
                PolicyInjection.SetPolicyInjector(injector);
            } catch { }
        }
예제 #4
0
        public static Operation GetInstance()
        {
            if (single == null)
            {
                IConfigurationSource configurationSource = ConfigurationSourceFactory.Create();
                PolicyInjector       policyInjector      = new PolicyInjector(configurationSource);
                PolicyInjection.SetPolicyInjector(policyInjector);

                single = PolicyInjection.Create <Operation>();
            }

            return(single);
        }
예제 #5
0
        static void UsingPIABWithFacade()
        {
            // Configure the logger first.
            ConfigureLogger();

            // Bootstrap the Policy Injection Application Block
            // and configure the interceptable type.
            // This example loads the configuration from the config file.
            PolicyInjection.SetPolicyInjector(new PolicyInjector(new SystemConfigurationSource(false)), false);
            var tenantStore = PolicyInjection.Create <InterceptableTenantStore>();

            // Use the interceptable type
            Console.WriteLine("*** Invoking the Save method ***");
            tenantStore.Save();
            Console.WriteLine("*** Invoking the Modify method ***");
            tenantStore.Modify();
        }
예제 #6
0
        public MainForm()
        {
            InitializeComponent();
            PopulateUserList();
            ConfigureLogging();
            IUnityContainer container = new UnityContainer();

            container.AddNewExtension <Interception>();
            container.AddNewExtension <TransientPolicyBuildUpExtension>();
            container.Configure <Interception>()
            .AddPolicy("Policy")
            .AddMatchingRule <TypeMatchingRule>("Type Matching Rule",
                                                new InjectionConstructor(
                                                    new InjectionParameter(typeof(BusinessLogic.BankAccount)))
                                                )
            .AddCallHandler <LogCallHandler>(
                new ContainerControlledLifetimeManager(),
                new InjectionConstructor(0, true, true, "Before Invoking", "After Invoking", false, true, true, -1, 1));
            PolicyInjection.SetPolicyInjector(new PolicyInjector(container), false);
            bankAccount = PolicyInjection.Create <BusinessLogic.BankAccount>();
        }
예제 #7
0
 private void SetupContainer(string globalCallHandlerName)
 {
     PolicyInjection.SetPolicyInjector(new PolicyInjector(CreateConfigurationSource(globalCallHandlerName)), false);
 }
예제 #8
0
 public void TestInitialize()
 {
     PolicyInjection.SetPolicyInjector(new PolicyInjector(new SystemConfigurationSource(false)), false);
 }