2012-03-02 16 views
6

मैं दृश्य स्टूडियो 2010 (SP1) से वेब फ़ॉर्म asp.net वेब एपीआई का उपयोग करने मैं क्या किया है इस कदम http://myrandomykien.blogspot.com/2012/02/simplest-web-api-site-with-nuget.htmlASP.NET वेब एपीआई रूपों

जब मैं दृश्य स्टूडियो का उपयोग की कोशिश कर रहा विकास सर्वर यह काम करता है, लेकिन जब मैं iis 7.5 का उपयोग कर रहा हूं तो मुझे एक त्रुटि HTTP 404.0 मिलती है - नहीं मिला।

संपादित

मेरी वैश्विक-asax

protected void Application_Start(object sender, EventArgs e) 
     { 
      RouteTable.Routes.MapHttpRoute(
       name: "DefaultApi", 
       routeTemplate: "api/{controller}/{id}", 
       defaults: new { id = System.Web.Http.RouteParameter.Optional } 
      ); 
     } 

यह API वर्ग

public class GreetingController : ApiController 
{ 
    public string GetGreeting(string id) 
    { 
     return String.Format("Hello {0}", id); 
    } 
} 
+0

आप अधिक जानकारी प्रदान कर सकता है? अभी अभी बहुत कुछ नहीं जाना है। – marcind

उत्तर

6

आप यह सुनिश्चित करें कि extensionless अनुरोध ASP.NET ले जाया जाता है बनाने के लिए है यह वह जगह है जो आपके विकास सर्वर द्वारा डिफ़ॉल्ट रूप से किया जाता है लेकिन आईआईएस नहीं।

कुछ संभावित दृष्टिकोण हैं।

सबसे पहले, आप के मॉड्यूल अनुभाग में runAllManagedModulesForAllRequests="true" जोड़ सकते हैं। कुछ लोगों का दावा है वहाँ बेहतर तरीके हैं, तो आप उनका अनुसरण कर सकते हैं:

http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html

+0

runAllManagedModulesForAllRequests = "true" काम करता है !!! धन्यवाद विकटोर – sebacipo

+3

अगर कोई क्लासिक मोड में आईआईएस का उपयोग कर रहा है, तो विकटोर का समाधान काम नहीं करता है, आपको आईआईएस के लिए एक्सटेंशन लेस अपडेट इंस्टॉल करना होगा। http://support.microsoft.com/kb/980368 – sebacipo

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