SORU
13 HAZİRAN 2011, PAZARTESİ


ASP.NET MVC istek başına bir DbContext (IOC konteyner olmadan)

Dilerim bu zaten cevap olmuştur, ama ne olursa IOC konteyner kullanıyorsanız değil istek başına bir Varlık Çerçevesi DbContext garanti ediyor musunuz? (Rastladığım cevaplar şimdiye kadar IOC konteyner çözümleri ile anlaşma.)

En çözümleri HttpContext.Current.Items sözlüğün içine kanca gibi görünüyor, ama nasıl istek bittiğinde DbContext bertaraf garanti ediyor musunuz? (Veya elden çıkarılacak DbContext? EF) ile kesinlikle gerekli değildir

Edit

Şu anda ve benim kontrol benim DbContext başlatmasını imha ediyorum, ama ben de ActionFilters ve benim Gelen (ve ben sadece fark, aynı zamanda bir kaç elemanları) benim DbContext birkaç ayrı örneklemesi var. Yani, benim DbContext örnekleme ve depolama giderlerini azaltmak için merkezileştirmek için iyi bir fikir olabileceğini düşündüm.

CEVAP
13 HAZİRAN 2011, PAZARTESİ


BeginRequest/EndRequest yöntemi, bu içeriğiniz düzgün isteği ile sona erdi bertaraf olmasını sağlar kullanırdım.

protected virtual void Application_BeginRequest()
{
    HttpContext.Current.Items["_EntityContext"] = new EntityContext();
}

protected virtual void Application_EndRequest()
{
    var entityContext = HttpContext.Current.Items["_EntityContext"] as EntityContext;
    if (entityContext != null)
        entityContext.Dispose();
}

Ve EntityContext sınıf...

public class EntityContext
{
    public static EntityContext Current
    {
        get { return HttpContext.Current.Items["_EntityContext"] as EntityContext; }
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • dhcrr's channel

    dhcrr's chan

    2 Ocak 2007
  • engineerguy

    engineerguy

    10 Ocak 2010
  • Menglong Tav

    Menglong Tav

    18 Temmuz 2010