
    Новые сообщения [новые:0]
  
  Дайджест 
  
  Горячие темы
    Избранное [новые:0]
  
Форумы 
 
Пользователи 
Статистика 
Статистика нагрузки 
    Мод. лог 
  
  Поиск 
| 
 | 
| 19.10.2012, 11:25 | |||
|---|---|---|---|
| Самописный адаптер для контрактов WCF | |||
| #18+ В общем, есть wcf, который содержит интерфейсы для дёргания кучи процедур отчётов их базы. Процедур дофигища, каждая возвращают набор данных в виде единственной таблицы с фиговой тучей полей. Если возвращать DataTable, то написание и поддержка этого дела сведётся к очень простому коду вида Код: 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. Но вот если писать контракты, тогда придётся описывать все поля возвращаемых данных и писать многокилометровые простыни из самих контрактов и ридеров для них. Код: 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. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. Реально ли написать аналог SqlDataAdapter для контрактов? Кто-нибудь пробовал? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 19.10.2012, 14:24 | |||
|---|---|---|---|
| Самописный адаптер для контрактов WCF | |||
| #18+ НовыйЯ, тебе хочется написать эммитер(Emit) для класса, чтоль? в .net можно писать и компилить на лету, правда косяк то в чем. как тебе контракт деплоить. он же должен быть и там и там, так как не универсален так же как и datatable. ваще честно тебе сказать, что ты пытаешься решить идеологическую проблему, с помощью вшивой идейки :) потому что "Процедур дофигища, каждая возвращают набор данных в виде единственной таблицы с фиговой тучей полей." вшивай идейкой не искоренишь. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 19.10.2012, 16:51 | |||
|---|---|---|---|
| Самописный адаптер для контрактов WCF | |||
| #18+ AlexeiKНовыйЯ, тебе хочется написать эммитер(Emit) для класса, чтоль? в .net можно писать и компилить на лету, Плиииииз! Можно об этом поподробнее! Это паттерн какой-то? Гуглом пока ничего путного про Emit не нашёл. :( AlexeiKправда косяк то в чем. как тебе контракт деплоить. он же должен быть и там и там, так как не универсален так же как и datatable. Перед тем, как столкнуться с проблемой специфичности DataTable, прочёл о контрактах вот это: Троелсен Э. - Язык программирования C# 2010 и платформа .NET 4 - 2010Хотя и можно было бы вернуть DataTable из метода службы WCF, вспомним, что технолония WCF обязана следовать принципам SOA, один из которых - программирование на основе контрактов, а не реализаций. Поэтому вместо возврата внешнему клиенту специфичного для .NET типа DataTable, мы вернём специальный контракт данных, который будет корректно выражен в документе WDSL. Вроде контракт получше в этом отношении, по крайней мере, в конкретном моём случае. AlexeiKваще честно тебе сказать, что ты пытаешься решить идеологическую проблему, с помощью вшивой идейки :) потому что "Процедур дофигища, каждая возвращают набор данных в виде единственной таблицы с фиговой тучей полей." вшивай идейкой не искоренишь. Да я без году неделю программирую на дотнете. у меня вообще идей нет. Есть только предположение о том, что я далеко не первый, кто с подобным столкнулся, и варианты решения существуют и не единствены. :) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 22.10.2012, 11:46 | |||
|---|---|---|---|
| Самописный адаптер для контрактов WCF | |||
| #18+ up! ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 23.10.2012, 14:53 | |||
|---|---|---|---|
| Самописный адаптер для контрактов WCF | |||
| #18+ НовыйЯ, что ап? ты токо оправдания написал. вопросов новых нету и не вникнул в "правда косяк то в чем. как тебе контракт деплоить(передавать клиенту)." ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 
 | 

| start [/forum/topic.php?fid=19&tablet=1&tid=1397174]: | 0ms | 
| get settings: | 9ms | 
| get forum list: | 12ms | 
| check forum access: | 4ms | 
| check topic access: | 4ms | 
| track hit: | 38ms | 
| get topic data: | 9ms | 
| get forum data: | 2ms | 
| get page messages: | 42ms | 
| get tp. blocked users: | 1ms | 
| others: | 11ms | 
| total: | 132ms | 

 
    | 0 / 0 | 
