WCF是否缓存存储过程
本文关键字:存储过程 缓存 是否 WCF | 更新日期: 2023-09-27 17:57:50
我有一个WCF服务,我的客户端会调用它,告诉它运行storedprocedure1
、param1, param2
等。
当WCF服务获得此调用时,它实例化一个实例化DAO类的类。DAO类创建连接,将参数加载到SqlCommand
对象中,然后执行该对象。
完成后,它关闭SqlConnection
,但不关闭或处置DAO类,因为它需要运行多个过程。
问题来了。如果我编辑storedprocedure1
,然后通过WCF服务调用它,那么在重新启动WCF服务之前,我在storedprocedure1
中所做的更改不会得到反映。它类似于storedprocedure1
缓存在WCF中。
其他人经历过这种情况吗?有解决方案吗?
我认为WCF服务正在缓存存储过程的结果。
请参阅:http://msdn.microsoft.com/en-us/library/ee230443.aspx
我认为关键可能在于以下语句:
但不关闭或处置DAO类
如果没有看到DAO类的代码,很难说,但查询结果似乎更可能是由数据访问层缓存的,而不是由WCF缓存的。
不管怎样,它实际上与存储过程无关,它只是缓存执行存储过程的结果。如果您更改了数据而不是更改过程,那么同样的问题也应该存在——您会得到过时的数据。