|
Инжекция зависимостей для WCF сервиса.
|
|||
---|---|---|---|
#18+
Есть контракт службы: Код: c# 1. 2. 3. 4. 5.
и его реализация: Код: c# 1. 2. 3. 4. 5. 6.
Естественно при запуске хоста он ругается на то, что должен быть публичный конструктор по умолчанию. Существует ли в WCF какая либо возможность задействовать DI-контейнер для разрешения зависимостей и генерации экземпляров сервисов с их зависимостями? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2012, 10:05 |
|
Инжекция зависимостей для WCF сервиса.
|
|||
---|---|---|---|
#18+
Lexxxxx, IInstanceProvider, IInterceptionBehavior. Отлично разжевано здесь с примером для Unity: Unity+WCF ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2012, 10:42 |
|
Инжекция зависимостей для WCF сервиса.
|
|||
---|---|---|---|
#18+
Lexxxxx, рекомендую windsor . Не только инжекция зависимостей, но и облегчение конфигурации WCF. см. WCF Integration Facility . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2012, 11:42 |
|
Инжекция зависимостей для WCF сервиса.
|
|||
---|---|---|---|
#18+
SolYUtor, Спасибо. Это я оставлю на попозже. Сначала хотелось бы разобраться в самом механизме. tAZAR, Чет не взлетело у меня это. Вот моя реализация UnityInstanceProvider: Код: 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.
Вот моя реализация UnityServiceBehavior: Код: 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.
Код создания хоста и реализации службы: Код: 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.
Поведение добавляется. В поведении вызывается ApplyDispatchBehavior и ed.DispatchRuntime.InstanceProvider устанавливается дважды, так как в сервисе объявлено две конечных точки. Однако вызовов методов UnityInstanceProvider при запуске приложения не происходит, а при попытке запросить метод службы с клиента получаем "Не удается активировать запрошенную службу " http://localhost:3109/MyService.svc". Дополнительные сведения см. в журналах диагностического отслеживания сервера." Где я мог накосячить (и где эти журналы смотреть?)? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2012, 13:34 |
|
Инжекция зависимостей для WCF сервиса.
|
|||
---|---|---|---|
#18+
Lexxxxx, Меня ваша регистрация смущает, а потом обращение к http:/ ..../MyService.svc Не скопипастили, или забыли в интерфейсе сервиса [ServiceContract]? Попробуйте сначала просто: Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2012, 17:29 |
|
|
start [/forum/topic.php?fid=19&fpage=14&tid=1397151]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 237ms |
total: | 383ms |
0 / 0 |