问题描述
|
我有一个WCF服务,我的客户端打电话告诉它运行
storedprocedure1
和param1,param2
等。
当WCF服务获得此调用时,它将实例化一个实例化DAO类的类。
DAO类创建连接,将参数加载到“ 2”对象中,然后执行该对象。
完成后,它将关闭sqlConnection
,但不会关闭或处置DAO类,因为它需要运行多个过程。
这是问题所在。如果我编辑storedprocedure1
,然后通过WCF服务调用它,则在重新启动WCF服务之前,在storedprocedure1
中所做的更改不会反映出来。就像“ 0”一样,它被缓存在WCF中。
有没有其他人遇到过这种情况,有解决方案吗?
解决方法
我认为关键可能在于以下陈述:
但不关闭或处置DAO
类
没有看到DAO类的代码,这很难说,但是看起来查询结果是由数据访问层缓存的,而不是WCF缓存的。
无论哪种方式,它实际上都与存储过程无关,它只是缓存执行存储过程的结果。如果您更改数据而不是更改过程,则应该存在相同的问题-您将获得陈旧的数据。
,我认为WCF服务正在缓存存储过程的结果。
看到这个:http://msdn.microsoft.com/en-us/library/ee230443.aspx