АСП.НЕТ МВЦ - Истовременост базе података

Преглед садржаја
Руковање сагласност У веб апликацијама то је једна од тема којој морамо посветити мало квалитетног времена, јер због саме природе апликације можемо пронаћи случајеве у којима неколико корисника мора комуницирати с истим елементом.
Само по себи је интеракција То није проблем, прави проблем долази када је након што сте изменили или додирнули овај елемент потребно да га сачувате у бази података, а затим два или више корисника желе да изврше радњу на истом елементу истовремено, то је где наша логика мора да дефинише понашање да би знала који је прави начин да се то реши.
Као што смо објаснили на почетку, сагласност То је када два или више актера раде на елементу у нашој апликацији, генеришући радњу против базе података.
Случај паралелностиПроблеми могу настати када су промене у сукобу, на пример: корисник А је сачувао вредност, али је корисник Б у то време такође мењао и сачувао другу вредност, у очима корисника А њен садржај није измењен и у очима корисника Б, ништа га није спречило да изврши промену.
Ове врсте сукоба могу нарушити перформансе наше апликације у очима корисника, па морамо процијенити да ли ће се подручја која имамо исплатити или не програмирати за истовременост.
Хајде да видимо неке врсте истовремености, на овај начин можемо схватити мало више које врсте радњи можемо извршити у нашим апликацијама:
Песимистичка истовременостОвај приступ предлаже да приликом коришћења базе података направимо превентивно блокирање регистра који се користи, чиме избјегавамо да више корисника истовремено мијења вриједност, проблем резултира тиме што у веб окружењу није могуће темељито га користити, будући да не постоје стања која не знамо да ли је закључавање је примењен или уклоњен док не комуницирамо са сервером, стварајући забуну и спорост у употреби.
Оптимистична излазностОвај други приступ, уместо тога, чини нешто мало компатибилније са вебом, при измени, пре него што се сачува у бази података, проверава да подаци нису измењени од тренутка читања, за то вршимо поређење вредности записа и придружено поље које има временску ознаку са датумом, временом и секундама ради веће тачности.
АСП.НЕТ МВЦ Не подржава песимистички приступ, па морамо радити са оптимистичним, јер за то морамо нашим структурама дати поља са датумима како бисмо сачували последњи пут када је измењена, тако да можемо знати да ли је вредност промењена након што смо добили запис и пре него што га сачувамо, са овим можемо добити упозорење и на тај начин одлучити да ли ћемо те вредности пребрисати или не.
Погледајмо мали пример кода како бисмо ово могли да потврдимо:

Тада примећујемо да приликом промене у бази података потврђујемо да ли је поље измењено након читања, ако је тако правимо изузетак, са овим ћемо моћи да предузмемо одговарајуће радње, такође остављамо простор за рад на различитим изузецима који се могу генерисати.
На крају овог водича већ знамо нешто више о истовремености у базама података и о томе како ријешити проблем у АСП.НЕТ МВЦ.
wave wave wave wave wave