【发布时间】:2016-02-03 22:39:38
【问题描述】:
我已经为此搜索了“网络”,但没有找到任何确定的帮助。这是场景:
我有一个带有 .NET Framework 4.0 的 Windows 2003 Server(32 位)。这些东西是没有商量余地的,我也无法改变。
我正在使用 Visual Studio 2012 进行编程,并针对 4.0 框架。这些事情在一定程度上是可以商量的;我的开发机器上还有 Visual Studio 2013 社区,如果有必要,可以使用它。
情况如下:
几个月前,我创建了一组页面,允许特定用户在我维护的 Intranet 站点上更新客户信息。该网站的大部分内容是用 ASP Classic 编写的,所以如果时间允许,我会尝试使用 C# 在 ASP.NET Web 应用程序中重建页面。
这组特定的页面允许用户更新显示在另一个 Web 应用程序中的 GridView 中的不同页面上的客户数据。因此,用户进行更改并且数据库更新正常。但是当他们返回显示客户列表的 GridView 页面时,他们看不到更改。它继续向他们显示未更改的数据。
我在 SO 上找到了一些答案,表明问题是第一次请求和编译时存储在 ASP.NET 临时文件文件夹中的 GridView Web 应用程序的一个版本。当我查看 C:\Windows\Microsoft.NET 下的那个文件夹时,果然,那里有一个文件夹,上面有更新页面应用程序的名称。
我可以使用命令 IISRESET /STOP 停止站点,删除文件夹中的文件,然后使用 IISRESET /RESTART 重新启动站点。这行得通,然后 GridView 将按应有的方式显示更新。但当用户进行多项更改时,它就是一个 PITA。
操作类型无关紧要。在我清除服务器上的临时文件夹之前,任何 CRUD 操作都不会显示在 GridView 上。例如,我第一次遇到这种情况时,有人试图添加一个新客户,当她没有在列表中看到该客户时,她重复了该操作。同样的结果,所以她在她最后联系我之前做了第三次。我做了上面的例程,记录显示很好。
任何类型的更改确实会写入数据库。这方面的 SQL 和编程似乎不是问题。此外,在我的开发机器和最终用户机器上都是如此,所以这似乎也不重要。
我不必清除用户的浏览器缓存。清除服务器上的临时文件夹后,用户可以正常看到更改。
我试图避免每天都转储该临时文件,即使我这样做,每次有人使用这些更新页面时,这个问题都会重新出现。在 cmets 中有人建议我可能没有正确实现我的 GridView,所以就是这样。
任何帮助弄清楚如何使 GridView 应用程序显示最新和最好的更新,而无需刷新该临时文件。
我可以分享任何需要的代码,所以如果您需要查看,请告诉我。
感谢所有提供帮助的人。
【问题讨论】:
标签: c# asp.net .net database gridview