0

Byte[] データを返す WCF サービスが 1 つあります。クライアント側でこのデータを読み取るにはどうすればよいですか

using GetrResponseStream();

HttpWebResponse resp = (HttpWebResponse)request.GetResponse();
if (resp.StatusCode == HttpStatusCode.OK)
{
     Stream responseStream = resp.GetResponseStream();
     if (responseStream != null)
     {
         var reader = new StreamReader(responseStream, Encoding.UTF8);
         string dataString = reader.ReadToEnd();
     }
}

このコードを使用して取得しています

dataString ={"[255,34,56,778,3,54,6,8,9,90,0,87,6,.....]"} 

しかし、私byte[]はそのWCFサービスによって返されたい、つまり欲しい

byte[] dataString =[255,34,56,778,3,54,6,8,9,90,0,87,6,.....];
4

2 に答える 2

4
var memoryStream = new MemoryStream();
responseStream.CopyTo(memoryStream);
return memoryStream.ToArray();
于 2012-04-24T07:44:30.327 に答える
0

StreamReaderは主にテキスト データの読み取りに使用されます。このStreamクラスGetByteを使用して、byte[]. 以下のコードを参照してください。

HttpWebResponse resp = (HttpWebResponse)request.GetResponse();
if (resp.StatusCode == HttpStatusCode.OK)
{
     using (Stream responseStream = resp.GetResponseStream())
     {
          /// you'll have your response in this variable
          var buffer = new byte[responseStream.Length];
          long bytesRemaining = responseStream.Length;
          int bytesRead = 0;

          while (bytesRemaining > 0)
          {
              int readCount = stream.Read(buffer, bytesRead, 1024);

              bytesRead += readCount;
              bytesRemaining -= readCount;
          }
     }
}
于 2012-04-24T08:01:57.233 に答える