asp.net - Access one web api controller from another -


मेरे पास दो वेब एपीआई नियंत्रक हैं: PageController और BlogController । वे पृष्ठों और ब्लॉग बनाने के लिए सरल क्रूड होते हैं। हर बार जब मैं एक ब्लॉग तैयार करता हूं, मुझे एक पृष्ठ बनाना पड़ता है, लेकिन इसके विपरीत नहीं। यह करने का सबसे अच्छा तरीका क्या है? मुझे लगता है कि यदि मैं PageController से BlogController से उत्तराधिकार में हूं तो मेरे रूटिंग के साथ कुछ अजीब होना चाहिए। क्या CreatePage विधि को PageController से BlogController 's CreateBlog विधि कॉल करने का कोई तरीका है? क्या मुझे ब्लॉग बनाने के लिए हर बार दो अलग-अलग अजाक्स कॉल्स बनाने के लिए खुद को इस्तीफा देना चाहिए?

आपको कुछ सामान्य तर्कों की आवश्यकता होती है, जिसे कई नियंत्रकों द्वारा एक्सेस करने की आवश्यकता होती है, आपको एक सामान्य क्लास बनाने के लिए एक अलग वर्ग बनाना चाहिए।

यह क्लास आपके वेब प्रोजेक्ट का हिस्सा हो सकता है या एक अलग परियोजना / विधानसभा में।

असल में आप जो करने की कोशिश कर रहे हैं वह यह है:

  सार्वजनिक वर्ग ब्लॉगकंट्रोलर {सार्वजनिक शून्य बनाएँब्लॉग () {var pc = new PageController (); pc.CreatePage (); }} सार्वजनिक वर्ग PageController {निजी डाटाबेस डीबी; सार्वजनिक शून्य CreatePage () {var page = new Page (); db.SavePage (पेज); }}   

और मैं यह सुझाव दे रहा हूं कि आप ऐसा करते हैं:

  सार्वजनिक वर्ग ब्लॉगकंट्रोलर {सार्वजनिक शून्य बनाएँब्लॉग () {Blog.CreatePage (); }} सार्वजनिक वर्ग PageController {सार्वजनिक शून्य CreatePage () {Blog.CreatePage (); }} सार्वजनिक वर्ग ब्लॉग {निजी डेटाबेस डीबी; सार्वजनिक स्थिर शून्य CreatePage () // {var page = new Page () नहीं है; db.SavePage (पेज); }}    

Comments

Popular posts from this blog

c# - The item with identity 'Id' already exists in the metadata collection. Parameter name: item -

jquery - How to make a wrapper function in javascript? -

sql - PostgreSQL automatically update row at specific date -