我有一個可移植的類庫,需要至少針對.net 4.5和Silverlight 5.我遇到了一個問題,試圖在VS 2012編寫MSTest單元測試,因爲我的庫沒有使用新的異步/等待範例。有什麼辦法可以測試這種方法嗎?異步單元測試與便攜式類庫
public static void Get(string uri, string acceptHeader, Action<string> callback)
{
var request = (HttpWebRequest)WebRequest.Create(uri);
request.Accept = acceptHeader;
request.BeginGetResponse(o =>
{
var r = o.AsyncState as HttpWebRequest;
try
{
var response = r.EndGetResponse(o);
using (var sr = new StreamReader(response.GetResponseStream()))
{
callback(sr.ReadToEnd());
}
}
catch (Exception ex)
{
throw new WebException(string.Format("Unable to access {0}", uri), ex);
}
}, request);
}
我實際上打開使用async/await,但* Async方法似乎缺少PCL的'HttpWebRequest'。你會如何改變我的'Get'方法? – user140550 2013-02-26 20:13:53
Task.Factory.FromAsync用於將APM轉換爲異步/等待。 – Aron 2013-02-26 20:19:19
而在這種轉換中,「正確」的方式是讓該方法返回我發送回調權限的字符串? – user140550 2013-02-26 20:23:00