Мазмуну:

Entity Framework пессимисттик кулпулоону колдойбу?
Entity Framework пессимисттик кулпулоону колдойбу?

Video: Entity Framework пессимисттик кулпулоону колдойбу?

Video: Entity Framework пессимисттик кулпулоону колдойбу?
Video: Concurrency in ASP.NET Core | Optimistic | Pessimistic | C# 2024, Май
Anonim

Башка альтернатива болуп саналат оптимизмге кайрылуу кулпулоо . Документте ЕФ кылат курулган жок пессимисттик параллелдүүлүк колдоо . Бирок бул кылат сени деген эмес болот жок пессимисттик кулпу менен EF. Демек СИЗ БОЛОТ БАР ПЕССИМИСТТИК КУЛПОО EF МЕНЕН!

Мындан тышкары, Entity Framework параллелдүүлүктү кантип сактайт?

Entity Framework оптимисттик маанайды колдойт параллелдүүлүк демейки боюнча. EF сактайт а субъект маалыматтар базасына, ошол эле маалыматтар бери өзгөргөн жок деп ойлосок субъект жүктөлгөн. Эгер ал дайындар өзгөрдү деп тапса, анда өзгөчө жагдай чыгарылат жана аны кайра сактоого аракет кылуудан мурун чыр-чатакты чечүү керек.

Кошумча, Entity Framework параллелдүү режимде кардар утуштары жана дүкөн утуштары деген эмне? In дүкөн утат / маалымат базасы утат серверден маалыматтар сиздин компьютериңизге жүктөлөт субъект объектилер. Кардар утат карама-каршы турат сакталган утуштар , алынган маалыматтар субъект объект маалымат базасына сакталат. Биз "Жаңылоо" ыкмасын колдонушубуз керек объект алкагы контекст жана биз ошол эле үчүн "RefreshMode" энумун колдонушубуз керек.

Бул жерде, Entity Framework параллелдүү конфликттерди кантип чечет?

Кошумча конфликттерди чечүүнүн жалпы ыкмасы:

  1. SaveChanges учурунда DbUpdateConcurrencyException кармаңыз.
  2. DbUpdateConcurrencyException колдонуңуз.
  3. Маалыматтар базасындагы учурдагы маанилерди чагылдыруу үчүн параллелдүүлүк белгисинин баштапкы маанилерин жаңыртыңыз.
  4. Эч кандай чыр-чатак чыкмайынча процессти кайталап көрүңүз.

Web API параллелдүүлүктү кантип башкарат?

Кантип параллелдүүлүктү башкаруу ASP. NET Core ичинде Web API . MVC үчүн кызматтарды жана орто программаны кошуу үчүн бош долбоорду түзүп, Startup классын жаңыртыңыз. Көрсөтүү үчүн GET жана PUT менен контроллерди кошуңуз параллелдүүлүк . GET өтүнүчүн жөнөтүңүз жана ETag башын байкаңыз (Почтачыны колдонуу менен).

Сунушталууда: