Как обновить мой UI изнутри HttpWebRequest.BeginGetRequestStream в Silverlight
Я загружаю несколько файлов, используя BeginGetRequestStream из HttpWebRequest, но я хочу обновить контроль выполнения, который я написал, Пока я публикую поток данных.
Как это должно быть сделано, я попытался вызвать Dispatch.BeginInvoke (как показано ниже) из цикла, который толкает данные в поток, но он блокирует браузер до его завершения, поэтому он, похоже, находится в каком-то тупике рабочего потока/пользовательского интерфейса.
Это фрагмент кода в значительной степени то, что я делаю:
class RequestState
{
public HttpWebRequest request; // holds the request
public FileDialogFileInfo file; // store our file stream data
public RequestState( HttpWebRequest request, FileDialogFileInfo file )
{
this.request = request;
this.file = file;
}
}
private void UploadFile( FileDialogFileInfo file )
{
UriBuilder ub = new UriBuilder( app.receiverURL );
ub.Query = string.Format( "filename={0}", file.Name );
// Open the selected file to read.
HttpWebRequest request = (HttpWebRequest)WebRequest.Create( ub.Uri );
request.Method = "POST";
RequestState state = new RequestState( request, file );
request.BeginGetRequestStream( new AsyncCallback( OnUploadReadCallback ), state );
}
private void OnUploadReadCallback( IAsyncResult asynchronousResult )
{
RequestState state = (RequestState)asynchronousResult.AsyncState;
HttpWebRequest request = (HttpWebRequest)state.request;
Stream postStream = request.EndGetRequestStream( asynchronousResult );
PushData( state.file, postStream );
postStream.Close();
state.request.BeginGetResponse( new AsyncCallback( OnUploadResponseCallback ), state.request );
}
private void PushData( FileDialogFileInfo file, Stream output )
{
byte[] buffer = new byte[ 4096 ];
int bytesRead = 0;
Stream input = file.OpenRead();
while( ( bytesRead = input.Read( buffer, 0, buffer.Length ) ) != 0 )
{
output.Write( buffer, 0, bytesRead );
bytesReadTotal += bytesRead;
App app = App.Current as App;
int totalPercentage = Convert.ToInt32( ( bytesReadTotal / app.totalBytesToUpload ) * 100 );
// enabling the following locks up my UI and browser
Dispatcher.BeginInvoke( () =>
{
this.ProgressBarWithPercentage.Percentage = totalPercentage;
} );
}
}
Разработка приложений для iphone
В чем плюсы и минусы использования той или иной платформы для программирования приложений айфона. В частности интересует flash и objective c. Какой платформой вы бы рекомендовали пользоваться, или возможно интересно как то совмещать их положительные стороны, дабы избавиться от отрицательных. Спасибо за ответы.
Почему это плохая практика, чтобы сделать несколько подключений к базе данных в одном запросе?
Обсуждение Синглетонов в PHP году заставляет меня все больше и больше задумываться над этим вопросом. Большинство людей учат, что вы не должны делать кучу соединений DB в одном запросе, и мне просто любопытно, каковы ваши рассуждения. Моя первая мысль-это затраты на ваш сценарий, чтобы сделать так много запросов к DB, но затем я противопоставляю себя вопросу: не будет ли несколько соединений делать параллельные запросы более эффективными?
Как насчет некоторых ответов (с доказательствами, люди) от некоторых людей в курсе?
Бесплатный Волновой Синтезатор?
Мне нужно реализовать волновой синтезатор в ядре ARM Cortex-M3. Я ищу любой код или инструменты, которые помогут мне начать работу.
Я знаю об этой реализации AVR . Я действительно преобразовал его в PIC некоторое время назад. Теперь я ищу что-то похожее, но немного лучше звучащее.
Код ANSI C был бы замечательным. Любые фрагменты кода (C или C++), образцы, инструменты или просто общая информация будут очень признательны.
Спасибо.
expect 2 различных события
Как научить expect распознавать два различных события?
События не идут друг за другом.
Настройка большого проекта Xcode
У меня есть большой выход из проекта C++ с участием:
- 4 приложения
- 50+ библиотеки
- 20 + сторонних библиотек
Все это отлично строится на Windows с использованием VS8, Linux с использованием QMake (проект использует Qt много). Я также строю его на OS X, используя QMake, но я хотел настроить проект Xcode для обработки его в IDE. Я изо всех сил пытаюсь настроить правильную конфигурацию, чтобы легко определить зависимости, как для внутренних библиотек, так и для третьей стороны. Я могу сделать имущественные листы И.pri файлы в моем (нарушенном) сне, но был бы признателен за некоторые советы по созданию таких больших проектов в Xcode.
Я испытывал с файлами конфигурации Xcode и #including один от другого, но он, похоже, не работает так, как я ожидал бы, особенно при определении стандартных местоположений для заголовочных файлов и т. д.
Есть ли хорошая книга, описывающая процесс настройки Xcode (помните, что это C++, я не хочу изучать ObjC в это время)?
Или, может быть, хороший проект с открытым исходным кодом, из которого я мог бы учиться?
Спасибо!
Загрузка раздела конфигурации System.ServiceModel с помощью ConfigurationManager
Используя C# .NET 3.5 и WCF, я пытаюсь записать некоторые конфигурации WCF в клиентском приложении (имя сервера, к которому подключается клиент).
Очевидный способ-использовать ConfigurationManager для загрузки раздела конфигурации и записи необходимых мне данных.
var serviceModelSection = ConfigurationManager.GetSection("system.serviceModel");
Кажется, что всегда возвращается null.
var serviceModelSection = ConfigurationManager.GetSection("appSettings");
Работать отлично.
Раздел конфигурации присутствует в App.config, но по какой-то причине ConfigurationManager отказывается загружать раздел system.ServiceModel .
Я хочу избежать ручной загрузки файла xxx.exe.config и использования XPath, но если мне придется прибегнуть к этому, я сделаю это. Просто кажется, что это немного халтура.
Есть какие-нибудь предложения?
Установка Ubuntu 10.10 поверх Windows 7
Вчера попробовал поставить Ubuntu 10.10 поверх Windows 7 и столкнулся с проблемой.
Есть жесткий диск, поделенный на два раздела (системный и для фигни всякой) и второй жесткий (тоже поделен на две части: для фигни и для Acronis Secure Zone). Вот на системный и пробовал ставить. Сначала удалил его под ноль, потом создал в нем файловую систему ext4 (логический раздел), примонтировал к "/" и раздел для подкачки. Остальные разделы оставил как есть, примонтировал /windows/distr и т.д.
Суть в том, что после установки и перезагрузки биос пишет, что не найден MBR (не важно с какого жесткого грузиться).
Пробовал бить системный раздел на три части, где третью монтировал как /boot — не помогло.
Была еще идея оставить как раздел для загрузчика сам жесткий, а не раздел, но побоялся вообще всю информацию на жестком потерять, хотя, наверное, это и есть решение.
Вообще Ubuntu ставлю второй раз в жизни и в первый раз с переразбивкой разделов. В общем, как мне все сделать по уму:
1. Установить Ubuntu на системный раздел;
2. Два раздела оставить как есть, но монтировать при загрузке;
3. ASZ вообще не трогать
ubuntologia.ru/installation#partitions-setup не помогло
395   3   15:33, 14th August, 2020
Какую книгу по шрифтам и типографике прочитать?
Недавно я понял, что обращаю очень большое внимание на шрифты. Я способен сказать, что один шрифт мне нравится, а другой — нет, но не могу этого объяснить. Теперь мне стало интересно почитать про шрифты, но не обрывочную информацию, а что-то больше.
Посоветуйте, пожалуйста, книгу по шрифтам (или по типографике в целом) человеку, который этим только начал интересоваться. Думаю, что один из первых советов будет что-то из «Лебедев посоветовал», но что именно — не знаю.
Почему трассировки стека исключений всегда указывают на последнюю строку метода?
У меня проблема с установкой Visual Studio. Когда я получаю исключение, у меня всегда есть неправильные номера строк в стеке trace. В моей кодовой базе всегда есть точка до последней строки каждого метода. В то же время это OK, когда я отслеживаю программы с отладчиком. Что случилось с PDBs?
Нет, я не повторяю исключение для каждого метода.
В каждой строке стека trace у меня есть последняя строка соответствующего метода, в то время как исключение было брошено оператором в середине.
- «
- 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
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- »