|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
Добрый день, коллеги. Столкнулся с необходимостью передавать эффективно данные с сервиса на клиент. Сейчас передает сериализованный в xml datatable. Естественно большой overhead. Необходимо как-то плавно переплыть к бинарной кодировке сообщений и эффективному контейнеру передачи (List<T>). DTO нет. Есть тока xml дататейблов. Можно ли как - то конвертить тейблы к спискам, или клиент не сможет все это дело десериализовать? А может linq в помощь? Вообщем, не обладаю большим опытом в этом, прошу совета как бы эффективнее бы послать тейбл через wcf. PS На клиенте все операции опять идут с DataTable. PSS: Http,Tcp биндинги ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2010, 20:21 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
Hug, давай выложи объем оверхеда в килобайтах, и прикинем, есть ли ,что с меньшим оверхедом. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2010, 11:05 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
Hug Таскать таблицы - не кошерно. Безусловно надо переходить к коллекциям. DTO можно и написать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2010, 11:18 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
Переходить на коллекции надо естественно и сервером и клиентом одновременно. Нельзя передать коллекции, а принять таблицы ;) По поводу бинарной кодировки - тоже верное направление. Вот некоторый промежуточный вариант - использование массива object, вместо datatable. Велосипед конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2010, 00:45 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
Переходить не имею возможности (Куча legacy кода с DataTable) Объем оверхеда = разница между xml с кучой полей и binary. Покурю Ваш велосипед. На запас оставлю gzip=>byte[]=>mtom Всем спасибо большое за участие. Отпостюсь о результатах. Считаю тема очень актуальная. Многие скоро начнут свое старое asmx(времен 1.0, без генериков, с датасетами) переводить на wcf. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2010, 10:58 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
HugМногие скоро начнут свое старое asmx(времен 1.0, без генериков, с датасетами) переводить на wcf. уже начали... точнее - ПОНАЧИНАЛИ и забили : ) ибо, озадачились простым вопросом - а оно зачем надо (менять)? уже 5 лет работает и, если не трогать , ещё не один раз по 5 лет проработает мудрые говорят: лучшее - враг хорошего ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2010, 11:07 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
Шайтан, +1 P.S. Зачем ломать то, что прекрасно работает. Новые проекты, да - на WCF, тут всё правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2010, 11:26 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
тут посмотри я использую тесты RsdnDetaSerializer Serialization: 150 ms Loading: 450 Length: 1 053 824 bytes Serialization: 140 ms Loading: 451 Length: 1 053 824 bytes Serialization: 140 ms Loading: 451 Length: 1 053 824 bytes BinaryFormatter Serialization: 2 123 ms Loading: 7 631 Length: 6 985 259 bytes Serialization: 1 773 ms Loading: 7 701 Length: 6 985 259 bytes Serialization: 1 773 ms Loading: 7 701 Length: 6 985 259 bytes XmlSerializer Serialization: 1 793 ms Loading: 7 591 Length: 9 309 050 bytes Serialization: 1 652 ms Loading: 7 561 Length: 9 309 050 bytes Serialization: 1 662 ms Loading: 7 561 Length: 9 309 050 bytes SoapFormatter Serialization: 2 594 ms Loading: 9 233 Length: 11 001 874 bytes Serialization: 2 573 ms Loading: 9 173 Length: 11 001 874 bytes Serialization: 2 554 ms Loading: 9 163 Length: 11 001 874 bytes ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2010, 11:57 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
barrabas, что еще хотелось бы узнать,это какой процессор и сколько памяти использовали для теста. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2010, 12:17 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
Hug, 12 окт 10, 20:21 [9596316] Посмотри здесь , в конце статьи приведены и цифры и вывод. С уважением, Владимир. p.s. DateSet сериализуем. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2010, 12:33 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
AlexeiKbarrabas, что еще хотелось бы узнать,это какой процессор и сколько памяти использовали для теста. эти тесты автора, свои я не помню (сейчас дома, а не на работе), там же есть исходник просто запусти в новом проекте, на своей машине. у себя еще gzip использую причем судя по форуму уже 2я версия, а я давно уже юзаю (подпиливал под себя) возможно и первую версию, по сути можно выкинуть версии строк, мне они не нужны ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2010, 12:44 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
barrabasAlexeiKbarrabas, что еще хотелось бы узнать,это какой процессор и сколько памяти использовали для теста. эти тесты автора, свои я не помню (сейчас дома, а не на работе), там же есть исходник просто запусти в новом проекте, на своей машине. у себя еще gzip использую причем судя по форуму уже 2я версия, а я давно уже юзаю (подпиливал под себя) возможно и первую версию, по сути можно выкинуть версии строк, мне они не нужны хотя нет, там 2003год, значит эта версия, я не так давно этим озадачился ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2010, 12:46 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
barrabas тут посмотри я использую Хм. Это для того чтобы потом подсунуть сериализованные данные в виде DataTable - например в ObjectDataSource - надо еще свою обертку написать, которая будет десериализовать? Или можно как-то по другому извернуться? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2010, 15:49 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
hstasbarrabas тут посмотри я использую Хм. Это для того чтобы потом подсунуть сериализованные данные в виде DataTable - например в ObjectDataSource - надо еще свою обертку написать, которая будет десериализовать? Или можно как-то по другому извернуться? так там сериализатор и десиализатор сериализуешь в byte[], зипуешь если нужно, передаешь кленту, а на клиенте десериализуешь в DS или DataTable зачем обертку? это класс для компактной записи инфы из датасета, как я понял тупо без всяких лишних тегов пишет в определённо порядке инфу через разделитель, и читает обратно в датасет ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2010, 16:28 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
barrabas так там сериализатор и десиализатор сериализуешь в byte[], зипуешь если нужно, передаешь кленту, а на клиенте десериализуешь в DS или DataTable зачем обертку? это класс для компактной записи инфы из датасета, как я понял тупо без всяких лишних тегов пишет в определённо порядке инфу через разделитель, и читает обратно в датасет Это я все вижу. Просто получается, метод WCF сервиса, будет возвращать не DataTabel или DataSet, а сериализованный контент. А такой метод нельзя указазать для ObjectDataSource. Надо будет писать врапер, который будет дергать функции WCF сервиса, и полученное десериализовать в DataTable. Сейчас у меня декларативно указано Код: plaintext 1. 2. 3. 4.
Где GetOrdersMmts - это метод WCF сервиса (LcrServiceReference.LcrWebService), возвращает DataTable. Если он начнет возвращать сериализованный вручную контейнер - без доп обертки не обойтись. Не? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2010, 16:53 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
ну да, конечно нужно будет создать метод в котором вызовет метод сервиса и результат десериализует в таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2010, 17:54 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
чего то я не понял, как GetOrdersMmts у вас возвращает DataTable? Почему у меня не получилось создать OperationContract возвращающий произвольную таблицу. у вас там прям [OperationContract] DataTable GetOrdersMmts(); ?? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2010, 18:00 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
barrabasчего то я не понял, как GetOrdersMmts у вас возвращает DataTable? Почему у меня не получилось создать OperationContract возвращающий произвольную таблицу. у вас там прям [OperationContract] DataTable GetOrdersMmts(); ?? ну да Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2010, 21:38 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
hstasbarrabasчего то я не понял, как GetOrdersMmts у вас возвращает DataTable? Почему у меня не получилось создать OperationContract возвращающий произвольную таблицу. у вас там прям [OperationContract] DataTable GetOrdersMmts(); ?? ну да Код: plaintext 1.
а понял нужно имя давать DataTable иначе ошибка (оказывается известная фишка) но rsdn метод эффективнее передает большие объемы, т.ч. на нем оставлю да и я не вызываю проксю напрямую, у меня класс обертка для нее есть, т.к. в проксе только один метод в которую передаю имя действия параметры для него, а уж параметры и результат зависит от имени метода ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2010, 06:48 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
>barrabas, 27.10.2010, 17:54 [9687314] >ну да, конечно нужно будет ... Зная структуру сериализации полей данных исходого объекта, десериализовать на приемнике можно и в объект другого типа, например, не в таблицу, а список, что содержится в объекте класса данных. С уважением, Владимир ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2010, 10:41 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
ВМоисеев>barrabas, 27.10.2010, 17:54 [9687314] >ну да, конечно нужно будет ... Зная структуру сериализации полей данных исходого объекта, десериализовать на приемнике можно и в объект другого типа, например, не в таблицу, а список, что содержится в объекте класса данных. С уважением, Владимир ну тогда и передавать можно было коллекцию объектов, просто зачастую нужно передать компиляцию из многих объектов для простого отображения (ну отчёт например, пара полей из обного объекта, пара из другого, какието вычисления по третьему), передавать объекты целиком на клиента и там их обрабатывать не всегда эффективнее, чаще лучше написать селект в БД и передать результат, как произвольный дататайбл, для отчёта ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2010, 11:09 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
barrabasВМоисеев>barrabas, 27.10.2010, 17:54 [9687314] >ну да, конечно нужно будет ... Зная структуру сериализации полей данных исходого объекта, десериализовать на приемнике можно и в объект другого типа, например, не в таблицу, а список, что содержится в объекте класса данных. С уважением, Владимир ну тогда и передавать можно было коллекцию объектов, просто зачастую нужно передать компиляцию из многих объектов для простого отображения (ну отчёт например, пара полей из обного объекта, пара из другого, какието вычисления по третьему), передавать объекты целиком на клиента и там их обрабатывать не всегда эффективнее, чаще лучше написать селект в БД и передать результат, как произвольный дататайбл, для отчёта а плодить объекты типа Запись для отчёта 1 как то глупо ихмо ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2010, 11:10 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
потестил я этот сериализатор. большого выигрыша если честно, я не заметил. Но с помощью тестов, я нашел одну нехорошую у меня в сервисе вещь. Сейчас еще разок проверю, отпишусь. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2010, 11:32 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
hstasпотестил я этот сериализатор. большого выигрыша если честно, я не заметил. Но с помощью тестов, я нашел одну нехорошую у меня в сервисе вещь. Сейчас еще разок проверю, отпишусь. gzip прикрутил? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2010, 11:55 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
barrabashstasпотестил я этот сериализатор. большого выигрыша если честно, я не заметил. Но с помощью тестов, я нашел одну нехорошую у меня в сервисе вещь. Сейчас еще разок проверю, отпишусь. gzip прикрутил? Неа. Как прикручивать? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2010, 13:23 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
hstasbarrabashstasпотестил я этот сериализатор. большого выигрыша если честно, я не заметил. Но с помощью тестов, я нашел одну нехорошую у меня в сервисе вещь. Сейчас еще разок проверю, отпишусь. gzip прикрутил? Неа. Как прикручивать? использовать GZipStream ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2010, 13:26 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
вот что я использую чуток подпилил под себя методы и зипование прикрутил Код: plaintext 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. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2010, 13:29 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
ты тестируй на нескольких тысячах записей а не на десятке ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2010, 13:32 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
Нашел GZipStream Ща потестим ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2010, 15:16 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
barrabasты тестируй на нескольких тысячах записей а не на десятке Ну потестил, ровсет 45 тыщ записей. Разница в 600-700 миллисекунд. Не впечатляет. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2010, 16:31 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
hstasbarrabasты тестируй на нескольких тысячах записей а не на десятке Ну потестил, ровсет 45 тыщ записей. Разница в 600-700 миллисекунд. Не впечатляет. какой протокол net.tcp? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2010, 17:45 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
barrabas какой протокол net.tcp? http. В локальной сети и БД и WCF-сервис ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2010, 17:50 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
hstasbarrabas какой протокол net.tcp? http. В локальной сети и БД и WCF-сервис странно на net.tcp я еще понял, но на http у меня было быстрее когда тестил ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2010, 18:00 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
попозже сделаю тесты сервиса своего ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2010, 18:01 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2010, 07:25 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
HugРебята, я вышел http://code.google.com/p/protobuf-net/ Вот чем надо се\де\риализовывать Каков выигрыш, в цифрах? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2010, 09:33 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
потестил на таблице Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
сервис правда на виртуалке находится а не в реальной сетке протокол net.tcp c шифрованием сертификатом TEST1 - стандартный DataTable TEST2 - rsdn сериализатор без зипа тест Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Результат 3х тестов Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
разница в 2 раза, хотя согласен ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2010, 10:41 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
разница в 2 раза, хотя согласен не очень большая ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2010, 10:43 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
TEST2 - с зиповкой Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
на одной машине выигрывает стандартный метод (хотя не на много), а вот где канал будет узкий ситуация резка изменится в пользу зипованной передачи (хотя нагрузит сервер побольше, т.к. всё таки зиповать нужно) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2010, 10:47 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
размер в байтах после сериализации тестируемой таблицы Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2010, 10:59 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
barrabas Да, с компрессией у меня разница тоже стала еще меньше. Насчет объемов - мне это не критично. Клиент у меня тонкий. А WCF сервис и IIS с виртуальным каталогом клиента - они будут как минимум в одной локальной сети. Вообщем я выводы сделал. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2010, 11:03 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
hstasbarrabas Да, с компрессией у меня разница тоже стала еще меньше. Насчет объемов - мне это не критично. Клиент у меня тонкий. А WCF сервис и IIS с виртуальным каталогом клиента - они будут как минимум в одной локальной сети. Вообщем я выводы сделал. на самом деле я начал заморачиваться сериализатором, т.к. у меня не получилось с первого раза передать DataTable, тогда я еще не знаю о KnownType и то что имя нужно давать таблице перед передачей (проверил на тестовой безыменной, обломился и до реальных дело не дошло ) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2010, 11:08 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
barrabashstasbarrabas Да, с компрессией у меня разница тоже стала еще меньше. Насчет объемов - мне это не критично. Клиент у меня тонкий. А WCF сервис и IIS с виртуальным каталогом клиента - они будут как минимум в одной локальной сети. Вообщем я выводы сделал. на самом деле я начал заморачиваться сериализатором, т.к. у меня не получилось с первого раза передать DataTable, тогда я еще не знаю о KnownType и то что имя нужно давать таблице перед передачей (проверил на тестовой безыменной, обломился и до реальных дело не дошло ) Хм...я не даю таблице никаких имен, если не требуется (когда в ДатаСете не одна таблица). Все прекрасно передается. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2010, 11:13 |
|
WCF. Эффективнее передать DataSet
|
|||
---|---|---|---|
#18+
hstasbarrabashstasbarrabas Да, с компрессией у меня разница тоже стала еще меньше. Насчет объемов - мне это не критично. Клиент у меня тонкий. А WCF сервис и IIS с виртуальным каталогом клиента - они будут как минимум в одной локальной сети. Вообщем я выводы сделал. на самом деле я начал заморачиваться сериализатором, т.к. у меня не получилось с первого раза передать DataTable, тогда я еще не знаю о KnownType и то что имя нужно давать таблице перед передачей (проверил на тестовой безыменной, обломился и до реальных дело не дошло ) Хм...я не даю таблице никаких имен, если не требуется (когда в ДатаСете не одна таблица). Все прекрасно передается. ну ты из базы ее заполняешь, при Fill имя дается, а я пробовал тупо new DataTable(). ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2010, 11:22 |
|
|
start [/forum/topic.php?all=1&fid=19&tid=1397565]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
141ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
75ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 271ms |
0 / 0 |