我有一个简单的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上进行。谢谢
答案 0 :(得分:0)
经过研究,我可以通过以下操作解决此问题:
使用(HttpClient客户端=新的HttpClient()) {
response = await client.PostAsync(uri, content);
}