我很确定 suds 没有像我期望的那样缓存我的 WSDL 和 XSD 。以下是我知道没有使用缓存对象的方法:
- 创建客户端大约需要 30 秒:
client = Client(url)
- 记录器条目显示在整个 30 秒内对 XSD 和 WSDL 文件的一致消化
- Wireshark 在整个 30 秒内向存储 XSD 和 WSDL 文件的服务器显示一致的 TCP 流量
- 每次运行程序时,我都会看到缓存中的文件正在更新
我有一个小程序,它创建一个 suds 客户端,发送一个请求,获取响应,然后结束。我的期望是每次我运行程序时,它都应该从文件缓存中获取 WSDL 和 XSD 文件,而不是从 URL 中获取。这就是我认为的原因:
client.options.cache.duration
设定为('days', 1)
client.options.cache.location
设置为c:\docume~1\mlin\locals~1\temp\suds
,我每次运行程序时都会看到正在生成和重新生成的缓存文件- 有那么一刻,我想也许在程序运行之间没有重用缓存,但我认为如果是这种情况,就不会使用文件缓存,因为内存缓存就可以了
我是否误解了 suds 缓存应该如何工作?