/ / IIS7.5 पर मावेरिक MVC - हैंडलर मैपिंग - asp.net-mvc, iis

आईआईएस 7.5 पर मावेरिक एमवीसी - हैंडलर मैपिंग - एएसपीनेट-एमवीसी, आईआईएस

हम Maverick.net का उपयोग करता है कि एक विरासत (बहुत विरासत!) App है: http://sourceforge.net/projects/mavnet/

यह IIS6 पर ठीक काम करता है, हालांकि अब हम कर रहे हैंइसे iis7.5 में माइग्रेट करना, जो हमारे लिए काफी आसान है, लेकिन यह हमारे लिए काम नहीं कर रहा है। हमने iis6 का अनुकरण करने के लिए ऐप मोड को क्लासिक मोड में .net फ्रेमवर्क v2.0 का उपयोग करने के लिए कॉन्फ़िगर किया है।

हम web.config में निम्नलिखित हैं

        <httpHandlers>
<add verb="*" path="*.m" type="Maverick.Dispatcher, Maverick" />
</httpHandlers>
</system.web>
<system.webServer>
<handlers accessPolicy="Read, Execute, Script">
<add name="Maverick" path="*.m" verb="*" modules="IsapiModule" scriptProcessor="C:WindowsMicrosoft.NETFrameworkv2.0.50727aspnet_isapi.dll" resourceType="File" requireAccess="Execute" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
</handlers>
</system.webServer>

और इस आवेदन के लिए IIS7.5 में मेरे पास निम्न स्क्रिप्ट हैंडलर मैपिंग कॉन्फ़िगर है

  • अनुरोध पथ: * .m

  • निष्पादन: C: WindowsMicrosoft.NETFrameworkv2.0.50727aspnet_isapi.dll // के रूप में प्रति माविक प्रलेखन

  • नाम: मैवरिक

प्रतिबंध का अनुरोध करें

  • यदि अनुरोध मैप किया जाता है तो हैंडलर को इनवॉइस करें: फ़ाइल या फ़ोल्डर

  • क्रिया: सभी क्रियाएं

  • पहुँच: निष्पादित करें

Maverick.config फ़ाइल निम्नानुसार पढ़ती है:

<?xml version="1.0"?><maverick version="2.0" default-view-type="document" default-transform-type="document">
<commands>

<command name="welcome"> <!--Entry page-->
<controller class="PAPI.Controllers.StoreDetails, PAPI"/>
<view name="login" path="login.aspx" type="redirect"/>
<view name="help" path="help.aspx" type="redirect"/>
<view name="error" path="error.aspx" type="redirect"/>
</command>

<command name="setPrincipal"> <!--Sets the security-->
<controller class="PAPI.Controllers.SetPrincipal, PAPI"/>
<view name="login" path="login.aspx" type="redirect"/>
<view name="success" path="instructions.m" type="redirect"/>
<view name="error" path="error.aspx" type="redirect"/>
</command>

<command name="instructions"> <!--Controller for instruction pages-->
<controller class="PAPI.Controllers.GetNextPage, PAPI"/>
<view name="login" path="login.aspx?" type="redirect"/>
<view name="dataProtection" path="dataprotection.aspx" type="redirect"/>
<view name="instructions1" path="instructions1.aspx?" type="redirect"/>
<view name="example" path="example.aspx?" type="redirect"/>
<view name="instructions2" path="instructions2.aspx?" type="redirect"/>
<view name="questionnaire" path="questionnaire.aspx?" type="redirect"/>
<view name="finished" path="finished.aspx?" type="redirect"/>
<view name="error" path="error.aspx" type="redirect"/>
</command>

</commands>

जो IIS6 afaik के समान है। फिर भी यह iis7.5 पर काम नहीं करता है। जब कोई पृष्ठ अनुरोध होता है, उदा। http://localhost/app/login.aspx, यह करने के लिए मैप्स http://localhost/app/welcome.m जो तब एक 404 देता है। लॉग फाइलें 30.m रिडायरेक्ट को वेलकम शो में दिखाती हैं और फिर IIS doens को पता नहीं है कि इसके साथ क्या करना है, इसलिए कॉन्फ़िगरेशन गलत होना चाहिए।

हमने स्क्रिप्ट मैपिंग के बजाय मॉड्यूल मैपिंग का उपयोग करने की कोशिश की है, लेकिन वही समस्या होती है।

क्या किसी के पास कोई विचार है जो मुझे याद आ रहा है?

उत्तर:

जवाब के लिए 0 № 1

इसलिए मेरे सहयोगी ने 2 मॉड्यूल जोड़कर इसे हल कियास्क्रिप्ट मैपिंग के बजाय IsapiModule का उपयोग करने के लिए कॉन्फ़िगर किए गए मैपिंग। सी के लिए 32 बिट इंगित करने के लिए एक: WindowsMicrosoft.NETFrameworkv2.0.50727aspnet_isapi.dll और 64 बिट C के लिए इंगित करने के लिए: WindowsMicrosoft.NETFramework64v2.0.50727netnet_isapi.dll।

बस के मामले में किसी को भी भविष्य में यह चलाता है।