0
라이브러리에 다음 코드가 있습니다 Helper.dll. 이 어셈블리에는 Products.XML이라는 XML 파일이 포함되어 있습니다. 방법 GetProducts
잘 작동합니다. 그러나 동기식이기 때문에 응답하는 데 몇 초가 걸립니다. 이로드 작업이 진행될 때 UI를 릴리스하고 싶습니다.비동기 호출 동기화 변경
에는 비동기 호출이 XDocument.Load
같은 XML 운영에 LINQ 사용할 수 없습니다 있습니다, 그래서 여기 async
및 await
을 사용할 수 없습니다.
감사합니다.
public static class LookupUtil
{
public static IEnumerable<XElement> GetProducts()
{
var stream = Assembly.
GetExecutingAssembly().
GetManifestResourceStream("Helper.Products.XML");
var reader = new XmlTextReader(stream);
var document = XDocument.Load(reader);
return document.Descendants("Products");
}
}
나는 'Task.Run'을 호출 코드에 사용하는 것을 권하고 싶다. 라이브러리 코드에서 비동기 동작을 위조하지 마십시오. –