Skip to content

Commit f8c6d2d

Browse files
committed
More changes to support corret manipulation of handlers.
1 parent 5e38b2c commit f8c6d2d

File tree

1 file changed

+83
-59
lines changed

1 file changed

+83
-59
lines changed

eFormAPI/Installation/CustomActions/CustomAction.cs

Lines changed: 83 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -659,27 +659,42 @@ private static void AddImageHandlers(string siteName)
659659
bool pngHandlerMissing = true;
660660
bool jpgHandlerMissing = true;
661661
bool jpegHandlerMissing = true;
662+
bool add1Missing = true;
663+
bool remove2Missing = true;
664+
bool remove3Missing = true;
662665
ConfigurationElement toRemoveCe = null;
663666

664667
List<ConfigurationElement> toRemoveElements = new List<ConfigurationElement>();
665668

666669
foreach (ConfigurationElement ce in handlersCollection)
667670
{
668-
//if (ce.GetAttributeValue("name").ToString() == "get-image-png")
669-
//{
670-
// //MessageBox.Show("pngHandlerMissing");
671-
// pngHandlerMissing = false;
672-
//}
673-
//if (ce.GetAttributeValue("name").ToString() == "get-image-jpg")
674-
//{
675-
// //MessageBox.Show("jpgHandlerMissing");
676-
// jpgHandlerMissing = false;
677-
//}
678-
//if (ce.GetAttributeValue("name").ToString() == "get-image-jpeg")
679-
//{
680-
// //MessageBox.Show("jpegHandlerMissing");
681-
// jpegHandlerMissing = false;
682-
//}
671+
if (ce.GetAttributeValue("name").ToString() == "get-image-png")
672+
{
673+
//MessageBox.Show("pngHandlerMissing");
674+
pngHandlerMissing = false;
675+
}
676+
if (ce.GetAttributeValue("name").ToString() == "get-image-jpg")
677+
{
678+
//MessageBox.Show("jpgHandlerMissing");
679+
jpgHandlerMissing = false;
680+
}
681+
if (ce.GetAttributeValue("name").ToString() == "get-image-jpeg")
682+
{
683+
//MessageBox.Show("jpegHandlerMissing");
684+
jpegHandlerMissing = false;
685+
}
686+
if (ce.GetAttributeValue("name").ToString() == "ExtensionlessUrlHandler-Integrated-4.0")
687+
{
688+
add1Missing = true;
689+
}
690+
if (ce.GetAttributeValue("name").ToString() == "OPTIONSVerbHandler")
691+
{
692+
remove2Missing = true;
693+
}
694+
if (ce.GetAttributeValue("name").ToString() == "TRACEVerbHandler")
695+
{
696+
remove3Missing = true;
697+
}
683698

684699
//if (ce.GetAttributeValue("name").ToString() == "ExtensionlessUrlHandler-Integrated-4.0")
685700
//{
@@ -697,56 +712,65 @@ private static void AddImageHandlers(string siteName)
697712
{
698713
handlersCollection.Remove(ce);
699714
}
700-
//handlersCollection.Clear();
701-
702-
703-
try
704-
{
705-
ConfigurationElement ele = handlersCollection.CreateElement("remove");
706-
ele["name"] = "ExtensionlessUrlHandler-Integrated-4.0";
707-
handlersCollection.Add(ele);
708-
}
709-
catch (Exception ex)
710-
{
711-
//MessageBox.Show("ExtensionlessUrlHandler ex is : " + ex.Message + "stacktrace : " + ex.StackTrace);
712-
}
713-
714-
try
715-
{
716-
ConfigurationElement ele = handlersCollection.CreateElement("remove");
717-
ele["name"] = "OPTIONSVerbHandler";
718-
handlersCollection.Add(ele);
719-
}
720-
catch (Exception ex)
721-
{
722-
//MessageBox.Show("OPTIONSVerbHandler ex is : " + ex.Message + "stacktrace : " + ex.StackTrace);
723-
}
715+
handlersCollection.Clear();
724716

725-
try
726-
{
727-
ConfigurationElement ele = handlersCollection.CreateElement("remove");
728-
ele["name"] = "TRACEVerbHandler";
729-
handlersCollection.Add(ele);
730-
}
731-
catch (Exception ex)
717+
//if (remove1Missing)
718+
//{
719+
// try
720+
// {
721+
// ConfigurationElement ele = handlersCollection.CreateElement("remove");
722+
// ele["name"] = "ExtensionlessUrlHandler-Integrated-4.0";
723+
// handlersCollection.Add(ele);
724+
// }
725+
// catch (Exception ex)
726+
// {
727+
// //MessageBox.Show("ExtensionlessUrlHandler ex is : " + ex.Message + "stacktrace : " + ex.StackTrace);
728+
// }
729+
//}
730+
731+
if (remove2Missing)
732732
{
733-
//MessageBox.Show("TRACEVerbHandler ex is : " + ex.Message + "stacktrace : " + ex.StackTrace);
733+
try
734+
{
735+
ConfigurationElement ele = handlersCollection.CreateElement("remove");
736+
ele["name"] = "OPTIONSVerbHandler";
737+
handlersCollection.Add(ele);
738+
}
739+
catch (Exception ex)
740+
{
741+
//MessageBox.Show("OPTIONSVerbHandler ex is : " + ex.Message + "stacktrace : " + ex.StackTrace);
742+
}
734743
}
735744

736-
try
737-
{
738-
ConfigurationElement ele = handlersCollection.CreateElement("add");
739-
ele["name"] = "ExtensionlessUrlHandler-Integrated-4.0";
740-
ele["path"] = @"*.";
741-
ele["verb"] = "*";
742-
ele["type"] = @"System.Web.Handlers.TransferRequestHandler";
743-
ele["preCondition"] = "integratedMode,runtimeVersionv4.0";
744-
handlersCollection.Add(ele);
745+
if (remove3Missing) {
746+
try
747+
{
748+
ConfigurationElement ele = handlersCollection.CreateElement("remove");
749+
ele["name"] = "TRACEVerbHandler";
750+
handlersCollection.Add(ele);
751+
}
752+
catch (Exception ex)
753+
{
754+
//MessageBox.Show("TRACEVerbHandler ex is : " + ex.Message + "stacktrace : " + ex.StackTrace);
755+
}
745756
}
746-
catch
757+
if (add1Missing)
747758
{
748-
//MessageBox.Show("pngHandlerMissing ex is : " + ex.Message + "stacktrace : " + ex.StackTrace);
749-
}
759+
try
760+
{
761+
ConfigurationElement ele = handlersCollection.CreateElement("add");
762+
ele["name"] = "ExtensionlessUrlHandler-Integrated-4.0";
763+
ele["path"] = @"*.";
764+
ele["verb"] = "*";
765+
ele["type"] = @"System.Web.Handlers.TransferRequestHandler";
766+
ele["preCondition"] = "integratedMode,runtimeVersionv4.0";
767+
handlersCollection.Add(ele);
768+
}
769+
catch
770+
{
771+
//MessageBox.Show("pngHandlerMissing ex is : " + ex.Message + "stacktrace : " + ex.StackTrace);
772+
}
773+
}
750774

751775
if (pngHandlerMissing) {
752776
try

0 commit comments

Comments
 (0)