var stream = new MemoryStream(); using (var fileStream = new FileStream(@"C:\Users\Robert\Desktop\hello.txt", FileMode.Open, FileAccess.Read)) { fileStream.CopyTo(stream); } var result = string.Empty; stream.Position = 0; using (var reader = new StreamReader(stream)) { result = reader.ReadToEnd(); } MessageBox.Show(result.Length.ToString()); =========== [ServiceContract(CallbackContract=typeof(ISocketServiceCallback))] public interface ISocketService { [OperationContract(IsOneWay=true)] void Start(); } public interface ISocketServiceCallback { [OperationContract(IsOneWay=true)] void Update(string message); } public class SocketService : ISocketService { public async void Start() { var client = OperationContext.Current.GetCallbackChannel(); var rand = new Random(); double ticker = 29; await Task.Factory.StartNew(() => { while (true) { client.Update(string.Format("MSFT: {0:C}", ticker)); ticker += rand.Next(-1,1)+rand.NextDouble(); Thread.Sleep(500); } }); } } ======= static void Main(string[] args) { var responder = new Responder(); var instance = new InstanceContext(responder); var client = new ServiceReference1.SocketServiceClient(instance); client.Start(); Console.ReadLine(); } class Responder : ServiceReference1.ISocketServiceCallback { public void Update(string message) { Console.WriteLine(message); } }