在服务中更新时,对XML文件内容的Web服务调用不会更改

时间:2013-12-05 13:45:37

标签: c# asp.net xml web-services

拥有一个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

它看起来工作正常。花了一段时间让服务器刷新自己并开始使用新进程,但到目前为止所有内容都在被更改,而且随着时间的推移,事情又回来了。

0 个答案:

没有答案