[英]How to accept ASP.NET web API controller file for HttpClient in Xamarin Forms PCL application
我在asp.net中有一個webapi,我有一個本地主機地址,例如http://localhost:50908/api/Schools/
它在XML文件中提供了類似以下內容的輸出:
<ArrayOfSchool xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MasterDetail.Models">
<School>
<SchoolCode>TDSB001</SchoolCode>
<SchoolId>1</SchoolId>
<SchoolName>Claude Watson School for Arts</SchoolName>
</School>
<School>
<SchoolCode>TDSB002</SchoolCode>
<SchoolId>2</SchoolId>
<SchoolName>Harvest Community School of Arts.</SchoolName>
</School>
<School>
<SchoolCode>TDSB003</SchoolCode>
<SchoolId>3</SchoolId>
<SchoolName>Yogin Bhatt Arts School.</SchoolName>
</School>
</ArrayOfSchool>
我給客戶的代碼:
public async Task<List<School>> GetAsync()
{
var httpClient = new HttpClient();
HttpResponseMessage responseGet = await httpClient.GetAsync("http://10.115.160.142/sampleSchools.xml");
string response = await responseGet.Content.ReadAsStringAsync();//Getting response
response.Replace(((char)0xFEFF).ToString(), "");
XDocument doc = XDocument.Load("http://10.115.160.142/sampleSchools.xml");
List<School> SchoolDetailsList = new List<School>();
// await DisplayAlert("XmlParsing", doc.ToString, "Ok");
foreach (var item in doc.Descendants("School"))
{
School schoolItem = new School();
schoolItem.SchoolCode = item.Element("SchoolCode").Value.ToString();
schoolItem.SchoolId = item.Element("SchoolId").Value.ToString();
schoolItem.SchoolName = item.Element("SchoolName").Value.ToString();
SchoolDetailsList.Add(schoolItem);
}
//Binding listview with server response
var ResList = SchoolDetailsList;
return ResList;
}
我上面給出的類似內容不適用於我的URI,因此我制作了xml文件的副本並將其放在xampp服務器上。 這樣就可以了,但這不是正確的方法。 該怎么做?
您可以隨時嘗試將其更改為iis服務器,而不是iisexpress來運行這種代碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.