Flush the AOS cache from code

Flush the AOS cache from code

Well while working on a current project an associate of mine, partner in crime on the current project named Ed (from Stream Line), shared with me a very nice little trick.
You see we had two AOSes that we needed to flush the cache, but could not stop and start the AOSes. The only way I have ever known to flush the AOS is to stop and start it. Well Ed showed me a nice little trick. You may or may not be aware of three menu action items that can be used to flush system data, the AOD, and dictionary. The thing about these though is that they are set to run at "called from" which when ran clear the client cache.
Well the trick is to copy these three menu items, and then change the run from property to server. Now you can launch these menu items, and they will run on the server, therefore clearing the AOD, sys data, and dictionary, causing a refresh.
So the three menu items that you copy (don't change the real deals) are:
[Under Menu items > Action]
1. SysFlushAOD
2. SysFlushData
3. SysFlushDictionary

This is a nice little trick that we should all keep in our bags. Thanks Ed for sharing, and check back soon for more helpful post.
Find a job at: www.DynamicsAXJobs.com

posted by brandon | 8:52 PM

4 Comments:
Anonymous Anonymous said...

I am using the COM Connector and get:
"Axapta COM Connector Session 65532.
Performance info: The complete data cache has been flushed due to request from session 65532 (Admin)."
I never explicitly called any flush, is this a similar case to your post? I want to prevent this from occuring. It places so many events in my event log after each record is added.

7:59 AM
Anonymous Anonymous said...

Really amazing! Useful information. All the best.
»

4:45 PM
Blogger gl00mie said...

by the way, here's a code to flush Axapta Object Cache (AOC) on clients in 3-tier configuration:
xSession::removeAOC();
SysTreeNode::refreshAll();
SysFlushDictionary::doFlush();
SysFlushAOD::doFlush();
xSession::updateAOC();
it may be useful in case you update the application and clients don't "see" the modifications - just bind this to a menuitem and run. thanks to vallys from axforum. AOC is usually found in files %userprofile%\local settings\application data\*.aoc

6:56 AM
Blogger Squall said...

The question here is:
Has anybody used the SysFlush stuff on a busy Production Box? What kind of affect does these functions have on the AOS and currently running processes?

9:34 AM

Post a Comment

posted @ 2013-09-11 13:02  perock  阅读(450)  评论(0编辑  收藏  举报