バイト[]のprotobuf-netシリアル化データを返すWCFサービスがホストされています。元々、これはデフォルトのwebHttpBinding設定(SOAP)でホストされており、すべてが正しく機能していました。最近、クライアントから直接HTTP GETとPOSTを呼び出す必要があることがわかったので、RESTfulサービスを使用するように切り替える方が簡単だと思いました。WebGet属性とWCFRESTテンプレートを使用するように切り替えました。
クライアントをテストするための簡単なWebサイトを作成しようとしましたが、データの逆シリアル化に問題があります。これは、私がサービスを呼び出す方法の例です。
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 xmlns = "http://schemas.microsoft.com/2003/10/Serialization/"> ChsKCzEyMy00NTYtNzg5EgU0NDAwMBoFQmxhY2sKHAoLOTYzLTg1Mi03NDESBTIzMDAwGgZTaWx2ZXI
また、<base64Binary>タグ間のデータを逆シリアル化しようとしましたが、結果はありませんでした。WebGetメソッドからバイナリprotobuf-netデータを送信する方法と、データを逆シリアル化する方法について誰かが考えていますか?ありがとう。