« first day (108 days earlier)      last day (2 days later) » 

05:44
Наткнулся сегодня на интересные грабли в ASP.NET. Сайт начал тормозить, стал разбираться, смотрю - БД для сессий (ASPState) подозрительно большая, и сжатие не помогает. Оказалось, для нее была установлена полная модель восстановления, а при этой модели лог транзакций автоматически не очищается, пока не сделать резервную копию. В результате он бесконечно рос, вырос до 10 ГБ, и при этом размере дальнейшие операции увеличения стали занимать слишком долгое время.
Так что надо базу ASPState переключать в простую модель восстановления, учитывая, что в ней ничего критичного не храниться.
 
10 hours later…
15:17
А ты как сессии используешь – только для авторизации или ещё какие-то данные там хранишь?
Кстати, какие вообще критерии выбора, когда лучше сессии, а когда что-то другое?
Я слышала, что если Redis настроить, то он помогает с этим и автоматически очищает память. Ты с таким сталкивался?
Просто думаю, надо ли мне это в Blazor Server или пока LocalStorage норм
16:06
@Dev18 У нас только для авторизации. Насчет критериев не задумывался, вроде слышал только, что состояние сессии - это плохо для сайтов с высокой нагрузкой, из-за того что там при определенных условиях запросы выполняются последовательно, и один тяжелый запрос все завесит.
Redis это как раз для высоконагруженных приложений. Нам он не нужен, так как сайт достаточно маленький, и на старой версии ASP.NET Web Forms. К нему и нелегко его прикрутить.
15
A: Использование механизма сессий для хранения временных данных

user177221Безопасно. Сессия полностью хранится на серверной стороне. Но вот разумно ли - зависит от мнения. Мое мнение: НИ В КОЕМ СЛУЧАЕ НЕ ИСПОЛЬЗУЙТЕ СТАНДАРТНЫЙ МЕХАНИЗМ СЕССИЙ В ASP.NET ...и опирающийся на него же механизм TempData. Практически ни к коем случае, кроме редких исключений, описанных в к...

^ вот ответ про то, почему сессии это плохо.
Если плохо, зачем используете? Или просто так было уже...
Мне казалось, это удобно, чтоб вот когда сохранить данные и настройки, если корзина? Нет?
Да, уже было до меня. Плюс производительность в принципе устраивает, надо только не забывать следить за состоянием базы.
У нас там в сессии только для удобства храниться идентификатор организации пользователя. Возможно, легко от нее избавиться, но потребности пока нет.
А, тогда логично. Если работает и не мешает – зачем переделывать///работает не трогай первое правило🗿
Я использую локал стораж в блазор
Но я писала с нуля
 
3 hours later…
19:36
@SmallSoft Cостояние плохо для высоконагруженных приложений тем, что мешает их горизонтально масштабировать. Грубо говоря, при использовании сессии приходится следить еще и за тем, чтобы один и тот же пользователь всегда попадал на один и тот же инстанс (Sticky Sessions). Это приводит к неравномерной нагрузке. А если инстанс падает, все активные сессии теряются. Вот почему приходится либо хранить сессии во внешнем хранилище (Redis, Memcached) или использовать JWT.
Jwt топ
@SmallSoft я два раза открыла, чтоб почитать и два раза закрыла 😹😹😹почему такой большой шрифт
@SmallSoft Чето автор поста перегнул палку. У него там несколько спорных (может даже ошибочных) утверждений.
19:53
@Uranus какой самый верный способ по вашему обновлять jwt без напряга для юзера. Невозможно же точно рассчитать, когда он протухнет
Так вот, чтоб не было даже малейшего дизконекта, есть какие то бест пратис?
20:12
@Dev18 А что вы имеете в виду под "невозможно рассчитать"? Время жизни (exp) зашито в самом JWT, плюс любой уважающий себя OAuth-сервер должен возвращать его (время жизни) отдельно в ответе (вместе с токенами).
@Dev18 Лучший подход что я видел - обновлять токен за пару минут до истечения, чтобы избежать прерываний. Особо упоротые обрабатывают 401 (Unauthorized) и обновляют токен при ошибке - но это скорее дополнительная защита, чем основная стратегия.
@Uranus я говорю про те oauth сервис, что не уважают ни себя ни тех кто их юзает... И времени не говорят 😹. Но это исключения, вы правы. Вообще лучше готовые сервисы использовать, которые рекомендует документация, но не все соглашаются их интегрировать в свой легаси. 401 жесть🗿
Юзер корзину заполняет, оплачивает и ему 401...бииим
Я один раз перед новым годом не успевала, и решила заказать шоколад онлайн, они мне открытым меилом пароль и юзер... Отправили. Я вышла закрыла сайт... Заказала доставку🗿я это к тому, что юзер, если видит малейший дискомфорт или странность к сайту теряет интерес по моему... Можно ли как то рассчитать, чтоб время падало например на 4 утра... Этого токена. Ну чтоб не мешать работе сайта. Ну или вычислить, что юзер не активен.... Хотя... Если уж на то пошло у меня бывает банковское приложение
Выбрасывает и пишет обновляется.... То есть казалосьбы банковское приложение,.... Также бывает сбой иногда. Такие моменты выселяют надежду, что мол смотри Фарида, нет идеальных сайтов или приложений
А хочется, чтоб то что пишешь было идеальным
У меня общий вопрос к чату, надо ли менять название чата? Недавно один из участников спросил что то указав название чата, есть ли вероятность, что может сбивать с толку, есть ли правила, что если название такое то то и темы такие то...
20:54
"Можно ли как то рассчитать, чтоб время падало например на 4 утра... Этого токена. Ну чтоб не мешать работе сайта."

Можно, но для этого нужно управлять TTL токена на сервере при его выдаче. Можно выдавать access token с коротким TTL (15-30 минут), а refresh token - с истечением в 4:00 утра.

« first day (108 days earlier)      last day (2 days later) »