public void Delete(IConfigurable instance) { DatabaseAvailabilityGroupNetwork databaseAvailabilityGroupNetwork = (DatabaseAvailabilityGroupNetwork)instance; DagNetworkObjectId dagNetworkObjectId = (DagNetworkObjectId)databaseAvailabilityGroupNetwork.Identity; this.GetDagByName(dagNetworkObjectId.DagName); RemoveDagNetworkRequest removeDagNetworkRequest = new RemoveDagNetworkRequest(); removeDagNetworkRequest.Name = dagNetworkObjectId.NetName; DagNetworkRpc.RemoveDagNetwork(this.m_dag, removeDagNetworkRequest); }
internal static void RemoveDagNetwork(RemoveDagNetworkRequest req) { NetworkManager.RunRpcOperation("RemoveDagNetwork", delegate(object param0, EventArgs param1) { NetworkManager manager = NetworkManager.GetManager(); if (manager == null) { throw new DagNetworkManagementException(ReplayStrings.NetworkManagerInitError); } lock (manager.m_mapRefreshLock) { using (DagConfigurationStore dagConfigurationStore = new DagConfigurationStore()) { dagConfigurationStore.Open(); PersistentDagNetworkConfig persistentDagNetworkConfig = dagConfigurationStore.LoadNetworkConfig(); if (persistentDagNetworkConfig != null) { string text = persistentDagNetworkConfig.Serialize(); ReplayEventLogConstants.Tuple_DagNetworkConfigOld.LogEvent(DateTime.UtcNow.ToString(), new object[] { text }); } } ExchangeNetworkMap exchangeNetworkMap = NetworkManager.FetchInitializedMap(); PersistentDagNetworkConfig persistentDagNetworkConfig2 = exchangeNetworkMap.BuildPersistentDagNetworkConfig(); if (!persistentDagNetworkConfig2.RemoveNetwork(req.Name)) { NetworkManager.TraceError("RemoveDagNetwork {0} not found", new object[] { req.Name }); throw new DagNetworkManagementException(ReplayStrings.NetworkNameNotFound(req.Name)); } manager.UpdateNetworkConfig(persistentDagNetworkConfig2); } }); }