Я использую этот код, но я не знаю, какое решение лучше
На стороне сервера
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");
}
};