|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
hVosttИбо если, тебе вдруг в контроллере надо будет вызвать несколько действий сервисов (т.е. это уже означает, что у контроллеров есть логика АПИ), то уже ToActionResult тут не обойдёшься, так как тебе нужно каскадно проверить все результаты. Да не обойдёшься, но в итоге будет ToActionResult, при чём не важно на каком их нескольких действий сервисов прервётся цепочка. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2019, 19:52 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
hVosttДмитрий МухНа мой взгляд намечается очередной бессмысленный и беспощадный спор. Хотелось бы увидеть какие-то конкретные и конструктивные примеры. Какие именно функции контроллера перенесены в сервис? В чём конкретно отход от ООП? Хз насчёт ООП, я об этом не заикался. Я говорю о конкретных приведённых примерах. В частности о волшебном расширении ToActionResult. Нет, это не выглядит "круто, удобно, тестируемо,бла-бла-бла". Это выглядит глупо. Что конкретно глупо? Можешь быть конструктивным, а не бла-бла-бла? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2019, 19:53 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
hVosttДмитрий МухНа мой взгляд намечается очередной бессмысленный и беспощадный спор. Спор не о том, хорошо или плохо OperationResult. Не вижу конструктивной критики. То есть когда не тупо говорят: "Это выглядит глупо". А аргументируют, почему на их взгляд это выглядит глупо, и предлагают свой вариант решения, который нивелирует проблемы предложенного мною. А раз нет конструктива, то для меня это очередной бессмысленный и беспощадный спор. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2019, 19:59 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
Дмитрий Мух, А, это вы про что-то своё. ----- Разумеется. тут при чём? ----- Так это... тяпница же... да еще и 8-е... и конец рабочего дня... А долбанная XmlSchema все еще не компилируется... Только-только начала собираться из кусков... надо "циркулар референце" победить... А в предлагаемых решениях - только ручное исправление схем и такая же ручная сборка результатов... Нее, без стакана не разобраться... и OperationResult не поможет... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2019, 20:04 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
PinkCat, Да, не понятно написал... устал уже... В общем - надо мне схему забросить на сервис и на сервисе она должна компилироваться во что-то что сможет десериализовать соответствующий схеме ХМЛ. Мне без разницы какой именно будет ответ от сервиса - сервису в любом случае надо построить хранилище по переданной схеме. Ну а у мелкомягких как всегда нихрена не пашет - циркулар референце - да, она там есть - и надо ее победить... Как-то так... устал... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2019, 20:12 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
Вообще это всё шаг в торону так называемого Railway oriented programming. И когда "вдруг в контроллере надо будет вызвать несколько действий сервисов", то легко можно будет к этому прийти. А можно и забить, чтобы в "ФП головного мозга" не обвиняли ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2019, 20:15 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
PinkCatКак-то так... устал... Обычно в этом случае перерыв и отдых помогает. Утро вечера мудренее. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2019, 20:17 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
Дмитрий Мух, Обычно в этом случае перерыв и отдых помогает. ----- Да, только у меня он называется retirement... пора, скоро... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2019, 20:31 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
А для упоротых курс Applying Functional Principles in C# от Microsoft MVP. You will see how to make parts of the domain model immutable, how to refactor away from using exceptions to control the program flow, get rid of primitive obsession, deal with nulls, and apply railway-oriented programming. You will also see how to save your domain model to a data store, namely how to convert value objects into primitives and Maybe type instances to nulls when you do that. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2019, 20:41 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
WaspNewCore, ты судя по всему думаешь как сделать WebApi контроллеры? может подойдет тебе вот такой интерфейс для твоего ответа IHttpActionResult - возвращай объект, реализующий этот интерфейс ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2019, 13:46 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
monstrU, Для этого ссылка на интерфейс XXXX-HTTP-XXXXдолжна быть в слое сервисном и бизнес логике. Оно там надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2019, 14:10 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
monstrUWaspNewCore, ты судя по всему думаешь как сделать WebApi контроллеры? может подойдет тебе вот такой интерфейс для твоего ответа IHttpActionResult - возвращай объект, реализующий этот интерфейс Вообще-то в заголовке написано ASP.NET Core, а IHttpActionResult относится к System.Web.Http. Да и тащить зависимость от System.Web, или от Microsoft.AspNetCore.Mvc в слой бизнес-логики - та ещё идея :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 08:24 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
Дмитрий МухА аргументируют, почему на их взгляд это выглядит глупо, и предлагают свой вариант решения, который нивелирует проблемы предложенного мною. Дублирование это в большинстве случаев глупо. Использовать функционал фреймворка не по назначению в большинстве случаев глупо. Какие ещё аргументы нужны? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 12:57 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
Дмитрий МухИ когда "вдруг в контроллере надо будет вызвать несколько действий сервисов", то легко можно будет к этому прийти. Серьёзно? Сначала оверинженирим, затем выдумываем как это обойти )) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 12:58 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
Дмитрий МухА можно и забить, чтобы в "ФП головного мозга" не обвиняли Между "эффективное решение" и "ФП-решение" многие ставят знак тройного равенства. Это ни что иное, как ФП головного мозга, сорян ) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 12:59 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
Дмитрий МухДа и тащить зависимость от System.Web, или от Microsoft.AspNetCore.Mvc в слой бизнес-логики - та ещё идея :) Если ты полностью дублируешь функционал IActionResult, то в чём ущербность идеи? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 13:00 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
hVosttДмитрий МухИ когда "вдруг в контроллере надо будет вызвать несколько действий сервисов", то легко можно будет к этому прийти. Серьёзно? Сначала оверинженирим, затем выдумываем как это обойти )) Выдумываем как обойти что? Давай конкретный пример уже :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 13:35 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
hVosttДмитрий МухДа и тащить зависимость от System.Web, или от Microsoft.AspNetCore.Mvc в слой бизнес-логики - та ещё идея :) Если ты полностью дублируешь функционал IActionResult, то в чём ущербность идеи? :) IActionResult - это во первых интерфейс. Какой такой его функционал и кто полностью дублирует? У него туева хуча наследников, где ты увидел полное их дублирование? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 13:38 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
skyANAВыдумываем как обойти что? Давай конкретный пример уже :) Несколько твоих OperationResult, которые уже не какие-то там Success(true/false), а целый фарш из HTTP-like статусов. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 13:43 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
skyANAIActionResult - это во первых интерфейс. Какой такой его функционал и кто полностью дублирует? Интерфейс это контракт для реализации функционала. OperationResult чем отличается от IActionResult, если он у тебя Http-like и поэтому так просто траснлируется в IActionResult? skyANAУ него туева хуча наследников, где ты увидел полное их дублирование? :) Дублирование функционала. Я ещё понимаю, откуда могут ноги расти. Ты просто получаешь данные из другого REST-сервиса, полученный ответ мапится в OeprationResult, а потом также в обратку -- в IActionResult. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 13:46 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
hVosttskyANAВыдумываем как обойти что? Давай конкретный пример уже :) Несколько твоих OperationResult, которые уже не какие-то там Success(true/false), а целый фарш из HTTP-like статусов. Где ты увидел несколько OperationResult? В топике ровно один такой класс. И нет там HTTP-like статусов. То что множество A однозначно отображается на B не значит, что A есть B-like :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 13:48 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
hVosttskyANAIActionResult - это во первых интерфейс. Какой такой его функционал и кто полностью дублирует? Интерфейс это контракт для реализации функционала. OperationResult чем отличается от IActionResult, если он у тебя Http-like и поэтому так просто траснлируется в IActionResult? Где ты увидел в IActionResult сл. свойства: Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 13:52 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
hVosttskyANAУ него туева хуча наследников, где ты увидел полное их дублирование? :) Дублирование функционала. Покажи мне тот кусок кода, где дублируется какой-то функционал? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 13:53 |
|
AspNet Core. Как заинжектить текущий контроллер в класс-сервис ?
|
|||
---|---|---|---|
#18+
skyANAГде ты увидел в IActionResult сл. свойства: Вот здесь: Код: 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.
а вот один из базовых классов реализации IActionResult Код: 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. 48. 49. 50. 51. 52. 53. 54. 55. 56.
Ну скажи мне, что ObjectResult.StatusCode и OperationResult.Status суть разные вещи, давай Почему я говорю про IActionResult? Добавь реализацию интерфейса IActionResult в OperationResult, и тебе даже не понадобится метод расширения ToActionResult. Оверинжиниринг ин экшен. Можно сделать GetSomeResult().ToActionResult() -- как няшно и ФП-шно ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 15:49 |
|
|
start [/forum/topic.php?fid=18&msg=39783928&tid=1355022]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
132ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 276ms |
total: | 497ms |
0 / 0 |