我正在嘗試從服務讀取響應XML到類中以使用它。 如果我使用這個網址https://btsvcs.college.edu/HR/Employee/ID/[email protected]
從.NET客戶端調用Web API(C#)
響應XML將是這樣的:
<Data>
<Record id="PA01051" rowOrder="0">
<employee_id>20000343</employee_id>
</Record>
</Data>
我不得不創建我的類與響應XML相同。
這是類:
public class GetEmployeeIdByEmail
{
[DataContract(Namespace = "")]
public class Record
{
[DataMember(Order = 0)]
public string employee_id { get; set; }
}
[DataContract(Namespace = "")]
public class Data
{
[DataMember(Order = 0)]
public Record Record { get; set; }
}
}
之後,我不得不做出一個函數用來讀取XML的HttpClient
這是函數:
public async Task<GetEmployeeIdByEmail> GetEmployeeIdByEmail()
{
var client = new HttpClient();
var url = "https://btsvcs.college.edu/HR/Employee/ID/[email protected]";
client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/xml"));
var responseMessage = await client.GetAsync(url);
GetEmployeeIdByEmail responseData = null;
if (responseMessage.IsSuccessStatusCode)
{
responseData = await responseMessage.Content.ReadAsAsync<GetEmployeeIdByEmail>();
}
return responseData;
}
如果我做一個關於這個功能的斷點和一步一步的跟蹤總是回到網站閱讀這行後的xml
var responseMessage = await client.GetAsync(url);
並且沒有迴應完成調試。
我不知道是什麼原因。
異步應用程序是否拋出一個錯誤?它掛了嗎? 「沒有迴應」是什麼意思?澄清。 – Nkosi
檢查您的網址。你的代碼工作正常。使用「https://duckduckgo.com」進行測試可能是「btsvcs.college.edu」的名稱解析。 – ivw
@Nkos他們也不例外,應用程序仍然重新加載。 – Hansy