我正在使用Microsoft.Data.OData
庫,基本上想要構建一個程序,它從OData查詢中抓取DataTable
,從中構建數據庫並插入記錄。如何從HttpWebResponse創建ODataMessageReader?
由於這需要動態,服務引用不會爲我工作。
經過兩個小時的搜索和篩選MSDN上的文檔,我還沒有拿出解決我的問題。
我的代碼到目前爲止是在下面,我只需要知道是否有人從HttpWebRequest
到ODataReader
或任何相關的類,讓我讀取查詢的結果,而無需編寫我自己的解析器,他們做到了。
public class ODataPuller
{
private readonly Uri uri;
public ODataPuller(Uri uri)
{
this.uri = uri;
}
private async Task<HttpWebResponse> MakeRequestAsync(string filter)
{
filter = "?$filter=" + filter;
Uri target = new Uri(this.uri, filter);
HttpWebRequest request = HttpWebRequest.CreateHttp(target);
request.Headers["Accept"] = "application/xml";
HttpWebResponse response = await request.GetResponseAsync() as HttpWebResponse;
return response;
}
public async Task<DataTable> GetDataTableAsync(string filter)
{
HttpWebResponse response = await this.MakeRequestAsync(filter);
Stream stream = response.GetResponseStream();
// Turn this stream into something nice
}
}
光榮。您在博客中支持這一點很有幫助。我一定會檢查出來。 –