Говоря о касторовом масле, есть ли какая-либо информация об эффективности перорального приема по сравнению с наружным? Если наружное более эффективно, то, предполагаю, при себорейном дерматите оно противопоказано?
Можете также поделиться способом применения обоих (сколько раз в неделю)?
СЕО Replicel обмолвился, что анонс возможно будет к концу года. Но что до самого релиза, ходят разговоры, что он может быть аж в 22-23 годах из-за длительной третьей фазы клинических испытаний в Японии.
Нейтральным решением могла бы быть возможность прятать посты из ленты. Открыл, пролистал, выбрал посты которые «гуано, неинтересно, прочел-и-забыл» и дропнул. И вот лента уже не шесть страниц, а две.
Проглядел участок кода, где на Set в ExecutionContext-е происходит создание нового словаря с копированием содержимого. Ну а раз у нас одно из значений — long…
Используя [ThreadStatic] переменную для контекста, я получал полную кашу (в начале метода её инициализирую, а на после чтений из БД получаю значение от другого запроса).
С MSDN
Indicates that the value of a static field is unique for each thread.
Так что вполне ожидаемое поведение
ExecutionContext же не связан с конкретным потоком, а логически завязан на поток исполнения.
Специально для хранения пользовательских переменных и получения к ним доступа в static-контекстах есть словарик HttpContext.Current, чтобы не изобретать велосипеды.
Мир не одним Web-ом един. Для Presentation-слоя это может и сойдет, но вы же не будете тянуть System.Web в DAL или консольное приложение?
AsyncLocal-данные хранятся в словаре _localValues ExecutionContext-а. Т.к. при создании таски через StartNew происходит захват контекста, то «дочерний» контекст получает все данные «родительского». А так как автор использует обертку для данных в виде ErrorContext, то два ExecutionContext-а шарят референс на инстанс ErrorContext-а. Так что ConcurrentBag вполне уместен.
В вашем примере, значение остается нулевым, т.к. референс на parentEc._localValues != childEc._localValues, а значит, что при инкременте замена объекта в _localValues внутри созданной таски происходит только для childEc._localValues.
А вот почему ссылки словарей различаются я пока не понял. Словно производится копирование содержимого родительского _localValues в дочерний, хотя по коду ExecutionContext.Capture копирует лишь ссылку на словарь.
Что-то подсказывает, что такая инициализация контекста в фильтре может ударить по перфомансу при нагрузке.
Не лучше ли вынести этот код в какой-нибудь ErrorContextInitializationMiddleware и зарегистрировать на PreHandlerExecute стэйдж? Тогда синхронизации доступа к Current контексту не понадобится, а логирование вынести в кастомный IExceptionLogger (раз уж речь в статье идет о ASP.NET WebAPI)
Аналогичная проблема, но не только со скайпом, а еще и с Edge. Помнится, когда его только завезли, удивился как быстро грузятся страницы и вкладки открываются моментально. Через неделю использования появились и задержки в открытии\закрытии вкладок, и загрузка и отзывчивость страниц сильно упала.
Потом с выходом мажорного обновления (вроде, когда завезли расширения) браузер снова забегал. Но бегал он всего пару дней, а потом, видимо, снова устал.
Похожее случается на моем стареньком Dell. Мне помогает включение\выключение режима полета.
Но это ничто, по сравнению с реакцией ноута на закрытие крышки при опции Do Nothing: экран гаснет и светит подсветкой, но обратно загораться отказывается. Помогает только усыпление.
Испытания разных образцов Samsung Galaxy S7 (32 GB) SM-G930F показали и разные результаты: один образец работал как и ранее сразу после извлечения из воды; в другом слегка приглушился звук, выходящий из микрофона. А вот у третьего образца перестала работать кнопка питания, под стекло фронтальной камеры затекла вода и вышел из строя тачскрин. После того как смартфон высох, проблемы не ушли. Вдобавок производительность устройства понизилась.
но в скоупе проекта\солюшена, а не только класса.
Можете также поделиться способом применения обоих (сколько раз в неделю)?
С MSDN
Так что вполне ожидаемое поведение
ExecutionContext же не связан с конкретным потоком, а логически завязан на поток исполнения.
Мир не одним Web-ом един. Для Presentation-слоя это может и сойдет, но вы же не будете тянуть System.Web в DAL или консольное приложение?
del
del
Выведет 997-1000 из-за конкурентного доступа
AsyncLocal-данные хранятся в словаре _localValues ExecutionContext-а. Т.к. при создании таски через StartNew происходит захват контекста, то «дочерний» контекст получает все данные «родительского». А так как автор использует обертку для данных в виде ErrorContext, то два ExecutionContext-а шарят референс на инстанс ErrorContext-а. Так что ConcurrentBag вполне уместен.
В вашем примере, значение остается нулевым, т.к. референс на parentEc._localValues != childEc._localValues, а значит, что при инкременте замена объекта в _localValues внутри созданной таски происходит только для childEc._localValues.
А вот почему ссылки словарей различаются я пока не понял. Словно производится копирование содержимого родительского _localValues в дочерний, хотя по коду ExecutionContext.Capture копирует лишь ссылку на словарь.
Не лучше ли вынести этот код в какой-нибудь ErrorContextInitializationMiddleware и зарегистрировать на PreHandlerExecute стэйдж? Тогда синхронизации доступа к Current контексту не понадобится, а логирование вынести в кастомный IExceptionLogger (раз уж речь в статье идет о ASP.NET WebAPI)
Да и после Tiberium twilight веры в то, что EA выпустит что-то перевариваемое, уже нет.
Потом с выходом мажорного обновления (вроде, когда завезли расширения) браузер снова забегал. Но бегал он всего пару дней, а потом, видимо, снова устал.
Но это ничто, по сравнению с реакцией ноута на закрытие крышки при опции Do Nothing: экран гаснет и светит подсветкой, но обратно загораться отказывается. Помогает только усыпление.