Hizmet katmanına sahip Ninject, Entity Framework ve Work of Unit desenini kullanan bir MVC3 projem var.Konu/Konularla İlgili Konular Konu/Konuyu Başlatan Özet
AsyncService sınıfım, örnek olarak Kullanıcı havuzuna kullanıcı ekleyen bir arka plan görevini başlatan bir işleve sahiptir. Geçerli sorunum, DbContext öğesinin atıldığı bir hata oluşmadan önce görevin yalnızca birkaç saniye boyunca doğru şekilde çalışmasıdır. InjectquestScope() tarafından HttpContext'e bağlandığı için, Ninject'in InRequestScope() yöntemiyle enjekte edilen veritabanı içeriğim bertaraf ediliyor gibi görünüyor.
InThreadScope() hakkında okudum, ancak MVC projemde düzgün şekilde nasıl uygulanacağından emin değilim.
Soruma Soru: Görevimde Ninject'i kullanmanın doğru yolu nedir? bu durumda kullanılamaz böylece
public class AsyncService
{
private CancellationTokenSource cancellationTokenSource;
private IUnitOfWork _uow;
public AsyncService(IUnitOfWork uow)
{
_uow = uow;
}
public void AsyncStartActivity(Activity activity)
{
...snip...
this.cancellationTokenSource = new CancellationTokenSource();
var cancellationToken = this.cancellationTokenSource.Token;
var task = Task.Factory.StartNew(() =>
{
foreach (var user in activity.UserList)
{
this._uow.UserRepository.Add(new User() {UserID = user});
}
this._uow.Save();
}, cancellationToken);
...snip...
}
}
Execute()
bir örnek kod var, 1 yöntemi ile bir arayüz? Jason, işe alabildiğin yer neresi? Aynı problemi yaşıyorum ve bağlantıyı takip etmek yardım etmedi. –Aynı sorunu yaşıyorum, bu senaryo için bazı örnek kodları görmek isterim. –