Xamarin IOS App连接到IP地址但不连接域名

时间:2018-10-24 17:11:36

标签: c# xamarin.ios system.net

我有一个简单的Xamarin IOS应用程序,它使用System.Net连接到一些Rest服务;下面的代码段显示了我使用的一个简单帖子。

client = new HttpClient();
 var authHeaderValue = Convert.ToBase64String(Encoding.UTF8.GetBytes(authData));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authHeaderValue);
var uri = new Uri(string.Format(stringUrl));
var content = new StringContent(payload, Encoding.UTF8, "application/x-www-form-urlencoded");


try
{
    response = await client.PostAsync(uri, content);
}

我遇到的问题是,如果URL包含服务器的IP地址,则该应用程序成功连接到其余端点,但是,如果我在URL上使用域名而不是IP地址,IOS应用程序将无法连接,并且引发异常。我知道端点已启动并正在运行,因为我可以从应用程序的xamarin android版本连接到相同的URL端点,但是在IOS上它失败了。问题仅在URL上使用域名时出现。希望有人以前见过这种奇怪的行为。还值得注意的是,在IOS模拟器上进行相同的测试可以正常工作,但不能在真正的iphone上进行。谢谢

1 个答案:

答案 0 :(得分:0)

经过研究,我可以通过以下操作解决此问题:

使用(HttpClient客户端=新的HttpClient()) {

  response = await client.PostAsync(uri, content);

}