Проблема с получением байтового массива из потока в службе WCF - PullRequest
0 голосов
/ 06 апреля 2011

РЕДАКТИРОВАТЬ: Извините Здесь было что-то не так.

РЕДАКТИРОВАТЬ: снова с начала:

У меня есть служба WCF и в какой-то момент моей программы я получаю указательбайтовый массив.Я хочу скопировать байты из этого байтового массива / указателя в другой байтовый массив и отправить его клиенту.У меня также есть тестовая программа (не служба WCF), которая выполняет тот же код:

            uint read = 1;
            uint size = (uint)job.OutputFileParameters[1].ActualSize + 1;
            byte[] arrbyt = new byte[job.OutputFileParameters[1].ActualSize + 1];
            unsafe
            {

                fixed (byte* buffer = arrbyt)
                {
                    int ind = 0;
                    while (read != 0)
                    {
                        str.RemoteRead(out *buffer, size, out read);

                    }

                }
            }

Но в тестовой программе arrbyt заполнен байтами, и все в порядке, но в службе WCF arrbyt пуст.Это моя проблема, извините за предыдущую версию, я устал;)

1 Ответ

0 голосов
/ 09 апреля 2011

Проблема заключалась в том, что один и тот же код имеет разные результаты в службе WCF и в обычном приложении Windows.В службе WCF, когда RemoteRead читает 0 байтов, он устанавливает нули в arrbyt, в приложении Windows после чтения 0 байтов arrbyte остается без изменений с соответствующими значениями внутри.

...