我有一个WCF服务,我的客户拨打电话时,告诉它运行storedprocedure1
,与param1, param2
等是否WCF缓存存储过程
当WCF服务得到这个电话,它实例化实例化一个类DAO类。 DAO类创建连接,将参数加载到SqlCommand
对象中,然后执行该对象。
完成后,它会关闭SqlConnection
,但不会关闭或部署DAO类,因为它需要运行多个过程。
这是问题所在。如果我编辑storedprocedure1
然后通过WCF服务调用它,我在storedprocedure1
中所做的更改不会反映,直到我重新启动WCF服务。它像storedprocedure1
缓存在WCF中。
有没有其他人经历过这个,有没有解决方案?
不这么认为。 SQLCommand在using子句中实例化。另外,当我关闭连接时,我将其处理掉。我已经改变了我的dao类来实现IDisposable,我们会看看是否修复它。 – edepperson 2011-05-27 12:46:14
你说得对。即使我正在处理SqlConnection和SqlCommand,但不处理DAO就是允许WCF缓存它,或者保留执行计划等等。 我有道作为WCF调用的类中的私有变量。所以我做了以下改变; 1)更改我的DAO类来实现IDisposable并关闭并处理SQLConnection; 2)在使用条款中创建了我的dao,并且当这不可行时,最后尝试处理dao。所以现在它工作。感谢你在明显的挑战我。 – edepperson 2011-05-27 14:09:33