internal static void CheckConfiguration(ISite site)
{
if (site == null)
{
return;
}
IWebApplication app = (IWebApplication)site.GetService(typeof(IWebApplication));
if (app == null)
{
return;
}
Configuration config = app.OpenWebConfiguration(false);
HttpHandlersSection handlers = (HttpHandlersSection)config.GetSection("system.web/httpHandlers");
// Does the httpHandlers Secton already exist?
if (handlers == null)
{
// If not, add it...
handlers = new HttpHandlersSection();
ConfigurationSectionGroup group = config.GetSectionGroup("system.web");
// Does the system.web Section already exist?
if (group == null)
{
// If not, add it...
config.SectionGroups.Add("system.web", new ConfigurationSectionGroup());
group = config.GetSectionGroup("system.web");
}
if (group != null)
{
group.Sections.Add("httpHandlers", handlers);
}
}
HttpHandlerAction action = new HttpHandlerAction("*/ext.axd", "Ext.Net.ResourceHandler", "*", false);
// Does the ResourceHandler already exist?
if (handlers.Handlers.IndexOf(action) < 0)
{
// If not, add it...
handlers.Handlers.Add(action);
config.Save();
}
HttpModulesSection modules = (HttpModulesSection)config.GetSection("system.web/httpModules");
// Does the httpModules Secton already exist?
if (modules == null)
{
// If not, add it...
modules = new HttpModulesSection();
ConfigurationSectionGroup group = config.GetSectionGroup("system.web");
// Does the system.web Section already exist?
if (group == null)
{
// If not, add it...
config.SectionGroups.Add("system.web", new ConfigurationSectionGroup());
group = config.GetSectionGroup("system.web");
}
if (group != null)
{
group.Sections.Add("httpModules", modules);
}
}
//<add name="DirectRequestModule" type="Ext.Net.DirectRequestModule, Ext.Net" />
HttpModuleAction action2 = new HttpModuleAction("DirectRequestModule", "Ext.Net.DirectRequestModule, Ext.Net");
// Does the ResourceHandler already exist?
if (modules.Modules.IndexOf(action2) < 0)
{
// If not, add it...
modules.Modules.Add(action2);
config.Save();
}
}
}