0

我不确定这是否可能,所以任何输入/帮助将不胜感激。

我在下面的一个类中有以下内容(这里删除了所有缓存):

public static class MasterXMLWeatherClass
{
public static async Task<IEnumerable<XElement>> WorldWeather(string id)
{
XDocument doc = await Task.Run(() =>  XDocument.Load(string.Format("http://urladdress?key={0}&feedkey={1}&format=xml&q={2}&tp=6&extra=isDayTime", sPartnerID, sLicenseKey, HttpUtility.UrlEncode(id))));
var getAllWeatherData = from weatherData in doc.Descendants("data")
                                    select weatherData;
return getAllWeatherData.AsEnumerable();
}
}

然后在另一个类中,我有 4 个方法从上面获取值,问题是我得到以下错误:

“System.Threading.Tasks.Task>”不包含“Descendants”的定义,并且找不到接受“System.Threading.Tasks.Task>”类型的第一个参数的扩展方法“Descendants”(您是否缺少使用指令还是程序集引用?)

var doc = MasterXMLWeatherClass.WorldWeather(id);

var displayCurrentConditions = (from wd in doc.Descendants("current_condition")- 这是引发错误的代码行。

但如果我再改变:

var doc = MasterXMLWeatherClass.WorldWeather(id); 

var doc = await Task.Run(()=> MasterXMLWeatherClass.WorldWeather(id)); 

并在下面更改为

public async Task<IEnumerable<DisplayCurrentConditions>> CurrentConditions(string id) 

错误消失了,我在界面中得到一个错误,然后我必须更改它。

最后,我的域层中没有错误,但随后我的 UI 层中出现错误

错误只是冒泡。

还有另一种方法吗?

代码添加

界面

Task<IEnumerable<DisplayCurrentConditions>> CurrentConditions(string id);

用户界面

public PartialViewResult pvHomePageWeatherDetails(string id)
{
var currentConditions  =  _IGWC.CurrentConditions(cleanText).FirstOrDefault();
return PartialView();
}
4

0 回答 0