[英]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.