gpt4 book ai didi

c# - System.Windows.ni.dll 出现类型为 'System.Net.WebException' 的异常

转载 作者:太空狗 更新时间:2023-10-29 20:30:50 39 4
gpt4 key购买 nike

我正在开发 Windows Phone 8 应用程序。当我尝试运行我的应用程序时出现此错误:

我的错误描述

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;
}

最佳答案

无论出于何种原因,看起来远程 Web 服务器正在响应 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 的“输出”窗口中看到跟踪输出。

关于c# - System.Windows.ni.dll 出现类型为 'System.Net.WebException' 的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19904334/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com