【发布时间】:2011-07-30 22:21:17
【问题描述】:
编辑:抱歉,这里完全有问题。
编辑:再次从头开始:
我有一个 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 为空。这是我的问题对不起以前的版本我很累;)
【问题讨论】:
-
注意:
params是保留关键字,不知道在没有@前缀的情况下如何使用它。 -
另外说明,这里还有更多问题:
size和read在示例中没有定义,仅此而已。 -
我可以向你保证 Marshal.Copy 确实有效
标签: c# interop marshalling