public static void RegisterMef() { var container = ConfigureContainer(); // use MEF for providing instances // RegistrationBuilder context = new RegistrationBuilder(); // Install MEF dependency resolver for Web API var dependencyResolver = System.Web.Http.GlobalConfiguration.Configuration.DependencyResolver; System.Web.Http.GlobalConfiguration.Configuration.DependencyResolver = new MefDependencyResolver(container); //IDependencyScope // //https://weblog.west-wind.com/posts/2016/Dec/12/Loading-NET-Assemblies-out-of-Seperate-Folders Database.SetInitializer <WebHookStoreContext>(null); IDataProtector protector = Michal.Balador.Infrastructures.Security.DataSecurity.GetDataProtector(System.Configuration.ConfigurationManager.AppSettings["k"].ToString()); ILogger logger = dependencyResolver.GetLogger(); Microsoft.AspNet.WebHooks.Config.SettingsDictionary settings = dependencyResolver.GetSettings(); string nameOrConnectionString = null; string schemaName = null; string tableName = null; var store = new SqlWebHookStore(settings, protector, logger, nameOrConnectionString, schemaName, tableName); //it's singleton!! container.ComposeExportedValue <IWebHookStore>(store); var behaviors = new BehaviorItems <Behavior>(); behaviors.Add(new ChangeMessageItemBehavior()); behaviors.Add(new PostMessageItemBehavior()); container.ComposeExportedValue(behaviors); //it's singleton!! // var context = new BaladorContext(); // container.ComposeExportedValue<IBaladorContext>(context); // container.ForType(typeof(ApplicationDbContext)) //.Export(builder => builder.AsContractType(typeof(IUnitOfWork))) //.SetCreationPolicy(CreationPolicy.NonShared); }
public async Task <ResponseBase> Run(BehaviorItems <Behavior> behaviors = null) { return(await Task.FromResult(new ResponseBase())); }