簡體   English   中英

如何在Xamarin Forms PCL應用程序中為HttpClient接受ASP.NET Web API控制器文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM