Потоковый байт [] или файл из службы RIA в клиент Silverlight - PullRequest
1 голос
/ 30 января 2012

Я ищу хороший пример или лучшую практику потоковой передачи байтов из службы RIA, полученной SL4 клиента SL5.Идея заключается в том, что клиенту SL необходимо загрузить файл, созданный в службе RIA.

Желательно, чтобы я хотел открыть обычный поток байтов в RIA и загрузить его клиенту.Есть хорошие примеры?

1 Ответ

2 голосов
/ 31 января 2012

Я использую этот код, но я не знаю, какое решение лучше

На стороне сервера

  public string GetUserPhoto(string Username)
           {
             byte[] Photo = DomainController.GetUserPhoto(Username);

             StringBuilder hex = new StringBuilder(Photo.Length * 2);
             foreach (byte b in Photo)
               hex.AppendFormat("{0:x2}", b);
             return hex.ToString();

           }

На стороне клиента

InvokeOperation<string> InvokeOp = context.GetUserPhoto(username);
        InvokeOp.Completed += (s, e) =>
          {
            if (!InvokeOp.HasError)
            {
              string photo = ((InvokeOperation<string>)s).Value;

              int NumberChars = photo.Length; 
              byte[] bytes = new byte[NumberChars / 2]; 
              for (int i = 0; i < NumberChars; i += 2)
                bytes[i / 2] = Convert.ToByte(photo.Substring(i, 2), 16);

              _UserPhoto = bytes;

              onPropertyChanged("UserPhoto");
            }
          };
...