编辑:对不起这里有些错误。
编辑:从头开始:我有一个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为空。这是我的问题抱歉以前的版本我累了;)
答案 0 :(得分:0)
问题是相同的代码在WCF服务和普通的Windows应用程序中有不同的结果。在WCF服务中,当RemoteRead读取0字节时,它将零放入arrbyt,在读取0字节后,在Windows应用程序中,arrbyte保持不变,并且内部没有任何正确的值。