적어도 .net 4.5 및 Silverlight 5를 대상으로하는 휴대용 클래스 라이브러리가 있습니다. 라이브러리가 없기 때문에 VS 2012에 MSTest 유닛 테스트를 작성하는 데 문제가 있습니다. 새로운 async/await 패러다임을 사용하십시오. 이 방법을 테스트 할 수있는 방법이 있습니까?휴대용 클래스 라이브러리를 사용한 비동기 유닛 테스트
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
Task.Factory.FromAsync는 APM을 async/await로 변환하기위한 것입니다. – Aron
그리고이 변환에서 "올바른"방법은 메소드가 콜백 권한으로 보내는 문자열을 반환하도록하는 것입니다. – user140550