我有一个可移植的类库,需要至少针对.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