拥有一个ASMX Web服务,用于处理子文件夹中的XML文件。从另一个应用程序调用此Web服务以进行更改。我没有问题调用服务或对其进行更改。问题是从XML返回的文件内容始终是相同的。 Web服务对其进行更改(通过查看XML文件本身进行验证)。在另一个页面上,我使用XDocument获取XML文件并将信息加载到gridview中。即使在XML之后,推送到gridview的数据也不会改变。我已关闭页面的缓存和gridview的viewstate。我无法弄清楚的是如何获取它以便文件本身始终显示最新的。任何人都知道如何获得它,以便XML永远是最新的? THX。
仅供参考:除非可以在此应用程序本身上完成,否则无法触及IIS
编辑以显示获取XML文件的进程的一些代码。我很抱歉说它是XDocument,实际上它是一个XmlReader。
WebRequest.DefaultCachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
var newXmlString = _xmlFile + "?nd=" + + DateTime.Now.ToLongTimeString().Replace(" ", "").Replace(":", "");
var serializer = new XmlSerializer(typeof(XmlDto.SubscriberData));
using (var reader = XmlReader.Create(newXmlString))
{
var elements = (XmlDto.SubscriberData)serializer.Deserialize(reader);
if (elements.Subscribers.Count > 0)
{
gridSubscribers.DataSource = elements.Subscribers.OrderByDescending(p => p.Name);
}
litTotalSubscribers.Text = elements.Subscribers.Count.ToString();
gridSubscribers.DataBind();
}
已解决或似乎是在添加
之后RequestCacheLevel.NoCacheNoStore
它看起来工作正常。花了一段时间让服务器刷新自己并开始使用新进程,但到目前为止所有内容都在被更改,而且随着时间的推移,事情又回来了。