The letter „U” in CRUD means Update. Is that something hard to do in our applications? Of course not! We simply get some data, change the value of selected columns and save our changes. That’s it. However, sometimes thing may not go so smooth, especially when we (as programmers) wouldn’t predict some edge-case scenarios. One of this is updating same data by many users at the same time. That’s why today’s post will be dedicated to the concept of optimistic concurrency and implementing that using Entity Fr...
[EN] Offline Pessimistic Lock in Entity Framework (or any other ORM) | WellDesignedSoftwareException
It was always surprising to me that so few projects were started with data access concurrency in mind. I’ve heard many discussions about new fancy frameworks and UI controls the teams were about to use but possibility of concurrent access to users’ data didn’t appear to be a concern in their minds. Wen you think about it, it seems to be very logical. People have a natural tendency to avoid problems they haven’t encountered directly. There are so few people with attitude of challenging o...
Architektura 3372 dni, 8 godzin, 42 minuty temu 104 źrodło rozwiń
If you have read about the new features in 4.0 then probably you stumbled on a SpinWait structure and a MSDN article and the example code it provides. I'm going to show you what I think it's wrong with it.
W przypadkach, gdy dane edytowane są dość rzadko i przez niewielką liczbę użytkowników, najczęściej stosowanym modelem blokowania danych do edycji jest… brak blokowania. Mówiąc konkretnie – chodzi o OCC, czyli Optimistic Concurrency Control. Pytanie to – w wersji teoretycznej – poruszane było nie tak dawno na devpytaniach. Jeśli możemy założyć, że konflikty będą występować rzadko lub jest to akceptowalne w konkretnym przypadku, który mamy zaprogramować, użycie optymistycznego blokowania jest dobrym i pro...
Bazy danych i XML 4918 dni, 5 godzin, 19 minut temu 310 źrodło rozwiń
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. Współbieżność (ang. concurrency) w serwisie WCF występuje, kiedy jednocześnie więcej niż jedno wywołanie ma miejsce. Celem serwisu WCF jest przetwarzanie przychodzących żądań. Kiedy żądanie przychodzi do serwisu, serwis rozdziela (ang. dispatch) komunikaty na własne wątki, które brane są z puli wątków. Z każdym żądaniem powiązany jest obiekt serwisu – instancja klasy, która implementuje interfejs serwisu. W WCF...
Programowanie rozproszone 5315 dni, 20 godzin, 4 minuty temu 78 źrodło rozwiń