C# 使用WindowsPhone7解析JSON对象
我正在尝试读取我创建的Uri,并将其显示在WindowsPhone7应用程序上。 我正在做这个教程: 我的问题是程序没有进入OpenReadCompletedEventHandler,我不知道为什么。为了调试,我放置了消息框,发现程序没有进入OpenReadCompletedEventHandler。以下是相关代码:C# 使用WindowsPhone7解析JSON对象,c#,json,windows-phone-7,C#,Json,Windows Phone 7,我正在尝试读取我创建的Uri,并将其显示在WindowsPhone7应用程序上。 我正在做这个教程: 我的问题是程序没有进入OpenReadCompletedEventHandler,我不知道为什么。为了调试,我放置了消息框,发现程序没有进入OpenReadCompletedEventHandler。以下是相关代码: void myButton_Click(object sender, RoutedEventArgs e) { try {
void myButton_Click(object sender, RoutedEventArgs e)
{
try
{
WebClient webClient = new WebClient();
Uri uri = new Uri("http://localhost:44705/Service1.svc/GetAllBrands");
webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
try
{
webClient.OpenWriteAsync(uri);
MessageBox.Show("opening sucsseded");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
MessageBox.Show("OpenRead Handler");
// OpenWriteCompletedEventArgs temp = (OpenWriteCompletedEventArgs)e;
DataContractJsonSerializer serializer = null;
try
{
serializer = new DataContractJsonSerializer(typeof(ObservableCollection<Brand>));
ObservableCollection<Brand> Brands = serializer.ReadObject(e.Result) as ObservableCollection<Brand>;
foreach (Brand b in Brands)
{
int id = b.BrandId;
string name = b.BrandName;
listBrands.Items.Add(id + " " + name);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
提前谢谢 我从来没有用过这个,但是快速的谷歌会把我带到MSDN上的这个页面- 这应该告诉您为什么它不起作用-因为您正在使用一个读事件进行写操作。根据MSDN上的此页,您应该将OpenWriteCompletedEventHandler与OpenWriteAsync一起使用-