कैसे एक व्यक्ति एक WCF परियोजना का उपयोग किए बिना WCF के माध्यम से कई वर्गों के शामिल API पद्धति प्रति विधि उजागर के बारे में जाना होगा से स्वचालित रूप से सर्वर साइड WCF सेवा उत्पन्न करें।मौजूदा एपीआई
उदाहरण के लिए, मैं समझता हूँ कि मैं हमेशा की तरह एक WCF सेवा पुस्तकालय बना सकते हैं और सिर्फ एक WCF सेवा "RainfallMonitor" कहा जाता जोड़ने चलो कहते हैं कि मैं निम्नलिखित
public interface RainfallMonitor
{
[ExposeToWeb]
void RecordRainfall(string county, float rainfallInches);
[ExposeToWeb]
float GetTotalRainfall(string county);
void ClearRainfall(string county);
}
करते हैं।
क्या मैं तलाश कर रहा हूँ है ... यह संभव/उचित किसी भी तरह वास्तव में कक्षाएं WCF सेवाओं बनाने के बिना एक पूरे एपीआई के लिए संकलन समय पर WCF संबंधित कोड के सभी उत्पन्न करने के लिए है। संभावित रूप से ExposeToWeb
जैसे गुणों का उपयोग करने के लिए सेवाओं के माध्यम से कौन सी विधियों का खुलासा करना है। उसके एवज में इस तरह कार्य करेगा:
- बनाएं/
RainfallAPI
- संकलित बुलाया परियोजना में कक्षाओं को संशोधित करने और एक अन्य परियोजना/dll स्वचालित रूप से
RainfallService
बुलाया जेनरेट किया है।
मूलतः:
- यदि यह संभव क्या दृष्टिकोण मैं वास्तव में इसे लागू करने का समय लग सकता है?
- क्या गंभीर नुकसान मैं करना पड़ सकता है?
- वहाँ किसी भी मौजूदा codebase कि कुछ इसी तरह मैं प्रेरणा
के लिए इस पर गौर कर सकता है स्पष्टीकरण के लिए करता है: मैं के बारे में स्वचालित रूप जेनरेट ग्राहक ठूंठ, मैं सर्वर साइड पर सेवाओं बनाने के बारे में पूछ रहा हूँ नहीं कह रहा हूँ।
मैं अपने सिर के शीर्ष से दो संभावित समस्याओं के बारे में सोच सकता हूं: 1) विधि अधिभार को एकाधिक ऑपरेशन कॉन्ट्रैक्ट्स के लिए 1: 1 मैप नहीं किया जा सकता है (नाम अलग होना चाहिए)। 2) एपीआई में उपयोग किए जाने वाले सभी जटिल प्रकारों को क्रमिक (उदाहरण के लिए [डेटाकंट्रैक्ट्स]) होना चाहिए, इसलिए एपीआई लेखकों को पता होना चाहिए कि उनके एपीआई को डब्ल्यूसीएफ सेवाओं के रूप में उजागर किया जाएगा। – nodots