2012-01-30 1 views
1

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

Предпочтительно, я хотел бы открыть обычный поток байтов в RIA и загрузить его клиенту.

Какие-нибудь хорошие примеры?

ответ

2

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

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

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(); 

      } 

Client Side

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"); 
      } 
      }; 
+0

Да, я понимаю, что я мог бы просто просто возвращать байты или строку клиенту, а клиент использует контент так, как он хочет, или создавать файл и т. д. Я думаю, мне интересно, как я могу это сделать, чтобы я мог передавать потоки от сервера к клиенту и иметь clien t обрабатывать байты, когда они входят в куски. Я не вижу никакого родного способа сделать это с RIA, если у меня что-то не хватает. – user1060500

Смежные вопросы