2012-09-13 14 views
11

को तैनात करने के लिए आवश्यक न्यूनतम फ़ाइलें इसलिए बहुत सारे शोध के बाद मैं वेबपैआई एंट्री पॉइंट के साथ हमारे सेवा सर्वर स्टैक को बढ़ाने शुरू कर रहा हूं। this thread के आधार पर, और विशेष रूप से डाइगेराटी बोर्ड के एक सदस्य द्वारा अंतिम पोस्ट, हम वेबएपीआई सेवाओं को हमारी डब्ल्यूसीएफ आवेदन परत में एक मुखौटा के रूप में कार्यान्वित कर रहे हैं। (हमारी डब्ल्यूसीएफ सेवाएं हमारे आवेदन परत में केवल facades हैं जहां सभी व्यवहार रहता है)वेबएपीआई सर्वर पक्ष

मेरा सवाल यह है। मैंने एमवीसी 4 डाउनलोड किया और मेरे सेवा समाधान में एक नई वेबएपीआई परियोजना बनाई। लेकिन वाह मेरे प्रोजेक्ट में बनाए गए बकवास का एक टन था कि मुझे बस आवश्यकता नहीं है! उदाहरण के लिए, सभी छवि फ़ाइलों, घर नियंत्रक, विचार और मॉडल, आदि

तो इसे केवल एक सेवा प्रोजेक्ट के रूप में अलग करने में, एक कार्यात्मक सेवा प्रोजेक्ट बनाने के लिए मुझे आवश्यक न्यूनतम फाइलें क्या हैं? हमारा इरादा एक ही सर्वर में दोनों तरह के सेवा प्रकारों (डब्ल्यूसीएफ और वेबएपीआई) को प्रकाशित करना है .. प्रत्येक सेवा कॉल समान समान सेवा कॉल कर रही है और अनुरोध के लिए विशिष्ट डीटीओ वापस कर रही है। अब तक यह App_Start, नियंत्रक, और Glabal.asax/web.config प्रविष्टियों की तरह दिखता है। मुझे निश्चित रूप से दृश्य, मॉडल, या छवियों की आवश्यकता नहीं है !!!

दूसरों ने शुद्ध सेवा परिनियोजन करने के लिए किए गए कार्यों पर कोई भी इनपुट यहां बहुत स्वागत किया जाएगा।

उत्तर

18

वही समस्या यहां। मैंने पाया है कि article शॉन केंड्रॉट से न्यूनतम वेब एपीआई प्रोजेक्ट बनाने का तरीका बताते हुए। यह वेब एपीआई के बीटा संस्करण के लिए लिखा गया था लेकिन ऐसा लगता है कि यह अभी भी मान्य है।

  1. एक खाली एएसपी.नेट परियोजना बनाएं।
  2. System.Web.Http और System.Web.Http.WebHost (संस्करण 4.0.0.0)
  3. एक Global.asax फ़ाइल
  4. जोड़े Global.Application_Start में एक मार्ग रजिस्टर करने के लिए एक संदर्भ जोड़ें। कुछ की तरह:

    protected void Application_Start(object sender, EventArgs e) 
    { 
        GlobalConfiguration.Configuration.Routes.MapHttpRoute(
         name: "DefaultApi", 
         routeTemplate: "api/{controller}/{id}", 
         defaults: new { id = RouteParameter.Optional }); 
    } 
    
  5. एक नियंत्रक जोड़े

    public class SampleController : ApiController 
    { 
        public string Get(int id) 
        { 
        return "Hello"; 
        } 
    } 
    
    1. भागो यूआरएल /api/sample/123 के साथ इस परियोजना स्थानीय और परिणाम का आनंद लें:

enter image description here

+5

+1 यह वास्तव में आधिकारिक दस्तावेज में कहीं होना चाहिए! –

+1

एलओएल कुछ हद तक छोड़ दिया गया है जो आधिकारिक दस्तावेज में होना चाहिए। अपनी टिप्पणी के लिए +1। :) –

3

एफवाईआई। मैं ने पाया है कि मैं दो और .dlls संदर्भ के लिए पड़ा है:

  • System.Net.Http
  • Newtonsoft.Json
संबंधित मुद्दे