簡體   English   中英

Signalr集線器單例中的依賴注入

[英]Dependency injection in Signalr hub singleton

我使用Ninject進行依賴項注入,我有這樣的東西:

    private IUnitOfWork unitOfWork;

    public ChatHub(IUnitOfWork unitOfWork)
    {
        this.unitOfWork = unitOfWork;
    }

但是問題在於Hub是一個單例,僅創建一次UnitOfWork,這意味着我始終使用相同的UnitOfWork對象。 它與每次請求到來時都會創建的控制器不同,因此UnitOfWork的范圍也是針對每個請求的。

我的問題是,盡管集線器是單例的,我是否可以設置為實例化和分配給集線器的每個要求的unitOfWork?

您可以嘗試:

public interface IUnitOfWorkFactory
{
    IUnitOfWork Create();
}

public class UnitOfWorkFactory : IUnitOfWorkFactory
{
    public IUnitOfWork Create()
    {
        // creation of the unit of work
        return new UnitOfWork();
    }
}

在您的中心:

using (var unitOfWork = this.unitOfWorkFactory.Create())
{
    // use it here
    // i'm assuming that your unit of work implements IDisposable
}

暫無
暫無

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

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