Anonymous
Удаленная работа, гибкий график Требуются надежные, ответственные и честные люди, готовые принимать деньги компании на счета своих карт. Деньги чистые и все в рамках закона, вы можете работать как на постоянной основе, так и на разовой. Стабильные выплаты от 30 до 75 тыс. в неделю Работа с финансами компании. Что требуется от вас: 1.Возраст: от 18 до 55 лет 2. Стабильный доступ к выходу в интернет 3.Свободное время(от 30 минут в день) 4.Наличие банковской карты По вопросам трудоустройства обращаться к нашему оператору; @Oreo93
Дмитрий
Всем привет! Мы разрабатываем свободный чат на любую тематику без банов и админов!
Дмитрий
https://t.me/joinchat/E-1ILFGx60PRuMVsCRrFdw
Александр
Всем привет. По какой причине может не быть OLEDB в списке подключений? Visual Studio Comunity 2019
Александр
Только SQL Server...
Александр
Для подключения к Access базе пришлось использовать Jet 4. А хотелось бы другой провайдер. Сам Access установлен. А вот работают ли все провайдеры коррентно вопрос открытый
Владислав
сегодня полная
RA-TA-TATA
что там классного?
Владислав
найдешь мне книги про лень - попробую поискать
Etki
ну книги-то тебе точно помогут
Egor
Egor
И xaml под него
Egor
Думаю перенос проектов на него сделать
Anonymous
Кто не заметил, все сюда: t.me/rucsharp
Дмитрий
Добрый вечер. Коллеги, подскажите, почему может возникнуть такая проблема. Есть 2 проекта, один рабочий и один тестовый (только что создал) Мне нужно сделать UrlEncoded для этого я в тестовом проекте в ссылках добавил System.Web И при использовании Sysytem.Web.HttpUtility я вижу большой список функций
Дмитрий
Но когда проделываю тоже самое в основном проекте, тоже добавляю в ссылка System.Web То вижу только это:
Дмитрий
Предупреждение CS0436 Тип "HttpUtility" в "C:\Users\Дмитрий\source\repos\*\*\System\Web\HttpUtility.cs" конфликтует с импортированным типом "HttpUtility" в "System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=*". Используется тип, определенный в "C:\Users\Дмитрий\source\repos\*\*\System\Web\HttpUtility.cs".
Etki
он прямо говорит, что два импорта имеют одинаковое название, нет?
Дмитрий
все,он уже решил проблему)
NIX
Приветствую всех, кто может подсказать почему методы не работают асинхронно? https://pastebin.com/DNY5tLwL
Hermesis
а кто не может подсказать, тех не приветствуешь?)
NIX
или так
NIX
НАписано же "Приветствую всех"
Hermesis
"приветствую всех, кто может посказать..."
NIX
тогда запятая после "подсказать"
NIX
Или точка
NIX
а тут знаков пунктуации нет, а следовательно и смысл другой
NIX
лучше код глянь)
Stas
Ну так и чего не работает?
Stas
Я понял) ты хочешь узнать почему они не работают паралельно?
Stas
Ладно так отвечу) если внутри метода написано await то метод помечается async, да метод становится асинхронным, но работа внутри самого метода синхронная - строчка за строчкой!!! Ну вот помечен у тебя метод Main как async, а кому он должен передать управление? управление передаётся в то место откуда был вызван асинхронный метод. А Main у тебя точка входа в приложение. Просто оберни то что внутри циклов в асинхронный таск и всё будет ок. ты запустишь 20 асинхронных методов, и каждый раз после запуска вернёшь управление внутрь цыкла
NIX
так я и обернул же
NIX
методы возвращают таск
Stas
фак
Stas
методы возвращают таск и?
NIX
я конечно могу убрать async/await из main
NIX
и задача должна передаваться от одного к другому
NIX
но если я сделаю маин без асинка, то компилятор предупредит о синхронном выполнении асинхронного метода
Stas
ты понимаешь что await task это почти тоже самое что task.result
Stas
ладно сейчас я открою студию и...
NIX
к слову я не сам придумал асинхронить маин https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/concepts/async/index
NIX
на это меня подтолкнули эти ребятки
Stas
меняй второй цикл на это
Stas
for (int i = 0; i < 10; i++) { Task.Run(async () => { Task<string> t = real.WHttpRequestRealMethodAsync(); string tt = await t; //Console.WriteLine(tt); }); }
Stas
и будешь приятно удивлён что он отработал вконце, но как быстро
NIX
Да, но тут есть пробоема
Stas
какая?
NIX
Ты создаешь второй поток
NIX
И он будет ожидать ответа сервера в выданый ему квант времени
Stas
он не будет ожидать
Stas
он async
Stas
он вернёт управление в Main
NIX
Ща, я тебе скину
NIX
Сам убедищься
Stas
ок, нам ничего не мешает сделать вариант где реально будет 1000 тасков запущенных параллельно и 1000 асинхронных тасков, последние отработают быстрее
NIX
https://docs.microsoft.com/ru-ru/dotnet/standard/async-in-depth
Stas
ну и?
Stas
я это видел не один раз
NIX
https://docs.microsoft.com/ru-ru/dotnet/csharp/async
NIX
Определение задач, ограниченных ресурсами процессора и производительностью ввода-вывода В первых двух примерах этого руководства было показано, как можно использовать async и await для выполнения задач, ограниченных производительностью ввода-вывода и ресурсами процессора. Крайне важно уметь идентифицировать такие задачи, так как они могут существенно повлиять на производительность кода и привести к неправильному использованию некоторых конструкций. Перед написанием любого кода нужно ответить на два вопроса. Будет ли код "ожидать" чего-либо, например данных из базы данных? Если ответ утвердительный, то ваша задача ограничена производительностью ввода-вывода. Будет ли код выполнять очень сложные вычисления? Если ответ утвердительный, то задача ограничена ресурсами процессора. Если ваша задача ограничена производительностью ввода-вывода, используйте async и await без конструкции Task.Run. Библиотеку параллельных задач использовать не следует. Причина этого указана в статье Подробный обзор асинхронного программирования. Если ваша задача ограничена ресурсами процессора и вам важна скорость реагирования, используйте async и await, но перенесите выполнение задачи в другой поток с конструкцией Task.Run. Если к задаче применим параллелизм, также следует рассмотреть возможность использования библиотеки параллельных задач. Кроме того, всегда следует оценивать выполнение кода. Например, затраты на выполнение задачи, ограниченной ресурсами процессора, могут оказаться не столь высокими, как накладные расходы, связанные с переключениями контекста при многопоточности. Каждый вариант имеет свои недостатки, поэтому следует выбрать наиболее компромиссный вариант в вашей ситуации.
NIX
вот, для тебя отрывок
NIX
это задача ожидания
NIX
и тут нельзя пихать task.Run
Stas
Давай я объясню, я пишу внутри ОБЫЧНОГО метода Task.Run(async () => { await ТормознойМетод();});, сразу как только таск дойдёт до await, вернётся управление в мой ОБЫЧНЫЙ метод
NIX
таск запускает новый поток
Владислав
*зануда он* нет
Stas
Ок, что тут поделать
NIX
и метод внутри потока будет выполняться синхронно
Stas
Естественно синхронно
NIX
я понял что ты имеешь ввиду
Stas
у тебя и выполняется синхронно
Stas
в том что паралельно у тебя таски будут ждать сервак
NIX
ты создаёшь новый поток, а он ожидает после await
Stas
а асинхронно не будут юлочится
Владислав
Тасков то есть задач, а не тасков?
NIX
но тогда он и без отдельного потока работать должен
Stas
ТАК