Quantcast
Channel: Exchange Mailbox Permission Reverse Lookup
Viewing all articles
Browse latest Browse all 20

Source code checked in, #13323

$
0
0
Massive rework of the project in order to minimize memory usage. * Index keys are now stored using SecurityIdentifier objects, which I belive that internally store SIDs in binary. * Index values now only hold strictly necessary information for each permission: mailbox Guid, permissions in a bitwise enum and a LDAP path string. The LDAP path string is presumably interned by .NET and there should only be one different path string per domain. * Shared mailbox details are now queried lazily when the user carries out a permission seach and open contexts are maintained to target domains in DomainUtils in order to minimize lazyness delay. After doing some profiling, I was surprised to see that the index does actually account very little for the overall memory usage. If fact, gross memory allocation comes from security descriptors and access rules. The application is designed to query existing domains in parallel and this adds up to bloated memory consumption during the index creation. Once the index is created and the GC kicks in, the application is quite lean in memory. Windows task manager might still show a large amount of memory, but the application is only using a fraction.

Viewing all articles
Browse latest Browse all 20

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>