2014-06-20 8 views
6

मेरे पास एक ओविन प्रोजेक्ट है जिसे मैं माइक्रोसॉफ्ट.ऑविन.होस्ट.सिस्टमवेब का उपयोग कर होस्ट कर रहा हूं। यह ठीक काम करता है, लेकिन यह सफल नहीं होता तो मैं URL में एक डॉट है और मैं एक 404. उदाहरणआईआईएस पर होस्ट किया गया ओविन डॉट के साथ यूआरएल कैप्चर नहीं करता है। "

स्थानीय होस्ट के लिए मिलती है: 4070/cdn/आ काम करता है

लेकिन

स्थानीय होस्ट: 4070/cdn/आ

काम नहीं करता है मैं भी

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true">  
    </modules> 

में निम्न परिवर्तन किया है मुझे यकीन है कि इस सेटिंग को सादा asp.net वेब एपीआई में समस्या का हल है, लेकिन मैं Owin के साथ इस मुद्दे हो रहा हूँ ।

अद्यतन

मैं Owin मेजबान के साथ इस की कोशिश की है यह समान व्यवहार, के साथ कॉल है। "" Webapi के लिए रूट नहीं हैं।

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

उत्तर

7

इस config मेरे लिए काम किया:

<system.webServer> 
    <handlers> 
    <add name="OWIN" path="*" verb="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler" /> 
    </handlers> 
</system.webServer> 

"सार्वजनिक /" से फ़ाइल पथ प्राप्त करने के लिए फ़ोल्डर और मैं इस के साथ समाप्त हो गया जवाब में डाल दिया Odred में:

string filePath = System.Web.Hosting.HostingEnvironment.MapPath("~/public" + context.Request.Path); 
संबंधित मुद्दे