Как обновить мой 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;
        } );
    }
}

c#   silverlight    

436   2   17:02, 14th August, 2020


Разработка приложений для iphone

В чем плюсы и минусы использования той или иной платформы для программирования приложений айфона. В частности интересует flash и objective c. Какой платформой вы бы рекомендовали пользоваться, или возможно интересно как то совмещать их положительные стороны, дабы избавиться от отрицательных. Спасибо за ответы.

iPhone   Objective-C   Adobe   Flash    

458   2   16:59, 14th August, 2020


Почему это плохая практика, чтобы сделать несколько подключений к базе данных в одном запросе?

Обсуждение Синглетонов в PHP году заставляет меня все больше и больше задумываться над этим вопросом. Большинство людей учат, что вы не должны делать кучу соединений DB в одном запросе, и мне просто любопытно, каковы ваши рассуждения. Моя первая мысль-это затраты на ваш сценарий, чтобы сделать так много запросов к DB, но затем я противопоставляю себя вопросу: не будет ли несколько соединений делать параллельные запросы более эффективными?

Как насчет некоторых ответов (с доказательствами, люди) от некоторых людей в курсе?

database   resources   database-connection    

445   5   16:44, 14th August, 2020


Бесплатный Волновой Синтезатор?

Мне нужно реализовать волновой синтезатор в ядре ARM Cortex-M3. Я ищу любой код или инструменты, которые помогут мне начать работу.

Я знаю об этой реализации AVR . Я действительно преобразовал его в PIC некоторое время назад. Теперь я ищу что-то похожее, но немного лучше звучащее.

Код ANSI C был бы замечательным. Любые фрагменты кода (C или C++), образцы, инструменты или просто общая информация будут очень признательны.

Спасибо.

audio   arm   microcontroller   synthesizer   sound-synthesis    

460   3   16:31, 14th August, 2020


expect 2 различных события

Как научить expect распознавать два различных события?
События не идут друг за другом.

Командная   строка    

247   1   15:57, 14th August, 2020


Настройка большого проекта Xcode

У меня есть большой выход из проекта C++ с участием:

  • 4 приложения
  • 50+ библиотеки
  • 20 + сторонних библиотек

Все это отлично строится на Windows с использованием VS8, Linux с использованием QMake (проект использует Qt много). Я также строю его на OS X, используя QMake, но я хотел настроить проект Xcode для обработки его в IDE. Я изо всех сил пытаюсь настроить правильную конфигурацию, чтобы легко определить зависимости, как для внутренних библиотек, так и для третьей стороны. Я могу сделать имущественные листы И.pri файлы в моем (нарушенном) сне, но был бы признателен за некоторые советы по созданию таких больших проектов в Xcode.

Я испытывал с файлами конфигурации Xcode и #including один от другого, но он, похоже, не работает так, как я ожидал бы, особенно при определении стандартных местоположений для заголовочных файлов и т. д.

Есть ли хорошая книга, описывающая процесс настройки Xcode (помните, что это C++, я не хочу изучать ObjC в это время)?

Или, может быть, хороший проект с открытым исходным кодом, из которого я мог бы учиться?

Спасибо!

xcode    

424   1   15:55, 14th August, 2020


Загрузка раздела конфигурации 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, но если мне придется прибегнуть к этому, я сделаю это. Просто кажется, что это немного халтура.

Есть какие-нибудь предложения?

c#   .net   xml   wcf   configurationmanager    

527   5   15:48, 14th August, 2020


Установка 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 не помогло



Какую книгу по шрифтам и типографике прочитать?

Недавно я понял, что обращаю очень большое внимание на шрифты. Я способен сказать, что один шрифт мне нравится, а другой — нет, но не могу этого объяснить. Теперь мне стало интересно почитать про шрифты, но не обрывочную информацию, а что-то больше.

Посоветуйте, пожалуйста, книгу по шрифтам (или по типографике в целом) человеку, который этим только начал интересоваться. Думаю, что один из первых советов будет что-то из «Лебедев посоветовал», но что именно — не знаю.

Книги   Шрифты   Типографика    

490   6   15:32, 14th August, 2020


Почему трассировки стека исключений всегда указывают на последнюю строку метода?

У меня проблема с установкой Visual Studio. Когда я получаю исключение, у меня всегда есть неправильные номера строк в стеке trace. В моей кодовой базе всегда есть точка до последней строки каждого метода. В то же время это OK, когда я отслеживаю программы с отладчиком. Что случилось с PDBs?

Нет, я не повторяю исключение для каждого метода.

В каждой строке стека trace у меня есть последняя строка соответствующего метода, в то время как исключение было брошено оператором в середине.

c#   .net   visual-studio   exception   stack-trace    

448   1   14:55, 14th August, 2020