I am using WebDav to transfer configuration files from my host PC (Windows 7) to my PXIe LabView RT target. I also use WebDav to pull stored TDMS files from the target's hard drive. I use WebDav for the added security and authentication (Vice FTP).
What I've been noticing is there seems to be a substantial delay between when a file is changed on the host PC and when the updated file can actually be transferred. There appears to be a large cache which LabView can't detect causing the put file VI to pull the old file from the cache and send that to the target.
The reverse also seems to occur. If I capture a new data file of the same name in rapid succession to a previous file, often times the file transfer will not update the file on the host's drive or there will be an inconsistent corrupted copy of the file (for a short period of time).
This causes no end of nightmares and inconsistent configuration file uploads and data downloads.
Can the WebDav cache be completely disabled so that file transfers are always the most current file system copy (In both directions)? If not, why does NI recommend use of WebDav or even support it? It's great for web transfers which change rarely or occur infrequently, but with the cache it seems all but useless for PC to PC file transfers with a test system.
Try disabling automatic congfiguration to improve your WebDAV performance. This KnowledgeBase article discusses how this can be accomplished under the Configuring WebDAV: Windows 7 sections towards the bottom of the document. Give this a try and see if it improves your WebDAV performance to a point that is acceptable for transferring your configuration files.
That setting has always been disabled. This is a WebDAV cache effect I'm sure.
BTW, what does the Internet Explorer configuration have to do with the WebDav VIs in LabView?
The WebDAV VIs in LabVIEW already have certain settings configured. When automatic configuration in Internet Explorer is enabled, these settings are essentially configured twice, which slows down the process.
I am not sure how WebDAV caches work. I found this article that explains how WebDAV caches work in relation to WebDrive, which I found interesting.
A couple of additional questions I have for you to clarify the problem:
-What specifically are your timing requirements?
-Are you using synchronous or asynchronous WebDAV VIs? Why?
My configuration files are modified then a button is pressed to transmit them to my RT controller and start measurement. The requirement is thus:
Currently, I'm using synchronous transfers since the files are small and the transfers fast (Maybe 10 files at 10kB each). This cache effect makes both of those requirements uncertain.
You could try slowing down the loop rate of the Get VI. Perhaps it is trying to complete the operation faster than it is able, causing it to pull from the wrong part of the cache. Try adding a Wait (ms) function with various wait times to give the WebDAV functions more time to complete.
You can also give the asyncronous VIs a try. If you have multiple files to transfer they should allow you to do so faster.