簡體   English   中英

Autofac實例范圍解析

[英]Autofac instance scope resolving

我的基本CommandBus,CommandHandlers具有簡單的命令體系結構,這是命令總線的簡化版本。

public class CommandBus : ICommandBus
    {        
        private readonly ICommandHandlerFactory _commandHandlerFactory;     

        public CommandBus(ICommandHandlerFactory commandHandlerFactory)
        {
            this._commandHandlerFactory = commandHandlerFactory;
        }

        public CommandSummary Send<T>(T command) where T : ICommand
        {

            try
            {
                var handler = _commandHandlerFactory.GetHandler<T>();
                handler.Handle(command);
            }
            catch (Exception e)
            {
                return CommandSummary.Fail(e.Message, command);
            }
            return CommandSummary.Success(command, message: command.Message);
        }
    }

我想補充的是,它能夠在后台執行命令,或在以后安排命令。 我正在使用相對較新的庫HangFire (尚無SO標簽)來進行后台作業調度。

問題

我正在使用InstancePerApiRequest范圍注冊很多服務,並且當您在后台或稍后運行作業時,它不再屬於該范圍。

使用Autofac,一個人如何注冊一項服務,以便可以在多個實例范圍內對其進行解析?

在Autofac doc網站上,有一個相當詳細的FAQ,涉及使用每個請求的范圍以及處理“混合”用例的方法: http ://autofac.readthedocs.org/en/latest/faq/per-request-scope html的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM