Ma'lumotlar kontekstlari statik bo'lishi kerakmi?

Men ob'ekt ramkasi 4 dan foydalanmoqdaman va asosiy sinflardan birida model uchunma'lumotlar kontekstini yarataman. Lekin men uni profillashda boʻldim va har safar soʻrov oʻtkazmoqchi boʻlganimda kontekst yaratilmoqda, shuning uchun uni faqat bir marta yaratilishi va har doim qayta ishlatilishi uchunstatik qilish haqida oʻyladim.

Sizningcha, bu buni qilishning eng yaxshi usuli va ma'lumotlar/ob'ekt konteksti har doim statik bo'lishi kerakmi? Uni statik qilishning kamchiliklari bormi? Ma'lumotlar kontekstlari statik yoki statik bo'lmagan bo'lishi kerakmi? Har qanday fikr va takliflar qabul qilinadi.


person Vishal    schedule 02.11.2010    source manba
comment
DataContext va ObjectContextning ishlash muddati bo'yicha SO bo'yicha KO'P savollar mavjud. stackoverflow.com/search?q=Datacontext+lifetime   -  person Ian Mercer    schedule 02.11.2010
comment
veb-ilovadagi LinqToSql statik DataContextning mumkin bo'lgan nusxasi   -  person Ian Mercer    schedule 02.11.2010


Javoblar (2)


Yo'q. Ular har doim statik bo'lmasligi kerak.

Siz aslida statik bo'lmagan ekvivalentdan ko'ra Statik ma'lumotlar konteksti bilan boshqa ko'plab muammolar bilan shug'ullanishingiz mumkin (masalan, alohida seanslardan bir nechta foydalanuvchi bir nechta mavzulardan bir xil kontekstga kirishi kabi).

Men batafsil tushuntirishga kirmoqchi emasman, chunki u erda tafsilotlarni o'z ichiga olgan juda yaxshi blog postlari mavjud:

Linq to SQL DataContext Lifetime Management - Rik Strahlning veb jurnali (ko'rinishi mumkin emas) tegishli, lekin hali ham)

Obyekt yaratish Framework (v1) ishi, 1-qism: DataContext umrbod boshqaruvi(agar sizga Rikning yechimi yoqmasa, mumkin boʻlgan muqobil uchun)

person Justin Niessner    schedule 02.11.2010

Ma'lumotlar kontekstlari har doim statik bo'lishi kerakmi?

Yo'q, ular (deyarli*) hech qachon statik bo'lmasligi kerak. DataContext yaratish arzon, chunki ular ish birligi sifatida foydalanish uchun mo'ljallangan. Shunday qilib, har bir "suhbat" uchun bitta DataContext bo'lishi kerak (bu sizning kontekstingiz uchun nima bo'lishidan qat'i nazar).

*: To'g'ri javob, ehtimol ular hech qachon statik bo'lmasligi kerak, lekin men har doim yoki hech qachon bo'lmagan dasturiy maslahatlarga shubha bilan qarayman. Shunday qilib, bu hamma narsadan ko'ra ko'proq chayqalishdir.

person jason    schedule 02.11.2010