WCF是否缓存存储过程

本文关键字:存储过程 缓存 是否 WCF | 更新日期: 2023-09-27 17:57:50

我有一个WCF服务,我的客户端会调用它,告诉它运行storedprocedure1param1, param2等。

当WCF服务获得此调用时,它实例化一个实例化DAO类的类。DAO类创建连接,将参数加载到SqlCommand对象中,然后执行该对象。

完成后,它关闭SqlConnection,但不关闭或处置DAO类,因为它需要运行多个过程。

问题来了。如果我编辑storedprocedure1,然后通过WCF服务调用它,那么在重新启动WCF服务之前,我在storedprocedure1中所做的更改不会得到反映。它类似于storedprocedure1缓存在WCF中。

其他人经历过这种情况吗?有解决方案吗?

WCF是否缓存存储过程

我认为WCF服务正在缓存存储过程的结果。

请参阅:http://msdn.microsoft.com/en-us/library/ee230443.aspx

我认为关键可能在于以下语句:

但不关闭或处置DAO类

如果没有看到DAO类的代码,很难说,但查询结果似乎更可能是由数据访问层缓存的,而不是由WCF缓存的。

不管怎样,它实际上与存储过程无关,它只是缓存执行存储过程的结果。如果您更改了数据而不是更改过程,那么同样的问题也应该存在——您会得到过时的数据。