2013-01-02 24 views
5

मैं एक विरासत एसएफएफ फ़ाइल के साथ काम कर रहा हूं जो एक स्थिर मार्ग के लिए नियंत्रक/एक्शन रूटिंग में देख रहा है।एमवीसी रूटिंग स्थिर फ़ाइल

http://localhost:59801/ClearExternalPlaySeekMute.swf 

मैं MapRoute उपयोग कर सकते हैं रूट निर्देशिका में इस URL मैप करने के लिए: उदाहरण के लिए, यह जब फ़ाइल रूट निर्देशिका में मौजूद फ़ाइल

http://localhost:59801/Resource/Details/ClearExternalPlaySeekMute.swf 

डाउनलोड करने के लिए कोशिश कर रहा है?

उत्तर

1

यह आपके लिए काम करना चाहिए, लेकिन मुझे लगता है कि यह आईआईएस के माध्यम से बेहतर होगा।

routes.IgnoreRoute("{file}.swf");

मैं एक ऐसा पद है कि वास्तव में अच्छा था याद है। अगर मुझे लगता है, तो मुझे संदर्भ देना निश्चित होगा।

मूल रूप से एक ही सवाल ... Using ASP.NET routing to serve static files

+0

फ़ाइल पथ को अनदेखा करने की बजाय, मुझे वास्तव में उस सामग्री को मूल निर्देशिका में फिर से निर्देशित करने की आवश्यकता है। यूआरएल swf फ़ाइल में हार्डकोड किया गया है। – user547794

+0

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

2

आप IIS में url rewrite मॉड्यूल का उपयोग कर सकते हैं। अब

<system.webServer> 
    <rewrite> 
     <rules> 
     <rule name="Rewrite Static Flash file" stopProcessing="true"> 
      <match url="^Resource/Details/ClearExternalPlaySeekMute.swf$" /> 
      <action type="Rewrite" url="ClearExternalPlaySeekMute.swf" /> 
     </rule> 
     </rules> 
    </rewrite> 
</system.webServer> 

जब एक अनुरोध /Resource/Details/ClearExternalPlaySeekMute.swf यह /ClearExternalPlaySeekMute.swf द्वारा परोसा जाएगा करने के लिए किया जाता है: एक बार जब आप इसे स्थापित बस निम्नलिखित पुनर्लेखन नियम जोड़ें।

+0

मैंने इस पर विचार किया था, लेकिन जब मैं स्थानीय रूप से डब्ल्यू/आईआईएस एक्सप्रेस डिबगिंग कर रहा हूं तो क्या होगा? – user547794

+0

चूंकि आईआईएस एक्सप्रेस एक ही आईआईएस बाइनरी (और पूर्ण आईआईएस की अधिकांश विशेषताएं) का उपयोग कर रहा है, इसलिए आप यूआरएल रीराइट –

+0

यूआरएल रीराइट का निर्माण आईआईएस एक्सप्रेस में कर सकते हैं - इसलिए इस काम को आईआईएस एक्सप्रेस (अन्य में) करने के लिए आपको कुछ भी करने की ज़रूरत नहीं है अनुभाग को डालने से मैंने आपको अपने web.config में दिखाया है)। आईआईएस के लिए आपको यूआरएल रिवाइट मॉड्यूल स्थापित करना होगा। लेकिन यह सर्वर प्रबंधक में सुविधा को सक्षम करने के समान सरल है। –

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