// Token: 0x06000493 RID: 1171 RVA: 0x00018740 File Offset: 0x00016940
        internal static void Dismount(Guid mdbGuid)
        {
            Exception ex = AmStoreHelper.Dismount(mdbGuid, UnmountFlags.SkipCacheFlush);

            if (ex != null)
            {
                throw ex;
            }
        }
Пример #2
0
        // Token: 0x060001B3 RID: 435 RVA: 0x0000B1EC File Offset: 0x000093EC
        internal void DismountDatabaseDirect(Guid mdbGuid, UnmountFlags flags, AmDbActionCode actionCode)
        {
            AmTrace.Debug("DismountDatabaseDirect called. (Guid={0}, Flags={1}, ActionCode={2})", new object[]
            {
                mdbGuid,
                flags,
                actionCode
            });
            Exception ex = AmStoreHelper.Dismount(mdbGuid, flags);

            if (ex != null)
            {
                AmTrace.Error("DismountDatabaseDirect: Store dismount RPC for ({0}) threw exception: {1}", new object[]
                {
                    mdbGuid,
                    ex
                });
                throw ex;
            }
            AmTrace.Debug("DismountDatabaseDirect: Store dismount RPC for ({0}) completed.", new object[]
            {
                mdbGuid
            });
            AmTrace.Debug("DismountDatabaseDirect initiating UpdateReplicationContentIndexing() asynchronously for DB '{0}'.", new object[]
            {
                mdbGuid
            });
            ThreadPool.QueueUserWorkItem(delegate(object obj)
            {
                Exception ex2 = ReplicaInstance.UpdateReplicationContentIndexing();
                if (ex2 != null)
                {
                    AmTrace.Error("DismountDatabaseDirect background call of UpdateReplicationContentIndexing() failed for DB '{0}'. Exception: {1}", new object[]
                    {
                        (Guid)obj,
                        ex2
                    });
                }
            }, mdbGuid);
        }