2011-09-02 11 views
7

क्या किसी ने उत्पादन परिवेश में उसी एप्लिकेशन में वेब फॉर्म के साथ सफलतापूर्वक एएसपी.नेट एमवीसी तैनात किया है? ऐसा करने के दौरान आपको सामना करने वाले किसी भी संघर्ष या गठबंधन थे?एक ही वेब ऐप में वेब फॉर्म के साथ एएसपी.नेट एमवीसी?

क्या यह वास्तव में आसान है जैसा कि here अभ्यास में दिखाया गया है? यदि आप वेब फॉर्म के साथ रेजर व्यू इंजन का उपयोग कर एमवीसी चलाते हैं तो क्या होगा?

उत्तर

10

एमवीसी एएसपीनेट के शीर्ष पर वेबफॉर्म के रूप में बनाया गया है, इसलिए हाँ यह आसान है। यह रूपांतरण प्रयोजनों के लिए समय की जोड़ी हो गया

हो सकता है कि इस यूआरएल की आप मदद कर सकता है: स्कॉट hanselmans AddMvc3ToWebForms

http://www.hanselman.com/blog/IntegratingASPNETMVC3IntoExistingUpgradedASPNET4WebFormsApplications.aspx

और

http://www.hanselman.com/blog/PlugInHybridsASPNETWebFormsAndASPMVCAndASPNETDynamicDataSideBySide.aspx

+0

क्या आपने वेब फॉर्म के साथ रेजर व्यू इंजन का उपयोग करके एक एमवीसी चलाया है? –

+1

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

2

क्या किसी ने में वेब प्रपत्र के साथ सफलतापूर्वक एएसपी.नेट एमवीसी को उत्पादन वातावरण में एक ही एप्लीकेशन में तैनात किया है?

मैंने कभी भी उसी एप्लिकेशन में एएसपी.नेट एमवीसी और क्लासिक वेबफॉर्म को मिश्रित नहीं किया। मैं उन्हें अलग-अलग अनुप्रयोगों में चलाता हूं और मानक HTTP तकनीकों (क्वेरी स्ट्रिंग पैरामीटर, फॉर्म पोस्ट, कुकीज़, ...) के साथ उनके बीच संवाद करता हूं।

क्या यह वास्तव में अभ्यास में दिखाया गया है जितना आसान है?

हां, यह उतना आसान है जितना आसान है।

+0

एक ही ऐप में उन्हें चलाने से यह आसान कैसे है? ऐसा लगता है कि HTTP का उपयोग कर अलग-अलग ऐप्स के बीच संचार प्रबंधन एक ही असेंबली में किसी वर्ग को कॉल करने से अधिक काम करता है। –

+3

@ टी। वेबस्टर, मैंने यह नहीं कहा कि यह आसान है। यह क्लीनर है। कुछ मौजूदा वेबफॉर्म एप्लिकेशन के अंदर एक नया एएसपी.नेट एमवीसी अनुप्रयोग प्रदूषण करना हमेशा एक बुरा विचार है। आप उन चीजों को करने का लुत्फ उठाएंगे जिन्हें आपको एएसपी.नेट एमवीसी एप्लिकेशन में कभी नहीं करना चाहिए। आप निश्चित रूप से बदसूरत कोड के साथ समाप्त हो जाएंगे जिसे बाद में पुनः लिखने की आवश्यकता होगी। व्यक्तिगत रूप से मैं एक आवेदन को माइग्रेट करते समय एक स्वच्छ फैशन में टिंग करना पसंद करता हूं, भले ही यह वास्तव में थोड़ा कठिन हो, लेकिन यह जानकर कि अंत में मैं परिणाम से खुश रहूंगा। –

2

चेक बाहर nuget पैकेज। मैं इसका उपयोग कर रहा हूं और यह बहुत बढ़िया काम कर रहा है। मैं इसका उपयोग धीरे-धीरे अपने वेब फॉर्म एप को एमवीसी

+0

अच्छा, लेकिन इससे पहले कि मैं इसे एक उत्तर के रूप में चिह्नित कर सकूं, मुझे इसे अपने लिए आजमा देना होगा। –

3

पर प्राप्त करने के लिए कर रहा हूं, एक गॉचा आपके WebForms दृश्य फ़ोल्डर के अंदर नहीं डालता है। मुझे नहीं पता कि MVC कैसे अकेले उन मार्गों को छोड़ दें। इस मामले में अनदेखा रूटिंग निर्देशों में से कोई भी काम नहीं करता है और WebForms 404s फेंकता है।

WebForms के साथ MVC2 के बाद पूरी तरह से ठीक काम करता है।

2

मैंने पिछले कुछ महीनों में काफी समय बिताया है। यहां मेरे अवलोकन हैं।

अच्छा/आसान - हो रही WebformsMVC नियंत्रकों में कॉल करने के लिए - यह उल्लेखनीय एक नई MVC3 परियोजना खड़े हो जाओ और इसे में Webforms पृष्ठों ड्रॉप करने के लिए आसान था। - मैं एक नया web.config वहाँ

में /pages निर्देशिका में अपने <pages><controls></controls></pages> अनुभाग ले जाने में सक्षम था गंदा/मुश्किल

  • Regarding the GUID

    • कृपया ध्यान दें कि GUID जोड़ा जाना आवश्यक है कुछ कारणों से लाइन के सामने ... हर बार जब मैंने कोशिश की तो यह असफल रहा। जब तक मैं एक पद पर ठोकर नहीं लगाता, जिसने जोर दिया कि यह दूसरों के सामने हो।
    • भी मैं नहीं पता है कि क्या अंतर है, लेकिन मैं एक अलग GUID काम कर रहा है ... {E53F8FEA-EAE0-44A6-8774-FFD645390401}
  • Webforms वजह से snags के सभी प्रकार के होने के लिए लैंडिंग पृष्ठ हो रही।

  • jQuery IntelliSense T4MVC

के साथ अच्छी तरह से खेलने के लिए हो रही है यह है कि क्या मैं पता करने के लिए कि

@if (System.Diagnostics.Debugger.IsAttached) 
    { 
    <script src="../../Scripts/Mvc3/jquery-1.7-vsdoc.js" type="text/javascript"></script> @* intellisense! *@ 
    @Html.RelativeJavascript(Links.Scripts.Mvc3.jquery_1_7_js) 
    @Html.RelativeJavascript(Links.Scripts.Mvc3.jquery_unobtrusive_ajax_js) 
    } 
    else 
    { 
     @Html.RelativeJavascript(Links.Scripts.Mvc3.jquery_1_7_min_js) 
     @Html.RelativeJavascript(Links.Scripts.Mvc3.jquery_unobtrusive_ajax_min_js) 
    } 

अनुशंसाएँ किया जाता है:

  • उपयोग T4MVC सभी मामलों में भले ही आप कर रहे हैं शुद्ध वेबफॉर्म। स्थैतिक सामग्री के लिए जादू तारों का उन्मूलन (.js, .css, छवियां, टेम्पलेट निर्दिष्ट करना) बकाया है।
    • और यदि आपके पास build process compiling views का कोई हिस्सा है तो आपको उन लिंक पर संकलन-समय सुरक्षा मिलती है।
संबंधित मुद्दे