Communication Silverlight

    xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' 
    xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
    xmlns:d='http://schemas.microsoft.com/expression/blend/2008' 
    xmlns:mc='http://schemas.openxmlformats.org/markup-compatibility/2006' 
    mc:Ignorable='d' 
    d:DesignWidth='640' 
    d:DesignHeight='480'>
  
    
      
      
      
    

    
      
      
    
    
    
  

//File: Page.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Threading;
using System.IO;
namespace SilverlightApplication3
{
  public partial class MainPage : UserControl
  {
    private SynchronizationContext UIThread;
    public MainPage()
    {
      InitializeComponent();
    }
    private void btnSingleXml_Click(object sender, RoutedEventArgs e)
    {
      UIThread = SynchronizationContext.Current;
      string rawPath = "http://localhost:50145/Authors.svc/SingleXml/{0}";
      Uri path = new Uri(string.Format(rawPath, tbxInput.Text), UriKind.Absolute);
      HttpWebRequest request = (HttpWebRequest)WebRequest.Create(path);
      request.BeginGetResponse(SingleXmlCallBack, request);
    }
    private void SingleXmlCallBack(IAsyncResult result)
    {
      HttpWebRequest request = (HttpWebRequest)result.AsyncState;
      HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result);
      Stream responseStream = response.GetResponseStream();
      UIThread.Post(UpdateUiText, responseStream);
    }
    private void UpdateUiText(object stream)
    {
      if (stream != null)
      {
        StreamReader sr = new StreamReader((Stream)stream);
        tbkRaw.Text = sr.ReadToEnd();
      }
      else
      {
        tbkRaw.Text = "";
      }
    }
  }
}