2013-04-24 9 views
6

मैं नेट वेब एपीआई पर काम कर रहा हूं जो डीबग के साथ-साथ लोकलहोस्ट आईआईएस पर ठीक काम कर रहा है लेकिन जब मैं इसे सर्वर पर प्रकाशित करता हूं तो यह निम्न त्रुटि देता है: -
"संदेश": "कोई HTTP संसाधन पाया गया कि अनुरोध URI.Net वेब एपीआई कोई HTTP संसाधन नहीं मिला जो अनुरोध से मेल खाता है यूआरआई

से मेल खाता सर्वर पर, हम इस एपीआई के लिए डिफ़ॉल्ट साइट के अंतर्गत आवेदन फ़ोल्डर है, लेकिन यह इतना है कि स्थानीय आईआईएस के डिफ़ॉल्ट साइट के अंतर्गत आवेदन फ़ोल्डर में ठीक काम कर रहा है समस्या नहीं होनी चाहिए।

अब मैंने निम्नलिखित यूआरएल में निर्दिष्ट अनुसार हैंडलर में उचित क्रिया सेट करने का प्रयास किया लेकिन काम नहीं किया:
तो मैं भी इसे हटाने की कोशिश की
.NET Web Api - 404 - File or directory not found

इसके अलावा WebDav मॉड्यूल, हैंडलर त्रुटि दे सकता है, लेकिन यह एक ही त्रुटि दे रही है: 10 HTTP 404 Page Not Found in Web Api hosted in IIS 7.5

इसके अलावा मैं के रूप में इस यूआरएल पर सुझाव सर्वर पर स्थापित MVC4 है।

यहाँ मॉड्यूल, हैंडलर सेटिंग के लिए Web.config अनुभाग है: -

<modules runAllManagedModulesForAllRequests="true" /> 
<validation validateIntegratedModeConfiguration="false" /> 
<handlers> 
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> 
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> 
<remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="*" modules="IsapiModule" 
     scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" 
     preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> 
    <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="*" modules="IsapiModule" 
     scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" 
     preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> 
    <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 
</handlers> 

मैं कहीं भी मार्गों के साथ नहीं खेल रहा हूँ। क्या मैं web.config या सर्वर आईआईएस में सेटिंग्स/कॉन्फ़िगरेशन के बारे में कुछ याद कर रहा हूं?

+0

क्या सभी HTTP विधियां आपको यह त्रुटि दे रही हैं, मूल रूप से कोई भी मार्ग, या केवल विशिष्ट क्रियाएं (उदा।पॉट और हटाएं)? क्या आपने क्लासिक/एकीकृत मोड (आईआईएस) की कोशिश की है? –

+0

हां सभी HTTP विधियां इस त्रुटि को दे रही हैं। मैं आईआईएस 7.5 में एकीकृत मोड का उपयोग कर रहा हूं। – user621504

+0

क्या आपने समस्या हल की है? मैं अभी भी वही कर रहा हूं ... – Slauma

उत्तर

0

बदलें:

<validation validateIntegratedModeConfiguration="false" /> 
<modules> 
    <remove name="WebDAVModule"/> 
</modules> 
<handlers> 
    <remove name="WebDAV"/> 
    <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> 
    <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> 
    <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
    <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> 
    <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> 
    <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 
</handlers> 
1

यह मेरे लिए काम करता है:

<remove name="WebDAV"/> 

मैं क्यों यह सर्वर पर स्थापित किया गया है पता नहीं है। लेकिन इस extensionless संचालकों

आईआईएस से

(http://www.iis.net/learn/install/installing-publishing-technologies/installing-and-configuring-webdav-on-iis) के साथ हस्तक्षेप करने के लिए लगता है:

माइक्रोसॉफ्ट एक नया WebDAV विस्तार मॉड्यूल है कि पूरी तरह था विंडोज पर इंटरनेट सूचना सेवा (आईआईएस) के लिए फिर से लिखा 7 और बाद जारी किया गया सर्वर® 2008. इस नए वेबएडीवी एक्सटेंशन मॉड्यूल ने कई नई विशेषताएं शामिल की हैं जो वेब लेखकों को पहले से बेहतर सामग्री प्रकाशित करने में सक्षम बनाती हैं, और वेब प्रशासकों को अधिक सुरक्षा और कॉन्फ़िगरेशन विकल्प प्रदान करती हैं। माइक्रोसॉफ्ट ने Windows Server® 2008 के लिए WebDAV एक्सटेंशन मॉड्यूल में एक अद्यतन जारी किया है जो ओवरराइट्स के कारण खोए गए अपडेट को रोकने के लिए साझा और अनन्य ताले समर्थन प्रदान करता है।

1

इस के लिए एक अन्य संभावित कारण अगर

GlobalConfiguration.Configure(WebApiConfig.Register); 

, के बाद

RouteConfig.RegisterRoutes(RouteTable.Routes); 
global.asax.cs में

यह पहले होने की जरूरत है है अन्यथा डिफ़ॉल्ट RouteConfig है मार्ग वेबएपीआई मार्ग 'खाता है' - और एपीआई अनुरोधों को एपीआई नामक नियंत्रक को मैप करने का प्रयास करता है ...

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

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