我有一个托管的 WCF 服务,它返回一个字节 [] 的 protobuf-net 序列化数据。最初这是通过默认的 webHttpBinding 设置 (SOAP) 托管的,并且一切正常。我最近发现我需要直接从我们的客户端调用 HTTP GET 和 POST,所以我认为切换到使用 RESTful 服务会更容易。我切换到使用 WebGet 属性和 WCF REST 模板。
我试图创建一个简单的网站来测试客户端,但在反序列化数据时遇到了麻烦。这是我如何调用服务的示例:
using (WebClient client = new WebClient())
{
result = client.DownloadString(url);
}
// Deserialize
BinaryVehicles binVehs;
using (var ms = new MemoryStream(StrToByteArray(result)))
{
binVehs = Serializer.Deserialize<BinaryVehicles>(ms);
}
“结果”中返回的内容示例:
我还尝试反序列化 < base64Binary > 标签之间的数据,但没有结果。有谁知道我应该如何从 WebGet 方法发送二进制 protobuf-net 数据以及我应该如何反序列化数据?谢谢。