2010-05-06 6 views
10

यह सिर्फ एक और है "देव सर्वर में काम कर रहा है, आईआईएस में क्यों काम नहीं कर रहा है" टाइप सवाल।इवेंट हैंडलर केवल IHttpModule प्रारंभ के दौरान Http अनुप्रयोग घटनाओं के लिए बाध्य क्यों हो सकते हैं?

मैं NHibernate described here के रूप में उपयोग करते हुए एक अच्छा दाल बनाया। एक आईएसशन बनाते समय, मैं इसे इवेंट हैंडलर को HttpAplication.EndRequest पर साफ़ करने की देखभाल करने के लिए लगाता हूं।

हालांकि, मैं आईआईएस के लिए अपनी साइट को तैनात किया है और यह कहते हैं:

घटना संचालकों केवल IHttpModule आरंभीकरण के दौरान घटनाओं HttpApplication करने के लिए बाध्य किया जा सकता है।

मैं पूरी तरह से समझते हैं कि क्या संदेश कह रही है, लेकिन मैं क्यों undestrand नहीं कर सकते।

मैं किसी भी समय Button की घटना की सदस्यता ले सकता हूं, मैं HttpApplication की किसी घटना की सदस्यता क्यों नहीं ले सकता?

मैं बहुत आभारी होंगे अगर किसी को इस पर कुछ प्रकाश डाला सकता है।

और मैं भी आश्चर्य है कि क्यों यह विकास सर्वर के साथ और नहीं आईआईएस 7 के साथ काम कर रहा है?

संपादित करें: अब जब कि दो महीने बीत चुका है, मैं अभी भी किसी भी उपयोगी जवाब नहीं मिला है। :(
इस मुद्दे वास्तव में उस कठिन

उत्तर

3

आप अपने प्रारंभ पाइप लाइन के बाहर HttpApplication उपयोग करने के लिए कोशिश कर रहे हैं है?। बस यह मत करो। त्रुटि कहते हैं, IHttpModule आरंभीकरण के दौरान अपने घटनाओं के लिए बाध्य।

+0

मुझे जितना मिलता है। जो भाग मैं लापता हूं वह क्यों है। :) – Venemo

+0

@downvoter: क्या यह वाकई गलत है? यह समझाने की देखभाल क्यों गलत है? –

+3

हाय। यह गलत नहीं है, लेकिन मैंने डाउनोट किया क्योंकि यह सवाल का जवाब नहीं है: "क्यों?" –

0

आप क्लासिक मोड में या में IIS7 चलाते हैं क्योंकि IIS7 कैसे HTTP आवेदन शुरू की है की कुछ परिवर्तन (मूल रूप से, कार्यकर्ता प्रक्रिया जुड़े और HTTP उसके आवेदन)।

http://n2cms.codeplex.com/Thread/View.aspx?ThreadId=38311 पर एक नज़र डालें।

है के साथ एकीकृत मोड web.config में आइटम के बाद, यह ठीक काम करना चाहिए:

<configuration> 
    <system.webServer> 
     <validation validateIntegratedModeConfiguration="false"/> 
    </system.webServer> 
</configuration> 

(http://code.google.com/p/n2cms/source/browse/trunk/src/wwwroot/Web.config से snipped)

+1

मेरे पास पहले से ही मान्य हैइटेग्रेटेड मोड कॉन्फ़िगरेशन = "झूठा" (एमवीसी इसे डिफ़ॉल्ट रूप से वहां रखता है), लेकिन यह काम नहीं कर रहा है। – Venemo

+1

यह कॉन्फ़िगरेशन पैरामीटर केवल कॉन्फ़िगरेशन सत्यापन को प्रभावित करता है। इसे बदलने से केवल आईआईएस 6 अप्रचलित कॉन्फ़िगरेशन में कॉन्फ़िगरेशन त्रुटियों को उठाया जा सकता है पैरामीटर आपकी साइट conf में पाए जाते हैं। कॉन्फ़िगरेशन मान्य होने पर यह रनटाइम व्यवहार पर कुछ भी नहीं बदलता है। –

0

यदि यह अपने विकास के वातावरण में काम करता है, अपने आईआईएस पर नहीं, संभावना है कि अपने कर रहे हैं (थे कर रहे हैं?) कैसिनी देव सर्वर का उपयोग कर। यह सर्वर आईआईएस की तुलना में एक ही व्यवहार करने से बहुत दूर है।

एक अन्य समाधान आईआईएस एक्सप्रेस का उपयोग करना है, जो पुराने कैसिनी देव सर्वर की तुलना में विजुअल स्टूडियो (कम से कम 2010 से शुरू) में समान स्तर का एकीकरण प्रदान करता है, जबकि आईआईएस की तरह कहीं अधिक व्यवहार करता है। आईआईएस एक्सप्रेस में माइक्रोसॉफ्ट वेब साइट पर एक स्टैंडअलोन इंस्टॉलर उपलब्ध है, और विजुअल स्टूडियो के हाल के संस्करणों में भी शामिल है।

यह आपकी पहली प्रश्न पंक्ति पर "क्यों" के लिए है।

कारण है कि यह एक IHttpModule प्रारंभ के बाहर बाध्य घटनाओं के लिए मना किया है का सवाल है, मैं नहीं जानता।

+0

आप देखते हैं, मुझे पहले से ही 4 साल पहले एक ही जवाब मिला है। – Venemo

+0

ठीक है, लेकिन इस पृष्ठ पर कुछ भी नहीं बता रहा था, या मुझे अपना बदलना चाहिए चश्मे। तो इस सवाल के पहले "क्यों" इस पृष्ठ पर जवाब नहीं दे रहे थे। –

+0

आपने अभी भी "क्यों" का जवाब नहीं दिया है। – Venemo