2013-11-11 2 views
4

Я разрабатываю приложение Windows Phone 8. Я получаю эту ошибку, когда я пытаюсь запустить мое приложение:Исключение типа «System.Net.WebException» произошло в System.Windows.ni.dll

Мое описание ошибки

An exception of type 'System.Net.WebException' occurred in System.Windows.ni.dll but was not handled in user code.

Мой код

private async void buttonStringGet_Click_1(object sender, RoutedEventArgs e) 
{ 
    JsonWebAsync.JsonWebClient client = new JsonWebAsync.JsonWebClient(); 
    var resp = await client.DoRequestAsync("myurl"); 
    string result = resp.ReadToEnd(); 
    resultText.Text = result; 
} 
+0

извините его C# ... –

+0

Что такое сообщение внутри исключения в Интернете? – chwarr

+0

i can not get u .. только эти две строки становятся ошибкой. Исключение типа «System.Net.WebException» произошло в System.Windows.ni.dll, но не было обработано в коде пользователя Если есть является обработчиком для этого исключения, программа может быть безопасно продолжена. –

ответ

4

По какой-то причине, это похоже на пульте дистанционного управления веб-сервер отвечает 404 Not Found. Возможно, сервер делает все правильно. Если это так, вам нужно будет обработать этот ответ разумным способом. Возможно, это не так, и у вас есть ошибка в вашем серверном компоненте. :-)

Я бы подошел к решению аварии приложения двумя разными способами.

Во-первых, давайте обработаем эту ошибку, чтобы приложение не разбилось. В качестве примера мы просто заполним элемент управления resultText с некоторыми подробностями об ошибке. Поскольку мы не имеем никаких подробностей о том, что должен делать запрос или как выглядит ответ, нет более надежной обработки ошибок, которая может быть обсуждена прямо сейчас. Имейте в виду, что вызовы сетей не всегда работают, поэтому вам понадобится некоторая обработка ошибок, даже если вы обратитесь к второму пункту ниже.

private async void buttonStringGet_Click_1(object sender, RoutedEventArgs e) 
{ 
    JsonWebAsync.JsonWebClient client = new JsonWebAsync.JsonWebClient(); 

    string result; 

    try 
    { 
     var resp = await client.DoRequestAsync("myurl"); 
     result = resp.ReadToEnd(); 
    } 
    catch (WebException ex) 
    { 
     // generic error handling 
     result = string.Format("Could not get data. {0}", ex); 
    } 

    resultText.Text = result; 
} 

Во-вторых, давайте попробуем избежать ошибки в первую очередь. Давайте убедимся, что запрос, отправляемый клиентом, имеет смысл. Вы можете добавить код инструментария, чтобы убедиться, что все, что используется вместо «myurl», разумно.

private async void buttonStringGet_Click_1(object sender, RoutedEventArgs e) 
{ 
    JsonWebAsync.JsonWebClient client = new JsonWebAsync.JsonWebClient(); 

    string requestUrl = ComputeRequestUrl(); // I assume this code exists somewhere. 
    System.Diagnostics.Debug.WriteLine("Sending request for {0}", requestUrl); 
    var resp = await client.DoRequestAsync(requestUrl); 
    string result = resp.ReadToEnd(); 
    resultText.Text = result; 
} 

Теперь, при запуске отладки построить с помощью отладчика прилагается, вы должны быть в состоянии увидеть трассировку вывода в окне вывода Visual Studio, когда вы выбираете поток отладки.

+0

thanx я исправился, может у вас, пожалуйста, скажите, как извлечь его с помощью id. –

+0

Я не понимаю, о чем вы спрашиваете. Что происходит? Что такое идентификатор? (Возможно, это новый вопрос?) – chwarr

+0

thanx я выполнил свою задачу .. и помог мне хорошо .. –

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