2010-07-29 3 views
8

अब एमवीसी 3 पूर्वावलोकन 1, हम रेजर (.cshtml) व्यू इंजन का उपयोग कर सकते हैं।यदि मैं उनका उपयोग करने की योजना नहीं बना रहा हूं तो .aspx/.ascx लुकअप को हटाने के लायक होगा?

The view 'a' or its master was not found. The following locations were searched: 
~/Views/Home/a.aspx 
~/Views/Home/a.ascx 
~/Views/Shared/a.aspx 
~/Views/Shared/a.ascx 
~/Views/Home/a.cshtml 
~/Views/Shared/a.cshtml 

यह अगर मैं उन्हें उपयोग करने की योजना नहीं है, .aspx/.ascx देखने को दूर करने के लायक होगा: अगर एक दृश्य नहीं मिला, मैं इस त्रुटि मिलती है?

+0

एक [MVC4 कूद प्रारंभ वीडियो] में (http://channel9.msdn.com/Series/Building-Web-Apps-with-ASP-NET-Jump -स्टार्ट/बिल्डिंग-वेब-ऐप-एएसपीएनईटी-जंप-स्टार्ट-02-बिल्डिंग-एंड-डिप्लॉयमेंट-वेबसाइट्स-एएसपीएनईटी-एमवीसी -4), स्कॉट हंसेलमैन का कहना है कि आप ऐसा करके एक छोटे से प्रदर्शन में सुधार प्राप्त कर सकते हैं। – DOK

उत्तर

17

मुझे संदेह है कि आप इससे कोई उल्लेखनीय प्रदर्शन लाभ प्राप्त करेंगे। यह केवल एक फ़ाइल जांच है और यदि इंजन द्वारा भी कैश किया गया है तो इसमें कोई प्रदर्शन सुधार नहीं है। मैं इसे माइक्रो-अनुकूलन कहूंगा!

मुझे लगता है कि यदि आप जानते हैं आप WebForms का उपयोग नहीं किया जाएगा, तो आप सिर्फ दृश्य इंजन की सूची से हटाने सकता है, इसलिए जैसे:

ViewEngines.Engines.Clear(); 
ViewEngines.Engines.Add(new RazorViewEngine()); 

इस तरह यह aspx/ascx की जांच नहीं करेगा फ़ाइलें।

+2

मैं पहले विकल्प की सिफारिश करता हूं, क्योंकि हम (एमवीसी टीम) वर्तमान में उस संग्रह में किसी भी विशेष दृश्य इंजन के लिए अनुकरण नहीं कर रहे हैं। – marcind

+0

@marcin: संभवतः उन व्यू इंजनों को ढूंढना सबसे अच्छा है जिन्हें आप नहीं चाहते हैं और मैन्युअल रूप से उन्हें अपनी अनुक्रमणिका ढूंढकर और उन्हें हटाकर हटा दें। इस तरह यदि एमवीसी कभी अतिरिक्त व्यू इंजन जोड़ता है (या अन्य घटक अपने स्वयं के व्यू इंजन पंजीकृत करते हैं) तो आप उन्हें हटा नहीं पाएंगे। – Eilon

+0

सच है, उसके बारे में भी सोचा, लेकिन क्योंकि वह केवल सीएसटीएमएल का उपयोग करना चाहता था, मैंने इसे नहीं जोड़ा। इस तरह कुछ दिख सकता है: 'ViewEngines.Engines.Remove (ViewEngines.Engines.OfType ()। पहला()); ' मजेदार है कि आप इसे कितने अलग तरीके लिख सकते हैं! – aolde

4

कोड संशोधित किया गया है

ViewEngines.Engines.Clear(); 
ViewEngines.Engines.Add(new RazorViewEngine()); 
संबंधित मुद्दे

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