我重写了我的一些旧异步代码,这些代码可以进行 SOAP 调用。fetch() 方法将退出,从 SOAP 接口获取结果,然后将其添加到绑定到我的 WPF 视图的 DataTable 中。新代码使用 Reactive Extensions 来获取字符串列表并从列表中创建一个 IObservable。我认为它会异步返回结果,但整个 UI 会锁定,直到整个结果集准备好。我是 Reactive Extensions 的新手,所以我希望我只是缺少一些简单的东西。
编码:
(来自点击事件)
private void fetchSoapRows()
{
var strings = (txtInput.Text.Split('*')).ToObservable();
strings.Subscribe(s=> SoapQueryEngine.Fetch(s));
}
另外,有谁知道我如何编写测试以确保此方法将来不会阻止应用程序?