@@ -656,56 +656,80 @@ private static void AddImageHandlers(string siteName)
656656
657657 ConfigurationSection handlersSection = config . GetSection ( "system.webServer/handlers" ) ;
658658 ConfigurationElementCollection handlersCollection = handlersSection . GetCollection ( ) ;
659- // bool pngHandlerMissing = true;
660- // bool jpgHandlerMissing = true;
661- // bool jpegHandlerMissing = true;
662- // ConfigurationElement toRemoveCe = null;
659+ bool pngHandlerMissing = true ;
660+ bool jpgHandlerMissing = true ;
661+ bool jpegHandlerMissing = true ;
662+ ConfigurationElement toRemoveCe = null ;
663663
664- List < ConfigurationElement > toRemoveElements = new List < ConfigurationElement > ( ) ;
664+ // List<ConfigurationElement> toRemoveElements = new List<ConfigurationElement>();
665665
666666 foreach ( ConfigurationElement ce in handlersCollection )
667667 {
668- toRemoveElements . Add ( ce ) ;
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+ }
683+
684+ if ( ce . GetAttributeValue ( "name" ) . ToString ( ) == "ExtensionlessUrlHandler-Integrated-4.0" )
685+ {
686+ toRemoveCe = ce ;
687+ }
669688 }
670-
671- foreach ( ConfigurationElement ce in toRemoveElements )
672- {
673- handlersCollection . Remove ( ce ) ;
674- }
675- //handlersCollection.Clear();
676-
677689 try
678690 {
679- ConfigurationElement ele = handlersCollection . CreateElement ( "remove" ) ;
680- ele [ "name" ] = "ExtensionlessUrlHandler-Integrated-4.0" ;
681- handlersCollection . Add ( ele ) ;
682- }
683- catch ( Exception ex )
684- {
685- MessageBox . Show ( "ExtensionlessUrlHandler ex is : " + ex . Message + "stacktrace : " + ex . StackTrace ) ;
686- }
691+ if ( toRemoveCe != null )
692+ handlersCollection . Remove ( toRemoveCe ) ;
693+ } catch { }
694+ //foreach (ConfigurationElement ce in toRemoveElements)
695+ //{
696+ // handlersCollection.Remove(ce);
697+ //}
698+ //handlersCollection.Clear();
687699
688- try
689- {
690- ConfigurationElement ele = handlersCollection . CreateElement ( "remove" ) ;
691- ele [ "name" ] = "OPTIONSVerbHandler" ;
692- handlersCollection . Add ( ele ) ;
693- }
694- catch ( Exception ex )
695- {
696- MessageBox . Show ( "OPTIONSVerbHandler ex is : " + ex . Message + "stacktrace : " + ex . StackTrace ) ;
697- }
698700
699- try
700- {
701- ConfigurationElement ele = handlersCollection . CreateElement ( "remove" ) ;
702- ele [ "name" ] = "TRACEVerbHandler" ;
703- handlersCollection . Add ( ele ) ;
704- }
705- catch ( Exception ex )
706- {
707- MessageBox . Show ( "TRACEVerbHandler ex is : " + ex . Message + "stacktrace : " + ex . StackTrace ) ;
708- }
701+ //try
702+ //{
703+ // ConfigurationElement ele = handlersCollection.CreateElement("remove");
704+ // ele["name"] = "ExtensionlessUrlHandler-Integrated-4.0";
705+ // handlersCollection.Add(ele);
706+ //}
707+ //catch (Exception ex)
708+ //{
709+ // MessageBox.Show("ExtensionlessUrlHandler ex is : " + ex.Message + "stacktrace : " + ex.StackTrace);
710+ //}
711+
712+ //try
713+ //{
714+ // ConfigurationElement ele = handlersCollection.CreateElement("remove");
715+ // ele["name"] = "OPTIONSVerbHandler";
716+ // handlersCollection.Add(ele);
717+ //}
718+ //catch (Exception ex)
719+ //{
720+ // MessageBox.Show("OPTIONSVerbHandler ex is : " + ex.Message + "stacktrace : " + ex.StackTrace);
721+ //}
722+
723+ //try
724+ //{
725+ // ConfigurationElement ele = handlersCollection.CreateElement("remove");
726+ // ele["name"] = "TRACEVerbHandler";
727+ // handlersCollection.Add(ele);
728+ //}
729+ //catch (Exception ex)
730+ //{
731+ // MessageBox.Show("TRACEVerbHandler ex is : " + ex.Message + "stacktrace : " + ex.StackTrace);
732+ //}
709733
710734 try
711735 {
@@ -717,58 +741,64 @@ private static void AddImageHandlers(string siteName)
717741 ele [ "preCondition" ] = "integratedMode,runtimeVersionv4.0" ;
718742 handlersCollection . Add ( ele ) ;
719743 }
720- catch ( Exception ex )
744+ catch
721745 {
722- MessageBox . Show ( "pngHandlerMissing ex is : " + ex . Message + "stacktrace : " + ex . StackTrace ) ;
746+ // MessageBox.Show("pngHandlerMissing ex is : " + ex.Message + "stacktrace : " + ex.StackTrace);
723747 }
724748
725- try
726- {
727- ConfigurationElement ele = handlersCollection . CreateElement ( "add" ) ;
728- ele [ "name" ] = "get-image-png" ;
729- ele [ "path" ] = @"*.png" ;
730- ele [ "verb" ] = "GET" ;
731- ele [ "type" ] = @"System.Web.Handlers.TransferRequestHandler" ;
732- ele [ "preCondition" ] = "integratedMode,runtimeVersionv4.0" ;
733- ele [ "responseBufferLimit" ] = 0 ;
734- handlersCollection . Add ( ele ) ;
749+ if ( pngHandlerMissing ) {
750+ try
751+ {
752+ ConfigurationElement ele = handlersCollection . CreateElement ( "add" ) ;
753+ ele [ "name" ] = "get-image-png" ;
754+ ele [ "path" ] = @"*.png" ;
755+ ele [ "verb" ] = "GET" ;
756+ ele [ "type" ] = @"System.Web.Handlers.TransferRequestHandler" ;
757+ ele [ "preCondition" ] = "integratedMode,runtimeVersionv4.0" ;
758+ ele [ "responseBufferLimit" ] = 0 ;
759+ handlersCollection . Add ( ele ) ;
760+ }
761+ catch ( Exception ex )
762+ {
763+ MessageBox . Show ( "pngHandlerMissing ex is : " + ex . Message + "stacktrace : " + ex . StackTrace ) ;
764+ }
735765 }
736- catch ( Exception ex )
737- {
738- MessageBox . Show ( "pngHandlerMissing ex is : " + ex . Message + "stacktrace : " + ex . StackTrace ) ;
739- }
740-
741- try
742- {
743- ConfigurationElement ele = handlersCollection . CreateElement ( "add" ) ;
744- ele [ "name" ] = "get-image-jpg" ;
745- ele [ "path" ] = @"*.jpg" ;
746- ele [ "verb" ] = "GET" ;
747- ele [ "type" ] = @"System.Web.Handlers.TransferRequestHandler" ;
748- ele [ "preCondition" ] = "integratedMode,runtimeVersionv4.0" ;
749- ele [ "responseBufferLimit" ] = 0 ;
750- handlersCollection . Add ( ele ) ;
766+
767+ if ( jpgHandlerMissing ) {
768+ try
769+ {
770+ ConfigurationElement ele = handlersCollection . CreateElement ( "add" ) ;
771+ ele [ "name" ] = "get-image-jpg" ;
772+ ele [ "path" ] = @"*.jpg" ;
773+ ele [ "verb" ] = "GET" ;
774+ ele [ "type" ] = @"System.Web.Handlers.TransferRequestHandler" ;
775+ ele [ "preCondition" ] = "integratedMode,runtimeVersionv4.0" ;
776+ ele [ "responseBufferLimit" ] = 0 ;
777+ handlersCollection . Add ( ele ) ;
778+ }
779+ catch ( Exception ex )
780+ {
781+ MessageBox . Show ( "jpgHandlerMissing ex is : " + ex . Message + "stacktrace : " + ex . StackTrace ) ;
782+ }
751783 }
752- catch ( Exception ex )
753- {
754- MessageBox . Show ( "jpgHandlerMissing ex is : " + ex . Message + "stacktrace : " + ex . StackTrace ) ;
755- }
756-
757- try
758- {
759- ConfigurationElement ele = handlersCollection . CreateElement ( "add" ) ;
760- ele [ "name" ] = "get-image-jpeg" ;
761- ele [ "path" ] = @"*.jpeg" ;
762- ele [ "verb" ] = "GET" ;
763- ele [ "type" ] = @"System.Web.Handlers.TransferRequestHandler" ;
764- ele [ "preCondition" ] = "integratedMode,runtimeVersionv4.0" ;
765- ele [ "responseBufferLimit" ] = 0 ;
766-
767- handlersCollection . Add ( ele ) ;
768- }
769- catch ( Exception ex )
770- {
771- MessageBox . Show ( "jpegHandlerMissing ex is : " + ex . Message + "stacktrace : " + ex . StackTrace ) ;
784+
785+ if ( jpegHandlerMissing ) {
786+ try
787+ {
788+ ConfigurationElement ele = handlersCollection . CreateElement ( "add" ) ;
789+ ele [ "name" ] = "get-image-jpeg" ;
790+ ele [ "path" ] = @"*.jpeg" ;
791+ ele [ "verb" ] = "GET" ;
792+ ele [ "type" ] = @"System.Web.Handlers.TransferRequestHandler" ;
793+ ele [ "preCondition" ] = "integratedMode,runtimeVersionv4.0" ;
794+ ele [ "responseBufferLimit" ] = 0 ;
795+
796+ handlersCollection . Add ( ele ) ;
797+ }
798+ catch ( Exception ex )
799+ {
800+ MessageBox . Show ( "jpegHandlerMissing ex is : " + ex . Message + "stacktrace : " + ex . StackTrace ) ;
801+ }
772802 }
773803
774804 serverManager . CommitChanges ( ) ;
0 commit comments