Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
День добрый! Вот думаю над следующей задачей: есть туристический сайт на asp.net. Для этого сайта требуется каждую минуту обновлять квоты для гостиниц. Источником данных выступает веб сервис. Вопрос, каким образом лучше всего реализовать логику для этой операции? Насколько я понимаю, в asp.net подходящих таймеров и scheduler'a нет. В голову приходит только написание windows сервиса, который бы проводил скачивание квот и потом их импортировал в базу. Я думаю в верном направлении, или данная задача может иметь другие пути решения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 14:54 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
Самое простое: консольное приложение или батник на вин шедулере. Ну или вин сервис, да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 14:56 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
свяжитесь с разработчиками вебсервиса, может у них есть возможность как-то "подписаться на обновления" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 14:57 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
Паганель, увы нет, там тоже сайт на asp.net и только pull метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 15:07 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУ, похоже, придётся пилить вин сервис. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 15:07 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
cavaleroпохоже, придётся пилить вин сервис. Идеально подходит для периодических задач, напр. выполнение задания каждые 2 часа. Для более гибкого шедулинга отлично подойдет нативный виндовой планировщик задач + консолина (чтобы не юзать всякий порожняк типа кварца). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 15:43 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
cavaleroМСУ, похоже, придётся пилить вин сервис. Первое его приложение, насчёт батника и шедулера, гораздо лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 15:44 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУ, ок, понял, напишу сначала логику, а потом посмотрю куда ее удобнее засунуть будет. Я описал общую задачу, но она сложнее, например сайтов может быть N и обработка запроса может длится дольше, чем время между ними и тд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 16:08 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
cavaleroДень добрый! Вот думаю над следующей задачей: есть туристический сайт на asp.net. Для этого сайта требуется каждую минуту обновлять квоты для гостиниц. Источником данных выступает веб сервис. Вопрос, каким образом лучше всего реализовать логику для этой операции?Лично я писал для переодической загрузки квот, стопов, цен, туров сервисы. Случаем не в Мастер-Тур Вам надо квоты загружать? А то могу подсказать, где купить готовый модуль загрузки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 16:11 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
cavaleroсайтов может быть N и обработка запроса может длится дольше, чем время между ними и тд.Сервис. Поставщиков данных может быть много, это да. Кстати GUI для отслеживания загрузки тоже советую написать. Чтобы можно было посмотреть что загрузилось, откуда, как сопоставилось, что не сросрось, какие ошибки были. Подправить, догрузить, повторно загрузить определённые данные. Ну и выполнить к примеру первую загрузку. Обновления квот будет уже сервис догружать лёгкими запросами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 16:18 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
cavaleroМСУ, ок, понял, напишу сначала логику, а потом посмотрю куда ее удобнее засунуть будет. Я описал общую задачу, но она сложнее, например сайтов может быть N и обработка запроса может длится дольше, чем время между ними и тд. Да, всё правильно. Кстати, можешь взять мой готовый вин сервис для периодичских задач: http://codearticles.ru/articles/1238 Пишешь свою работу в виде IWorkItem и сервис её исполняет через время Seconds. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 16:39 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУ, окей, спасибо! буду иметь в виду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 16:57 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
skyANA, нет, не в МТ, в проприетарное приложение одного из клиентов. А в Зеленограде я знаю только одну фирму, которая разрабатывает модули для МТ - Зелсофт :) Угадал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 16:58 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУДа, всё правильно. Кстати, можешь взять мой готовый вин сервис для периодичских задач: http://codearticles.ru/articles/1238 ох итить... ну и архитектурко вопрервых, ueukb topshelf и не изобретай лисапедов со StartDebug(( во=втолрых, вся логика внутри loadservice -- плохо и нетестируемо и даже лень описывать тот ад, что творится внутри workitem. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 17:36 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
thresher8, а как правильно то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 18:36 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
thresher8вопрервых, ueukb topshelf и не изобретай лисапедов со StartDebug(( Классический подход при разработке вин сервисов. Готов показать лучший способ? thresher8во=втолрых, вся логика внутри loadservice -- плохо и нетестируемо Какая там логика и что там тестировать? Три строчки кода для детского сада. Рассмешил. thresher8и даже лень описывать тот ад, что творится внутри workitem. Ты просто еще не дорос до него, поэтому "лень" описывать. И да, таки ждем вариант лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 19:38 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 19:41 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУчтобы не юзать всякий порожняк типа кварца на кварц не кати бочку, тулузина хороша! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 20:02 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
hVosttна кварц не кати бочку, тулузина хороша! Хорошая, но бесполезная - всё есть в коробке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 20:42 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
cavaleroskyANA, нет, не в МТ, в проприетарное приложение одного из клиентов. А в Зеленограде я знаю только одну фирму, которая разрабатывает модули для МТ - Зелсофт :) Угадал?Да. Я раньше там и работал. Дёшево, быстро, качественно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 20:45 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
Парни, у вас дискуссия не в ту сторону пошла. Основная часть работы - это слой доступа к данным: единый интерфейс шлюза (gateway) к поставщикам квот и N реализаций, где N - это количество различных типов поставщиков. N мапперов из формата поставщика в формат проприетарного софта заказчика. Диспетчер, что будет опрашивать M источников данных (конечных точек), и его конфигурация. M больше или равно N, так как у разных партнёров может стоять одинаковый софт. Логирование всего этого. GUI для просмотра результатов и управления всем этим хозяйтсвом пользователем (опционально). Тестирование. А куда это вкорячить: в windows-сервис, в планировщиу, в кварц, интегрировать в проприетарный софт в качетве плагина, - это уже гораздо меньший объём работ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 20:56 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
Хотя можно всё это дело по быстрому на коленке по коду сервиса размазать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 20:58 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУХорошая, но бесполезная - всё есть в коробке. не бывает таких коробок )) skyANAА куда это вкорячить: в windows-сервис, в планировщиу, в кварц, интегрировать в проприетарный софт в качетве плагина, - это уже гораздо меньший объём работ. действительно. для начала надо реализовать задачу в виде модуля. а уж обёртку для него написать в виде консольки или сервиса, это задача на 3 копейки. интересно, что всё почему-то упёрлось в обёртку. это как про бизнес, который почему-то часто начинается с визиток ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 22:43 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2014, 23:27 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУБывает. Вот ) планирощик заданий в виндовс предназначен для обслуживания системы . не для выполнения прикладных задач. что, конечно, никого особо не напрягает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 10:09 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
hVosttпланирощик заданий в виндовс предназначен для обслуживания системы . не для выполнения прикладных задач. Какую-то чушь ты пишешь, даже не ожидал от тебя такого Виндовой шедулер предназначен для выполнения любых заданий при помощи гибких триггеров с тремя типами действий - запустить программу, отправить email, отобразить сообщение. В данном случае нас 100% устраивает первое действие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 10:32 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУ Json.net встроили в каркас .net для веб апи) глядишь и кварц встроят еще не вечер)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 10:42 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuМСУ Json.net встроили в каркас .net для веб апи) глядишь и кварц встроят еще не вечер)) Json.net никуда не встраивали ни в какой каркас .NET :) Во-вторых, я вообще в шоке от этой петрушки. Есть натив, есть Microsoft.AspNet.WebPages.dll с System.Web.Helpers.Json. Куда уже еще? С этим json могут работать даже дети, на кой ляд еще что-то? )) P.S. Если встроят кварц в .NET, я только за. Но как отдельную какашку приблуду пользовать этот зоопарк не хочу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 10:51 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУЕсть натив, есть Microsoft.AspNet.WebPages.dll с System.Web.Helpers.Json. Куда уже еще? отвязаться от ASP.NET, вот какая задача. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 10:55 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУВиндовой шедулер предназначен для выполнения любых заданий при помощи гибких триггеров с тремя типами действий - запустить программу, отправить email, отобразить сообщение. В данном случае нас 100% устраивает первое действие. для выполнения служебных утилит -- самое то. для выполнения служб прикладных приложений ни о чём. используется для прикладухи в основном потому что первое что под руку подворачиваться, а извилиной лишний раз пошевелить лень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 10:56 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
hVosttМСУЕсть натив, есть Microsoft.AspNet.WebPages.dll с System.Web.Helpers.Json. Куда уже еще? отвязаться от ASP.NET, вот какая задача. Ну так отвязывайся, кто мешает? System.Runtime.Serialization.Json Во-вторых, Microsoft.AspNet.WebPages продукт от MS, который может использоваться и вне контекста ASP.NET. Не знал? hVosttдля выполнения служебных утилит -- самое то. для выполнения служб прикладных приложений ни о чём. Я не понимаю, что такое "служебная утилита". На службе кому? Армии, президенту, райисполкому? hVosttиспользуется для прикладухи в основном потому что первое что под руку подворачиваться, а извилиной лишний раз пошевелить лень. Используется везде (подчеркиваю), где нужно выполнение по расписанию. Служба там у тебя, пляски под дудку или война. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:02 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУНу так отвязывайся, кто мешает? System.Runtime.Serialization.Json неудачный дизайн, основанный на ридерах/врайтерах. не асинхронен. МСУВо-вторых, Microsoft.AspNet.WebPages продукт от MS, который может использоваться и вне контекста ASP.NET. Не знал? процитирую исходный посыл: МСУ Json.net встроили в каркас .net для веб апи при чем тут вебпейджи? )) МСУЯ не понимаю, что такое "служебная утилита". На службе кому? Армии, президенту, райисполкому? системе. это для админов тулуза вобчето. МСУИспользуется везде (подчеркиваю), где нужно выполнение по расписанию. Служба там у тебя, пляски под дудку или война. "везде" понятие сильно растяжимое. ну и ради бога, знаю что пихали и будут пихать туда прикладухи. на улице тоже мусор большинство разбрасывают. это ещё не значит, что это правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:09 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУ, и ещё System.Runtime.Serialization.Json прибит гвоздями к xml-ю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:11 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУ, а вообще, System.Runtime.Serialization.Json ярчайший пиример костыля деревянного. криво-кособоко приделанного к серилизации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:13 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
hVosttнеудачный дизайн, основанный на ридерах/врайтерах. Обычный дизайн, такой же как и весь .NET. Какие ридеры-врайтеры? Код: c# 1. hVosttне асинхронен Зачем? Во-вторых, есть же TPL. hVosttпроцитирую исходный посыл: МСУ Json.net встроили в каркас .net для веб апи при чем тут вебпейджи? )) Процитирую идею: в .NET, и уж тем более в его каркас, ничего не встраивали. Там тупо зареференсили сборку для бездумных мартышек. hVosttсистеме. это для админов тулуза вобчето. А твою поделку на кварце админить не надо? Не вижу принципиальных отличий, админить вин сервис / консолину с кварцевым шедулингом или админить вин шедулер с консолиной. Там ко всему прочему у вин шедулера есть удобный гуй. hVostt"везде" понятие сильно растяжимое. ну и ради бога, знаю что пихали и будут пихать туда прикладухи. на улице тоже мусор большинство разбрасывают. это ещё не значит, что это правильно. У тебя мусор в голове. Серьезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:18 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУ и собственно они зря это сделали (( стандартный от мс серилизатор дату хреначит к виду "\/Date(1239018869048)\/. а json.net в цивильный iso формат. В итоге на выходе asp mvc шлет херню , asp web api нормальный вид и спрашивает зачем 2 разных механизма. п.с. последние версии веб апи без Json.net не заведутся. не правильно может выразился насчет встройки, но жёсткий референс там есть теперь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:18 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
hVosttМСУ, и ещё System.Runtime.Serialization.Json прибит гвоздями к xml-ю. Садись, двойка. hVosttМСУ, а вообще, System.Runtime.Serialization.Json ярчайший пиример костыля деревянного. криво-кособоко приделанного к серилизации. На нем уже 100% как безперебойно работает SOA, всякие asmx сервисы, http(s) байдинги на wcf и прочие плюшки. Так что еще вопрос, что костыль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:19 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuМСУ и собственно они зря это сделали (( стандартный от мс серилизатор дату хреначит к виду "\/Date(1239018869048)\/. а json.net в цивильный iso формат. В итоге на выходе asp mvc шлет херню , asp web api нормальный вид и спрашивает зачем 2 разных механизма. DateTimeConverter и получи любой формат :) Во-вторых, есть еще Microsoft.AspNet.WebPages, говорю же. handmadeFromRuп.с. последние версии веб апи без Json.net не заведутся. не правильно может выразился насчет встройки, но жёсткий референс там есть теперь Сомневаюсь, что не заведутся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:21 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУСадись, двойка. вся серилизация так-то ) МСУНа нем уже 100% как безперебойно работает SOA, всякие asmx сервисы, http(s) байдинги на wcf и прочие плюшки. Так что еще вопрос, что костыль. про это и речь. и ни на нём, а на интерфейсах серилизации. Json туда подпихнули как реализацию, типо XML/JSON взаимозаменяемые вещи. многим очень хочется в этом верить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:22 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУDateTimeConverter и получи любой формат :) костыль едет на костыле костылем погоняет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:22 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУНа нем уже 100% как безперебойно работает SOA, всякие asmx сервисы, http(s) байдинги на wcf и прочие плюшки. Так что еще вопрос, что костыль. про это и речь. и ни на нём, а на интерфейсах серилизации. Json туда подпихнули как реализацию, типо XML/JSON взаимозаменяемые вещи. многим очень хочется в этом верить.[/quot] Я не знаю, кто куда и чего пропихивал, я знаю, что в нативе есть штатный инструмент для работы с JSON и ничего больше не нужно. Вдобавок, есть родной хелпер в WebPages. Всё это продукты от вендора, в первом случае вообще сборка в гаке и доступна всем и вся. Вторую можно положить в гак, если хочется. Накуя тут педали от какого-то велосипедиста? http://www.nuget.org/profiles/jamesnk/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:25 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУDateTimeConverter и получи любой формат :) Во-вторых, есть еще Microsoft.AspNet.WebPages, говорю же. 1) эт костель чем решение. 2)так я и про JsonResult который и основан на мс серрилизаторе МСУСомневаюсь, что не заведутся. ну я пробовал ) п.с. мы уже с hVostt обсужали эту проблему ( http://stackoverflow.com/questions/726334/asp-net-mvc-jsonresult-date-format 2009 года и воз тамже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:27 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУЗачем? Во-вторых, есть же TPL. при чем тут TPL. имеется в вижу конечный автомат. всёже это данные, они могут быть маленькими, а могут быть и большими. асинк нужен для реализации полностью асинхронного до мозга костей WebAPI. МСУПроцитирую идею: в .NET, и уж тем более в его каркас, ничего не встраивали. Там тупо зареференсили сборку для бездумных мартышек. прямой не заменяемый референс не сильно отличается от прямого встраивания. пакет придётся качать, хоть убейся. хоть што делай. а сборка для бездумных мартышек пойдёт деплой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:27 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
hVosttМСУDateTimeConverter и получи любой формат :) костыль едет на костыле костылем погоняет Одна строка кода и у тебя честный ISO 8601 - костыль? Код: c# 1. Тут можно вкорячить любые конфертеры на вкус и цвет, это даже более универсальное решение, чем от велосипедиста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:27 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУВсё это продукты от вендора, в первом случае вообще сборка в гаке и доступна всем и вся. та с этим никто не спорит. понятно что в гаке, скокаж можно тыкать этим гаком ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:28 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУОдна строка кода и у тебя честный ISO 8601 - костыль? Код: c# 1. Тут можно вкорячить любые конфертеры на вкус и цвет, это даже более универсальное решение, чем от велосипедиста. а зачем мне велосипед для стандартного ISO-шного значения? почему мне аналогичный конвертер не надо пихать в XML? там-то всё ок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:30 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
hVosttМСУЗачем? Во-вторых, есть же TPL. при чем тут TPL. имеется в вижу конечный автомат. всёже это данные, они могут быть маленькими, а могут быть и большими. асинк нужен для реализации полностью асинхронного до мозга костей WebAPI. Вечно ты споришь о том, в чем полный ноль. Читай про Task.Factory.StartNew (более мощная штука) или async-await. Код: c# 1. 2. 3. 4. 5. 6. 7. Учи матчасть лучше. hVosttпрямой не заменяемый референс не сильно отличается от прямого встраивания. пакет придётся качать, хоть убейся. хоть што делай. а сборка для бездумных мартышек пойдёт деплой Именно поэтому у меня пока в веб апи предвзятое отношение. Всё-таки на WCF с различными байдингами и протоколами я смотрю более оптимистично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:31 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
hVosttМСУВсё это продукты от вендора, в первом случае вообще сборка в гаке и доступна всем и вся. та с этим никто не спорит. понятно что в гаке, скокаж можно тыкать этим гаком Так а в чем тогда вопрос? Ты же сам просил отвязаться от ASP.NET? hVosttа зачем мне велосипед для стандартного ISO-шного значения? почему мне аналогичный конвертер не надо пихать в XML? там-то всё ок. Не знаю зачем он тебе. Пиши любой ISO и юзай на здоровье. Причем тут XML? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:33 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
господа мы ушли от темы топика, предлагаю закруглятся с лишним. хотя пятница ж))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:34 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУВечно ты споришь о том, в чем полный ноль. Читай про Task.Factory.StartNew (более мощная штука) или async-await. я не говорил, что синхронную фигню нельзя превратить в асинк. тем более с таскфектори надо связать канселлер, обрабоотку исключений... это всё должно быть внутрях. чтобы я сделал await, а не ипался с таском. МСУВечно ты споришь о том, в чем полный ноль. Читай про Task.Factory.StartNew (более мощная штука) или async-await. перечитай свой код и найди затык на 3-ей строчке кода функции Index() МСУВсё-таки на WCF с различными байдингами и протоколами я смотрю более оптимистично. всё ж простые не перегруженные решения двигаются быстрей. не смотря на мощь и возможности WCF. явно пошла трещина между энтерпрайзом и гибкими технологичными решениями )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:35 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУТак а в чем тогда вопрос? Ты же сам просил отвязаться от ASP.NET? в том, что гак это единственное преимущество. сомнительное если честно. так как нугет пакеты умеют часто обновляться, привнося кучу радостей в виде новых плюшек, повышенной скорости, усовершенстований, ну и весёлых багов не без этого , а фреймворк обновляется редко. по сути в родном селизаторе нет ни LINQ, ни асинка, и стандарты не держит, требуется какие-то форматеры подключать, которые ещё написать надо. МСУНе знаю зачем он тебе. Пиши любой ISO и юзай на здоровье. Причем тут XML? ну как при чём. взаимозаменяемость призрачная. попрошу в WCF дату и получу хрен с маслом, пока форматер не подрублю. костыли наше всё? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:43 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
hVosttя не говорил, что синхронную фигню нельзя превратить в асинк. А что ты говорил? Внятно сформулируй мысль - для какой задачи и что тебе надо? hVosttтем более с таскфектори надо связать канселлер, обрабоотку исключений... Пипец как сложно, просто неподъемная задача Код: c# 1. 2. 3. 4. 5. 6. 7. hVosttэто всё должно быть внутрях. чтобы я сделал await, а не ипался с таском. Не знаю, вот сколько уже работаю с дотнетом и сериализацией/десериализацией, мне такого еще не понадобилось. Ты там терабайты json что-ли пилишь, признавайся? Тогда точно TPL нужен hVosttперечитай свой код и найди затык на 3-ей строчке кода функции Index() И в чем там затык? hVosttМСУВсё-таки на WCF с различными байдингами и протоколами я смотрю более оптимистично. всё ж простые не перегруженные решения двигаются быстрей. не смотря на мощь и возможности WCF. явно пошла трещина между энтерпрайзом и гибкими технологичными решениями )) Серьезно, лично я бы не стал нигде применять web api, не вижу в нем смысла. REST? Дык WCF тоже так умеет. Роутинг? Тоже самое и там. Почитай мои рецепты на эту тему, если интересно. WCF мощнее и продвинутее. handmadeFromRuгоспода мы ушли от темы топика, предлагаю закруглятся с лишним. хотя пятница ж))) +1, офтоп сплошной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:43 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuгоспода мы ушли от темы топика, предлагаю закруглятся с лишним. хотя пятница ж))) пятница, и некого даже потроллить )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:44 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
hVosttв том, что гак это единственное преимущество. сомнительное если честно. так как нугет пакеты умеют часто обновляться, привнося кучу радостей в виде новых плюшек, повышенной скорости, усовершенстований, ну и весёлых багов не без этого , а фреймворк обновляется редко. Да я не против нугет пакетов, я против сторонних колхозных грабель, если есть нативные решения. Пусть даже в нативе я больше строк кода напишу, но это будет родной механизм, о котором мне не нужно думать - он всегда работал и будет работать. hVosttпо сути в родном селизаторе нет ни LINQ, ни асинка, и стандарты не держит, требуется какие-то форматеры подключать, которые ещё написать надо. Ничего этого не надо. Вообще. Для сериализации и десериализации достаточно одной строчки кода. Всё. Остальное пользуешь дальше, исходя из возможностей .NET. И LINQ, и TPL, и прочего. hVosttМСУНе знаю зачем он тебе. Пиши любой ISO и юзай на здоровье. Причем тут XML? ну как при чём. взаимозаменяемость призрачная. попрошу в WCF дату и получу хрен с маслом, пока форматер не подрублю. костыли наше всё? )) Ты не понял, я говорю о штатном сериалайзере + кастомная десериализация. В случае с WCF там всё само делается, ты вообще ничего не пишешь. Так всё в коробке, в том числе кодогенерация сервиса и прокси классов. Всё типизированно и четко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:47 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУВнятно сформулируй мысль - для какой задачи и что тебе надо? если следовать за мыслью вендора, то асинхронный код должен юзать асинхронные методы. типо так можно построить эффективный автомат. если он будет вываливаться когда надо что-то серилизовать/десирилизовать, это нехорошо. МСУПипец как сложно, просто неподъемная задача ну у тебя на любой затык найдётся рецептик, но не об этом же речь. надо лепить сверху обвязку, в виде форматеров, чтобы получить ISO, или таски, чтобы получить асинк. так-то всё решаемо, да МСУТы там терабайты json что-ли пилишь, признавайся? Тогда точно TPL нужен да при чём тут я. ты сам можешь назвать хоть одну причину, почему майкрософт заюзала мартышкин json.net вместо тёплого лампового нативного? МСУСерьезно, лично я бы не стал нигде применять web api, не вижу в нем смысла. REST? Дык WCF тоже так умеет. Роутинг? Тоже самое и там. Почитай мои рецепты на эту тему, если интересно. WCF мощнее и продвинутее. спору нет, мощнее. но веб-апи гибче. проще. хостится без IIS. последнее вообче критично до немогу. прям щас работаю над проектом, где используется WebAPI для реализации АПИ, селфхост. мегаудобно, и кода кот наплакал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 11:52 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУДа я не против нугет пакетов, я против сторонних колхозных грабель, если есть нативные решения. Пусть даже в нативе я больше строк кода напишу, но это будет родной механизм, о котором мне не нужно думать - он всегда работал и будет работать. есть и в этом истины зерно :) МСУНичего этого не надо. Вообще. так и знал, что так скажешь МСУТы не понял, я говорю о штатном сериалайзере + кастомная десериализация. В случае с WCF там всё само делается, ты вообще ничего не пишешь. Так всё в коробке, в том числе кодогенерация сервиса и прокси классов. Всё типизированно и четко. гибкое апи (под чужую среду) и версионность? селфхост? не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 12:01 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
hVosttесли следовать за мыслью вендора, то асинхронный код должен юзать асинхронные методы. типо так можно построить эффективный автомат. если он будет вываливаться когда надо что-то серилизовать/десирилизовать, это нехорошо. Если следовать здравой логике, то асинхронный код нужен только там, где этого требует задача. Писать асинхронный код для асинхронного кода - кретинизм высшего пилотажа. Как часто ты через async парсишь json? Только честно. hVosttну у тебя на любой затык найдётся рецептик, но не об этом же речь. надо лепить сверху обвязку, в виде форматеров, чтобы получить ISO, или таски, чтобы получить асинк. так-то всё решаемо, да Рецептики сами по себе не рождаются - для их применения нужна конкретная задача и конкретны случай. Обвязок никаких лепить не нужно, нужно уметь пользоваться функционалом, а не тупо по-кодемански бегать за горящими рекламными лампочками. Я уважаю идею минималиста, то есть используешь только то, что требуется для задачи. Мне не нужен комбайн для того, чтобы вскопать квадратный метр грядки картошки. Понимаешь о чем речь? hVosttМСУТы там терабайты json что-ли пилишь, признавайся? Тогда точно TPL нужен да при чём тут я. ты сам можешь назвать хоть одну причину, почему майкрософт заюзала мартышкин json.net вместо тёплого лампового нативного? Ну как это причем тут ты. Я же не со стенкой дискутирую. А почему майкрософт заюзала мартышкин труд - это вопрос к тем упоротым индусам, которые делают из темплейтов новогодние елки. Такие же люди типа тебя, что в гугле попалось самое простое, то и вкорячили. Почему в надежном мощном WCF нет этих пионерских штучек? Потому что это стабильная устоявшаяся технология. А эти все веб апи появляются как грибы по утру, еще только до конца не сформировавшаяся технология. Я не против неё, я против тех дилентантов, кто её пилит. hVosttспору нет, мощнее. но веб-апи гибче. проще. хостится без IIS. последнее вообче критично до немогу. прям щас работаю над проектом, где используется WebAPI для реализации АПИ, селфхост. мегаудобно, и кода кот наплакал Да чем оно гибче, я тебя умоляю. WCF тоже хостится без IIS и в селфхосте :) Уууу, хвост, сколько же ты не знаешь и сколько же тебе еще учить и учить... Это веб-сервисы asmx могли хоститься только в IIS )) hVosttМСУДа я не против нугет пакетов, я против сторонних колхозных грабель, если есть нативные решения. Пусть даже в нативе я больше строк кода напишу, но это будет родной механизм, о котором мне не нужно думать - он всегда работал и будет работать. есть и в этом истины зерно :) Ну дык hVosttтак и знал, что так скажешь Видишь как тут всё прозрачно :) hVosttгибкое апи (под чужую среду) и версионность? селфхост? не? 1. Да, гибкое апи (под чужую среду) было доступно еще со времен царя гороха (веб серфисов asmx). Даже фееричная 1С может кодогенерировать свои прокси по WS-ссылке. Знаешь, что такое WS-ссылка? Ладно... у кого я спрашиваю :) 2. Конечно, версионность есть. 3. Селфхост тоже есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 12:39 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУКлассический подход при разработке вин сервисов. Готов показать лучший способ?даад, тебе ж только костыли подвлстны. кури, как ты выражаешься, Environment.UserInteractive, Debugger.IsAttached. как вариант можно добавить поддержку ключа "--interactive" и запусткатьбся интерактивно. или взять топшелф и не изобретать велосипед: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. МСУКакая там логика и что там тестировать? Три строчки кода для детского сада. Рассмешил.кодер-ковбой? хотя да, ошибочк, в таком детском говнокоде и правда нечего тестировать.. МСУТы просто еще не дорос до него, поэтому "лень" описывать. И да, таки ждем вариант лучше. оке, для затравочки: почему сам workitem рещает, с какой перодичностью ему исполняться? это должно приходить извне ты надеюсь понимаешь, чтьо твой код там -- схинронный и аццкие проверки на IsBusy ваапще не к месу, поскольку пока выполняется Run() до них дело не дойдет? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. а если ты пукнешь, что в Run должен создаватьс отдельнй поток, в котором вся работа и должна происходить, то опять низачот по архитектурге, ибо работа с потоками не есть задача workitemа, там должна быть только логика работы, а не возня с потоками. с while(true) ты красава, конечно. кондовый busy wait. почитай про wait handle'ы в перерывах межлду говнокодингом а теперь как надо. предполодим у нас есть N задач T1...TN. получается, что у нас есть к примеру следующее расписние: через 5 мин надо выполнать задачу T2 через 12 мин после этого -- T7 через 1 мин после этого - T1 и т.д. по сути -- бесконечное расписание, очень удобно рализуемое через yield в отдельном потоке итерируешься по этому расписанию и через ThreadPool.RegisterWaitForSingleObject ждешь наступления момента, когда нужн будет выполнить очередную задачу (или опка не изменится расписание). в коллбэке создаешь новый таск или пхаешь в ThreadPool и в дамках. и в том жк коллбэке можнро проверить, что изменилось расписание и соответственно все обработать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 12:39 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
thresher8кури, как ты выражаешься, Environment.UserInteractive, Debugger.IsAttached. как вариант можно добавить поддержку ключа "--interactive" и запусткатьбся интерактивно. или взять топшелф и не изобретать велосипед Рассмешил. Твой высер просто шедеврален, те же яйца, приправленные флюентом. Ты действительно считаешь, что этот код лучше обычного штатного конфигурирования вин сервиса? thresher8кодер-ковбой? хотя да, ошибочк, в таком детском говнокоде и правда нечего тестировать.. Косолапый кодер-бэтмен, покрывающий своей властью этот мир? Нет, просто упоротая мартышка с гранатой в руке в виде флюента. Точно. thresher8почему сам workitem рещает, с какой перодичностью ему исполняться? это должно приходить извне Я понимаю, что ты гавнокодер, но не да такой же степени. Ну ладно, если нет мозгов осилить код из 3 строчек, отвечу на вопрос. А кто запретил этому workitem решать, с какой периодичностью ему работать? Если хочешь брать это значение извне (база, конфиг), напиши в геттере Seconds обращение к конфигу. Вот тебе и ивзне. Собственно, у меня так и работает. Это код сокращенный до максимума, даже реализации IWorkItem вышиты в код сервиса для простоты. Или ты ожидаешь от рецепта какого-то полного 100% решения под все задачи мира? Там просто идея. thresher8ты надеюсь понимаешь, чтьо твой код там -- схинронный и аццкие проверки на IsBusy ваапще не к месу, поскольку пока выполняется Run() до них дело не дойдет? 1. Учи матчасть TPL и не говори глупостей, код выполняется в отдельных тредах. 2. IsBusy как-раз и нужен, чтобы понять, что задача завершена. В момент выполнения Run не нужно проверять IsBusy. Ты хотя бы логику понял для начала, чтобы сопли пускать. thresher8а если ты пукнешь, что в Run должен создаватьс отдельнй поток, в котором вся работа и должна происходить, то опять низачот по архитектурге, ибо работа с потоками не есть задача workitemа, там должна быть только логика работы, а не возня с потоками. И опять двойка. Ты код каким местом читал? Задницей? Оно и видно. Учи TPL - поток создается в самом сервисе через Task.Factory.StartNew и уже в его Action вызывается ExecuteTask(CancellationToken). IWorkItem ничего не знает о потоках, бестолочь. thresher8с while(true) ты красава, конечно. кондовый busy wait. почитай про wait handle'ы в перерывах межлду говнокодингом Не вижу проблем с while(true). Что именно смущает? Или просто мочу не удержать? thresher8а теперь как надо. предполодим у нас есть N задач T1...TN. получается, что у нас есть к примеру следующее расписние: через 5 мин надо выполнать задачу T2 через 12 мин после этого -- T7 через 1 мин после этого - T1 и т.д. по сути -- бесконечное расписание, очень удобно рализуемое через yield в отдельном потоке итерируешься по этому расписанию и через ThreadPool.RegisterWaitForSingleObject ждешь наступления момента, когда нужн будет выполнить очередную задачу (или опка не изменится расписание). в коллбэке создаешь новый таск или пхаешь в ThreadPool и в дамках. и в том жк коллбэке можнро проверить, что изменилось расписание и соответственно все обработать Какой-то околопоносный гавно-алгоритм, лишенный самосознания. Давай готовый проект, а там обсудим твоё высер больного воображения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 12:56 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУРассмешил. Твой высер просто шедеврален, те же яйца, приправленные флюентом. Ты действительно считаешь, что этот код лучше обычного штатного конфигурирования вин сервиса?да, лучше. потому что в топшелфе ты из коробки получеешь возможность работы из консоли, в качестве винсервиса, функционал по установке и деинсталляции, установки разных инстансов итд. ты такой же функционал говнокодить будешь неделю. МСУА кто запретил этому workitem решать, с какой периодичностью ему работать? Если хочешь брать это значение извне (база, конфиг), напиши в геттере Seconds обращение к конфигу. Вот тебе и ивзне. потому что single responsibility. и что делать, если тебе один и тот же класс воркитема нужно запланировать на "каждые 13" минут и "каждые 3 часа"? МСУ1. Учи матчасть TPL и не говори глупостей, код выполняется в отдельных тредах. ты никак дитер болен или ваще упорот. покажи, где в этом куске отдельные треды: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. МСУНе вижу проблем с while(true). Что именно смущает? Или просто мочу не удержать?у тебя потоки (ценный ресурс между прочим) большую часть времени страдают х*итой и ничего не делают. это на деццких нагрузках не понять, тут просто придется поверить на слово. МСУКакой-то околопоносный гавно-алгоритм, лишенный самосознания. Давай готовый проект, а там обсудим твоё высер больного воображения.ты хоть понял, что я говорю-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 13:04 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУЕсли следовать здравой логике, то асинхронный код нужен только там, где этого требует задача. Писать асинхронный код для асинхронного кода - кретинизм высшего пилотажа. Как часто ты через async парсишь json? Только честно. ты похоже не понимаешь о чём речь идёт вообще. есть параллельные вычисления, а есть асинхронный подход по принципу построения цепочки для работы конечного автомата. не обязательно код будет исполняться параллельно. суть в том, что грамотно распределять критичный ресурс в .NET -- потоки. почитай что происходит при переключении контекста, чего стоит выделить отдельный поток и управлять им. для решения этой проблемы МС придумала (точнее она ничего не придумала, а реализовала) специальный механизм, позволяющий максимально эффективно использовать пул рабочих потоков. поэтому await это совершенно не тоже самое, что запустить задачу и передать ей делегат, который исполнится по завершению. именно поэтому все новые интерфейсы включая тот же EF обзаводятся дополнительными методами *Async(). или думаешь, просто у кого-то где-то зачесалось и хрен знает почему это стало вдруг важным? МСУМне не нужен комбайн для того, чтобы вскопать квадратный метр грядки картошки. Понимаешь о чем речь? и в тоже время ты предпочитаешь рассекать на комбайнах, потому что это круто :) (пас в сторону WCF) МСУДа чем оно гибче, я тебя умоляю. WCF тоже хостится без IIS и в селфхосте тогда я не понимаю какое конкретно различие ты проводишь между WebAPI и WCF. чем тебе не угодил веб апи, но угодил ВЦФ. МСУЗнаешь, что такое WS-ссылка? конечно знаю. но это архитектура построенная на декларативных интерфейсах. в случае веб-апи не нужно ничего генерить или получать по ссылке. если мне нужна только одна REST-функция из всего многообразия, я дёрну только её, а о других мне ничего знать не надо и ничего генерить не нужно. это значит, я могу получить данные хоть из холодильника самым простейшим способом. этот способ однозначно завоевал популярность в очень короткие сроки. да так, что сама МС озаботилась этой проблемой и побежала делать веб-апи как можно быстрей. а зачем оно ей надо было? ведь было крутое WCF и никто не жаловался в конце концов, вот этот подход морально устарел и подходит только для неповоротливого етерпрайза: Определения = Новый WSОпределения(" http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL"); Прокси = Новый WSПрокси(Определения, " http://web.cbr.ru/", "DailyInfo", "DailyInfoSoap"); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 13:08 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
thresher8МСУРассмешил. Твой высер просто шедеврален, те же яйца, приправленные флюентом. Ты действительно считаешь, что этот код лучше обычного штатного конфигурирования вин сервиса?да, лучше. потому что в топшелфе ты из коробки получеешь возможность работы из консоли, в качестве винсервиса, функционал по установке и деинсталляции, установки разных инстансов итд. ты такой же функционал говнокодить будешь неделю. Ты упал, что-ли? В обычном вин сервисе точно так же можно "работать" из консоли, по сути это такая же консоль. Установка и деинсталляция - это ты про "InstallUtil MyService.exe"? Даже не смешно - иди расскажи эти бредни своей бабушке Что там говнокодить, уже всё есть в коробке. Зачем мне разные инстансы, ты упорот? thresher8МСУА кто запретил этому workitem решать, с какой периодичностью ему работать? Если хочешь брать это значение извне (база, конфиг), напиши в геттере Seconds обращение к конфигу. Вот тебе и ивзне. потому что single responsibility. и что делать, если тебе один и тот же класс воркитема нужно запланировать на "каждые 13" минут и "каждые 3 часа"? Причем тут single responsibility? Если мне нужно один воркайтем запланировать на "каждые 13" минут и "каждые 3 часа", я либо заюзаю дубликат с новым временем (быстро) или сделаю новый WorkItemBase со своей логикой (дольше). Пока такого не требовалось. Нужно будет, там делов на 10 минут. В WorkItemBase и нужен для замороченных планирований заданий. А IWorkItem - это уже то, с чем работает сам сервис. Не доперло? thresher8МСУ1. Учи матчасть TPL и не говори глупостей, код выполняется в отдельных тредах. ты никак дитер болен или ваще упорот. покажи, где в этом куске отдельные треды: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Ты упорот? Это код самого воркайтема, он ничего не должен знать про отдельные треды. Отдельные треды в методе Execute<T> самого сервиса. thresher8МСУНе вижу проблем с while(true). Что именно смущает? Или просто мочу не удержать?у тебя потоки (ценный ресурс между прочим) большую часть времени страдают х*итой и ничего не делают. это на деццких нагрузках не понять, тут просто придется поверить на слово Тут вопрос не про нагрузки, а про количество задач. thresher8МСУКакой-то околопоносный гавно-алгоритм, лишенный самосознания. Давай готовый проект, а там обсудим твоё высер больного воображения.ты хоть понял, что я говорю-то? Понял. Ты высрал какой-то кал и пытаешься его втереть мне в мозг. Зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 13:15 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
hVosttименно поэтому все новые интерфейсы включая тот же EF обзаводятся дополнительными методами *Async(). или думаешь, просто у кого-то где-то зачесалось и хрен знает почему это стало вдруг важным? Жжешь :) Ты предлагаешь на каждый парсинг или конвертацию писать свой асинк? Код: c# 1. 2. hVostt, что ты там куришь? hVosttи в тоже время ты предпочитаешь рассекать на комбайнах, потому что это круто :) (пас в сторону WCF) Да, пока я не вижу реальной альтернативы. Веб апи они до сих пор там пилят, постоянно вбрасывают что-то новое, что-то тестируют и мутят. Зачем мне этот зоопарк? Когда устоится, тогда и будем думать. Да и что думать, тоже непонятно. Взяли и тупо сделали урезанного клона. Накуя? hVosttтогда я не понимаю какое конкретно различие ты проводишь между WebAPI и WCF. чем тебе не угодил веб апи, но угодил ВЦФ. Прочитай про байдинги WCF, про кодогенерацию прокси, про гибкие настройки коих тьма тьмущая, про dual режим и много чего. hVosttведь было крутое WCF и никто не жаловался Мдя... )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 13:21 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
Ребята, я вам тут не помешаю? У меня в первом приближении получилась такая вещь (подвешено на 2 таймера): Оно вообще в таком раскладе имеет право на жизнь? Вроде работает... Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 14:09 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУЖжешь :) Ты предлагаешь на каждый парсинг или конвертацию писать свой асинк? Код: c# 1. 2. hVostt, что ты там куришь? ты понял о чём я МСУВзяли и тупо сделали урезанного клона. Накуя? даже рядом не клон. вообще другое. для других задач. просто тебе нужен комбаин, как не крути )) ты комбайнёр! МСУПрочитай про байдинги WCF, про кодогенерацию прокси, про гибкие настройки коих тьма тьмущая, про dual режим и много чего. да знаю, крутая вещь, крутая... но где-то это всё нужно, а где-то нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 16:12 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
hVosttты понял о чём я Нифига я не понял. Ты не можешь до сих пор сформулировать мысль, нафига мне эта байда? :) Код: c# 1. 2. 3. Просто, чтобы было? В топку. Тем более при надобности это и так можно распараллелить прямыми руками во внешнем вызове. Только кому это нах надо. hVosttдаже рядом не клон. вообще другое. для других задач. просто тебе нужен комбаин, как не крути )) ты комбайнёр! Надо, для других задач, нужно / не нужно, комбайн... Ты там код конкретный пишешь или коллекционируешь фичи библиотеки? hVosttда знаю, крутая вещь, крутая... но где-то это всё нужно, а где-то нет. Ну на WCF не экономят. Поднял его в отдельной песочнице и не хай живёт. WCF сила. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 16:30 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУПросто, чтобы было? В топку. Тем более при надобности это и так можно распараллелить прямыми руками во внешнем вызове. Только кому это нах надо. вот тут всё што надо по этому поводу сказано http://james.newtonking.com/archive/2012/03/20/json-net-4-5-release-1-iso-dates-async-metro-build кроме того, если позырить в исходниках, там тупо обёртrи с Task.Factory.StartNew(). но это удобно для написания под полностью асинк платформу, типа WebAPI или WindowsStore. МСУНадо, для других задач, нужно / не нужно, комбайн... Ты там код конкретный пишешь или коллекционируешь фичи библиотеки? стараюсь выбирать оптимальное решение, а не универсальное =) ну а вообще я люблю читать чужой код, смотреть как и что люди делают и учиться на чужих ошибках, а не на своих. МСУНу на WCF не экономят. Поднял его в отдельной песочнице и не хай живёт. WCF сила. гг по счастью МС живёт за счёт ентерпрайза, так что WCF-у ещё жить и жить. а так бы и пусть развиваются обе технологии. только не думаю, что стоит считать вебапи урезанной версией WCF. разные решения так то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 16:42 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
hVosttМСУПросто, чтобы было? В топку. Тем более при надобности это и так можно распараллелить прямыми руками во внешнем вызове. Только кому это нах надо. вот тут всё што надо по этому поводу сказано http://james.newtonking.com/archive/2012/03/20/json-net-4-5-release-1-iso-dates-async-metro-build кроме того, если позырить в исходниках, там тупо обёртrи с Task.Factory.StartNew(). но это удобно для написания под полностью асинк платформу, типа WebAPI или WindowsStore. Я же тебе уже показал, как на 2 щелчка сделать асинк. В чем проблема? Мало того, ты это 100% не используешь (не притворяйся), а просто рогом уперся. Так еще ты мне тут гавнокод навязываешь. Зачем? hVosttстараюсь выбирать оптимальное решение, а не универсальное =) ну а вообще я люблю читать чужой код, смотреть как и что люди делают и учиться на чужих ошибках, а не на своих. Ну так читай код и учись. Но зачем тянуть всякое гавно в рабочий проект? :) hVosttгг по счастью МС живёт за счёт ентерпрайза, так что WCF-у ещё жить и жить. а так бы и пусть развиваются обе технологии. только не думаю, что стоит считать вебапи урезанной версией WCF. разные решения так то. У веб апи есть одно вкусное расширение - одата. Если бы ты был в теме, ты бы сразу козырнул этой фишкой. Да, WCF не поддерживает одата, к сожалению. Но одата еще сыро и уныло. Будем ждать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 16:50 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
МСУЯ же тебе уже показал, как на 2 щелчка сделать асинк. В чем проблема? Мало того, ты это 100% не используешь (не притворяйся), а просто рогом уперся. Так еще ты мне тут гавнокод навязываешь. Зачем? кто навязывает? я навязываю? брось! просто там 2 щелчка, тут 2 щелчка, так и получается портянка ненужной обвязки, которой при иных обстоятельствах просто бы не потребовалась. МСУНу так читай код и учись. Но зачем тянуть всякое гавно в рабочий проект? :) а что делать... истиный программер должен быть достаточно ленив, чтобы не писать код, который уже написан кем-то другим, пусть даже и не вендором МСУУ веб апи есть одно вкусное расширение - одата. Если бы ты был в теме, ты бы сразу козырнул этой фишкой. сырая и не полная. тем более это не фишка самого вебапи, это его расширение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 16:58 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
hVosttкто навязывает? я навязываю? брось! просто там 2 щелчка, тут 2 щелчка, так и получается портянка ненужной обвязки, которой при иных обстоятельствах просто бы не потребовалась. Зачем мне щелчки по поделке от пионера? Я лучше пощелкаю натив :) hVosttа что делать... истиный программер должен быть достаточно ленив, чтобы не писать код, который уже написан кем-то другим, пусть даже и не вендором Согласен про ленность. Но всё и так уже написано и левотня мне не нужна. hVosttсырая и не полная. тем более это не фишка самого вебапи, это его расширение. Вообщем, пока в топку. Потом будет что-то вменяемое, посмотрим, как это можно будет есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2014, 17:55 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
Ну вы блин мужики даете. 3 страницы постов, а по теме НОЛЬ. Предлагаю убить тему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2014, 18:47 |
|
||
|
Как опрашивать веб сервис по расписанию?
|
|||
|---|---|---|---|
|
#18+
хвост, handmadeFromRu Друзья, вообщем, ваша правда :) Кварц - счастье. Посему был выложен честный рецептик. Долго ипался и изучал мукулатуру, как грамотно обвязать всю конфигурацию в нормальном конфиге (а не в унылом флюенте). P.S. ТС, сорри за офф )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 13:27 |
|
||
|
|

start [/forum/topic.php?all=1&fid=18&tid=1357748]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 353ms |

| 0 / 0 |
