- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是一个相当奇怪的问题,但仍然是一个非常糟糕的问题。当用户在完全没有互联网的情况下进入我们的应用程序时,我们会返回 NameResolutionFailure
作为尝试通过 HttpClient
进行 API 调用的错误消息。好吧,没关系。但问题是,当用户连接到互联网、返回应用程序并尝试进行另一个 API 调用时,我们会收到相同的错误消息。似乎正在发生某种 DNS 缓存?
另一方面,如果用户在应用程序中具有互联网访问权限,然后失去了它,当我们尝试进行 API 调用时,我们会从 API 收到 ConnectFailure(网络无法访问)
错误称呼。一旦用户连接到互联网,他们就可以立即进行 API 调用。
我试图解决的问题是,A) NameResolutionFailure
和 ConnectFailure
之间有什么区别? B) 我们可以在应用程序中做些什么来强制它完全重试 API 调用而不使用任何缓存?对于我来说,DNS 是否被缓存并不明显,但我们有一种暗示,那就是正在发生的事情。
这是代码的一部分(如果您需要更多代码,请告诉我,我认为这是唯一需要的代码)
using(var client = new HttpClient())
{
client.Timeout = TimeSpan.FromSeconds(MaximumWebRequestTime);
HttpResponseMessage response = null;
try
{
response = await client.GetAsync(URL);
if (response.IsSuccessStatusCode) ....
最佳答案
刚刚在 iOS 上也遇到了这个问题,并通过设置 DNS 刷新超时修复了它:
System.Net.ServicePointManager.DnsRefreshTimeout = 0;
这是一个临时修复,但目前有效。尚未在 Android 上进行测试。很快就会这样做。
编辑:Android 测试成功。
关于xamarin - NameResolutionFailure 与 ConnectFailure 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40137190/
这是一个相当奇怪的问题,但仍然是一个非常糟糕的问题。当用户在完全没有互联网的情况下进入我们的应用程序时,我们会返回 NameResolutionFailure 作为尝试通过 HttpClient 进行
上下文:我有一个 Xamarin.Android 应用程序,它连接到 WebAPI 以获取不同的信息。 问题:尝试访问服务器时出现以下错误: System.Net.Http.HttpRequestEx
此问题已在 PlayStation 3、4、Xbox360、Xbox One 上重现。所有版本的 AjaxPro 都存在此问题。 当发出 Ajax 请求(使用 AjaxPro)时,服务器返回正确的内容
我是一名优秀的程序员,十分优秀!