Size: a a a

var chat = new Chat();

2020 December 06

NK

ID:0 in var chat = new Chat();
Обновления для .NET Core 2.1, 3.1, и .NET 5.0 будут доступны через Microsoft Update

https://devblogs.microsoft.com/dotnet/net-core-updates-coming-to-microsoft-update/

#Microsoft #Update #NET
источник

NK

ID:0 in var chat = new Chat();
В этом посте автор попытается упорядочить всю информацию касающуюся разработки мобильных и десктопных приложений на платформе .NET

https://nicksnettravels.builttoroam.com/net5-crossplatform/

#WinUI #MAUI #XamarinForms
источник

OZ

Oleksii Zaichenko in var chat = new Chat();
VD
А учитывая какие статус коды убогие и их количество
Именно  поэтому я и писал, что для ошибок БЛ можно отвести 1 статус код (для всех БЛ). Не под каждую ошибку БЛ по статус коду, а один под все ошибки. Я 2жды написал, т.к. мое предыдущее усточнение на эту тему, по видимому, осталось незамеченным.
источник

OZ

Oleksii Zaichenko in var chat = new Chat();
VD
Приведу наглядный пример почему ошибкам БЛ не место в хттп кодах:

Сегодня у вас есть какое-то АПИ, оно вас устраивает и оно поверх HTTP (а тобишь опять таки тот же RPC over JSON) и вы отдаёте ошибки БЛ статус кодами

Ваше апи популярно и у него много клиентов

Наступает момент когда нужно переехать на что-то другое, gRPC там или SOAP(упаси Боже)
И вот начинается настоящая катастрофа

У вас есть контракт описывающий типы сообщений по каждой точке, и этот контракт завязан на статус коды в случае ошибок

И тут при переезде на тот же gRPC вы понимаете что ошибки БЛ больше нельзя выразить привычным способом нормально

И полюбому начинаете городить свои варианты IsSuccess внутри сообщений или его аналоги через перечисление

Поздравляем: теперь у вас 2 разных АПИ с непохожим контрактом
> У вас есть контракт описывающий типы сообщений по каждой точке, и этот контракт завязан на статус коды в случае ошибок

Не на статус коды в случае ошибок, а как я сказал, на отдельный статус код в случае ошибки. Таким образом никакого "протекания" информации о домене не происходит. Просто абстрактно "что-то не так".

> И полюбому начинаете городить свои варианты IsSuccess внутри сообщений или его аналоги через перечисление
Поздравляем: теперь у вас 2 разных АПИ с непохожим контрактом

Даже если бы я использовал только 2хх статус код, мне бы приходилось использовать какое то isSuccess или нечто аналогичное на случай ошибки. Потребитель моего апи не сможет переехать на grpc (soap, graphql, еще черт-те что) без изменений своего кода. Модификации все равно будут.
источник

OZ

Oleksii Zaichenko in var chat = new Chat();
VD
Хотя можно было заранее избежать такого
Под "избежать" имеется ввиду переиспользовать старую модель данных? А что если новый протокол предполагает свои способы сообщений об ошибках? Игнорить их? Потому что мы были так предусмотрительны в прошлом? Как я и сказал, клиенту все равно нужно будет писать новую версию кода для интеграции.
источник

OZ

Oleksii Zaichenko in var chat = new Chat();
VD
И это я ещё молчу про всякие там балансеры, прокси и клаудфлеры которые могут делать с вашими статус кодами и хедерами чо хотят
Touche. Клаудфлейр - известный подсирала, на счет лоад балансера - гораздо реже. Над любым балансировщиком или обратным прокси, как правило, больше контроля. Проблемы с клаудфлейр будут решаться по мере поступления оных (которые могут и не возникнуть).
источник

OZ

Oleksii Zaichenko in var chat = new Chat();
VD
И это я ещё молчу про всякие там балансеры, прокси и клаудфлеры которые могут делать с вашими статус кодами и хедерами чо хотят
Резюмирую, т.к. спор затянулся. Я - не против того, чтобы возвращать ошибки БЛ в 2хх кодах ответа, если это все согласовано и документировано. Моя изначальная претензия адресовалась статье на которую я и отвечал, и которая говорила о rest.
В целом, при разработке сервиса с http api я бы руководствовался теми соглашениями, которые приняты у заказчика, с которым работаю, во избежание повышения уровня энтропии так сказать. Если бы писал с нуля, очевидно, что писал бы выделяя ошибки в отдельный статус код, ибо мне так привычнее и я не вижу здесь текучей абстракции, хоть убей. На этом предлагаю спор закрыть и разойтись при своих.
источник

AY

Artem Yurchenko in var chat = new Chat();
Привет. Кто-нибудь сталкивался с тем, что программа не автостартует через реестр? Но стартует, если просто кинуть ярлык на екзешник в папку автостарта.
Винда - десятка
источник

V

VD in var chat = new Chat();
Artem Yurchenko
Привет. Кто-нибудь сталкивался с тем, что программа не автостартует через реестр? Но стартует, если просто кинуть ярлык на екзешник в папку автостарта.
Винда - десятка
Во первых что за программа
В вторых оффтоп
источник

Я

Ярослав in var chat = new Chat();
Есть у кого-то статья какая-то, которая поясняет когда нужно использовать Task Parallel Library, а когда нет?
источник

AY

Artem Yurchenko in var chat = new Chat();
VD
Во первых что за программа
В вторых оффтоп
Я написал прогу на wpf С# .net 4.8. У юзера есть возможность отметить "Добавить в автозапуск", что прописывает "автостарт" ключ в регистр.
При старте компа программа не стартует.
источник

PE

Pavel Erokhin in var chat = new Chat();
Artem Yurchenko
Я написал прогу на wpf С# .net 4.8. У юзера есть возможность отметить "Добавить в автозапуск", что прописывает "автостарт" ключ в регистр.
При старте компа программа не стартует.
Значит ключ не записан
источник

AY

Artem Yurchenko in var chat = new Chat();
Pavel Erokhin
Значит ключ не записан
Записан
источник

PE

Pavel Erokhin in var chat = new Chat();
Ну вот нет
источник

PE

Pavel Erokhin in var chat = new Chat();
С виндой спорить собрался?)
источник

AY

Artem Yurchenko in var chat = new Chat();
Я же проверил, перед тем, как сюда писать
источник

D

Dmitry in var chat = new Chat();
Artem Yurchenko
Я написал прогу на wpf С# .net 4.8. У юзера есть возможность отметить "Добавить в автозапуск", что прописывает "автостарт" ключ в регистр.
При старте компа программа не стартует.
смотри журналы логов винды. и вопрос не к си шарпу же, а к винде. на админских сайтах тебе быстрее подскажут куда копать
источник

PE

Pavel Erokhin in var chat = new Chat();
Artem Yurchenko
Я же проверил, перед тем, как сюда писать
Запиши вручную попробуй
источник

AY

Artem Yurchenko in var chat = new Chat();
Pavel Erokhin
С виндой спорить собрался?)
Ключ записан, ещё раз говорю. Я его вижу в реестре
источник

PE

Pavel Erokhin in var chat = new Chat();
Ты видишь, ты может записал его не туда
источник