2011-01-19 15 views
5

कोड मैं HTTP मॉड्यूल प्राप्त करने के लिए उपयोग किया है यह IIS7 तक ठीक काम किया मूल रूप सेक्या web.config से उचित मॉड्यूल अनुभाग प्राप्त करने का कोई बेहतर तरीका है?

HttpModulesSection modules = ((SystemWebSectionGroup)config.GetSectionGroup("system.web")).HttpModules; 
// Depending on what we need to do... 
//modules.Modules.Add(CreateSomeModule()); 
//modules.Modules.Remove("SomeOtherModule"); 

है। माइग्रेशन कमांड %SystemRoot%\system32\inetsrv\appcmd migrate config "website/" मॉड्यूल को system.webServer में ले जाता है, इसलिए मेरा कोड अब गलत अनुभाग अपडेट कर रहा है।

क्या उचित मॉड्यूल अनुभाग प्राप्त करने के लिए कोई तरीका बनाया गया है जिसे संशोधित किया जाना चाहिए? या मुझे Request.ServerVariables["SERVER_SOFTWARE"] के लिए एक चेक जोड़ना है और मैं वापस आने वाली स्ट्रिंग के आधार पर system.web/system.webServer लौटा सकता हूं?

+1

कृपया स्पष्ट करें कि आप मॉड्यूल की सूची के साथ क्या कर रहे हैं। –

+0

@ जॉन, हम एक नया HttpModuleAction बनाते हैं और फिर हम इसे HttpModules संग्रह में जोड़ते हैं। एक स्पष्ट उदाहरण दिखाने के लिए सवाल अपडेट किया गया। – Brandon

+0

आप web.config क्यों संपादित कर रहे हैं? इसके अलावा, आप यह किस कोड से कर रहे हैं? वही वेबसाइट जो web.config का मालिक है? –

उत्तर

1
HttpContext.Current.ApplicationInstance.Modules 

यह एक HttpModuleCollection वस्तु देता है। या आप how to programmatically register HttpModules at runtime जानना चाहते हैं?

+0

को उत्तर देने के लिए धन्यवाद, हालांकि यह एक HttpModuleCollection देता है। मुझे HttpModulesSection की आवश्यकता है ताकि मैं कोड में एक मॉड्यूल जोड़/निकाल सकूं। मुझे विश्वास नहीं है कि मुझे mdoules को पंजीकृत करने की आवश्यकता है, मुझे बस web.config को संपादित करने की आवश्यकता है। – Brandon

संबंधित मुद्दे

 संबंधित मुद्दे