У меня есть следующая функция + код для синтаксического анализа и запроса запроса веб-службы, а затем теоретически сохранить результаты в приложении (поскольку требуется только один раз в день, что, к счастью, происходит при обновлении приложения).
//tocommondata is a reference to the common stuff in the webservice
var dCountries = toCommonData.PropertyCountries; //KeyValuePair
var dRegions = toCommonData.Regions;//Array
var dAreas = toCommonData.Areas;//Array
var commonDAT = (from c in dCountries
join r in dRegions on c.Key equals r.CountryCode
join a in dAreas on r.Id equals a.RegionId
join p in dResorts on a.Id equals p.AreaId
select new CommonSave
{
Key = c.Key,
Value = c.Value,
Id = r.Id,
Name = r.Name,
dAreasID = a.Id,
dAreasName = a.Name,
}
).ToList().AsQueryable();
HttpContext.Current.Application["commonDAT"] = commonDAT;
ЭТОТ Бит отлично работает
foreach (var item in commonDAT)
{
Response.Write(item.value);
}
** В идеале я хочу вытащить его из appmemory, чтобы я мог получить доступ к данным, где я попробовал различные (возможно, глупые) методы для использования информации. Просто вытащить его вызывает у меня проблемы: o (**
//This Seems to kinda work for at least grabbing it (I'm probably doing this REALLY wrong).
IQueryable appCommonRar = (IQueryable)HttpContext.Current.Application["commonDAT"];
Ответ отмечен (удалите .AsQueryable ())
Быстрый пример
Просто чтобы сделать подробный ответ, быстрый способ повторно запросить и отобразить набор результатов ...
List<CommonSave> appcommon = (List<CommonSave>)HttpContext.Current.Application["commonDAT"];
Response.Write(appcommon.Count()); // Number of responses
var texst = (from xs in appcommon
where xs.Key == "GBR"
select xs.dAreasName
);
foreach (var item in texst)
{
Response.Write("<br><b>"+item.ToString()+"<b><br>");
}
Надеюсь, кому-нибудь пригодится.