XmlDocument xmlDokumani = new XmlDocument();
xmlDokumani.Load(HttpContext.Current.Server.MapPath("~/web.config"));
XmlNodeList moduller = xmlDokumani.SelectNodes("/configuration/system.web/httpModules/add[@name=\"AcKapaModule\"]");
if (moduller.Count == 0) // Eğer module kullanılır durumda değilse yani pasif ise.
{
XmlNode dugum = xmlDokumani.SelectSingleNode("/configuration/system.web/httpModules");
dugum.InnerXml = dugum.InnerXml + "<add name=\"AcKapaModule\" type=\"mvc_mehmet.Models.AcKapaModule\"/>";
xmlDokumani.Save(HttpContext.Current.Server.MapPath("~/web.config"));
}
else if (moduller.Count == 1) // Eğer module kullanılır durumda yani aktif ise.
{
string sonuc = "";
XmlNodeList Ymoduller = xmlDokumani.SelectNodes("/configuration/system.web/httpModules/add");
foreach (XmlNode node in Ymoduller)
{
if (node.Attributes["name"].Value != moduller.Item(0).Attributes["name"].Value)
{// Sileceğimiz module dışındakileri tekrar xml formatta belirliyoruz.
sonuc += "<" + node.Name + " name=\"" + node.Attributes["name"].Value + "\" type=\"" + node.Attributes["type"].Value + "\" />";
}
}
XmlNode Ymodul = xmlDokumani.SelectSingleNode("/configuration/system.web/httpModules");
Ymodul.InnerXml = sonuc; // Silmek istenilen modülü sildik ve geriye kalan modulleri tekrar kaydediyoruz.
xmlDokumani.Save(HttpContext.Current.Server.MapPath("~/web.config"));
// Sonuçta çalıştırmak istemediğimiz module'ü silmiş oluyoruz.
}