2012-06-26 15 views
7

मैं इस परियोजना में हूँ:पीएचपी विपरीत

एक वेब पेज है कि वाला सामने के अंत कंपनी लोगों द्वारा इस्तेमाल किया जा किसी SQL DB से क्वेरी और अद्यतन आंकड़ों के। मैं विजुअल स्टूडियो के साथ काम कर रहा हूं और पीछे कोड (सी #) लगभग पूरा हो गया है, इसलिए एसक्यूएल और सी # के बीच बातचीत ठीक है। मेरा मूल विचार एएसपी.नेट के साथ काम करना था जो मुझसे परिचित है, लेकिन यह संभव नहीं होगा। मुझे PHP पर स्विच करना है। तो, आज मेरा पहला दिन PHP सीख रहा है, http://php.net/manual/en/index.php की जांच कर रहा है और बहुत सी चीजें एएसपी.नेट के समान ही लगती हैं, इसलिए मुझे लगता है कि यह मुश्किल नहीं होगा।

वैसे भी, कुछ प्रश्न तेजी से पॉप अप हुए क्योंकि मैं "हैलो वर्ल्ड" से कुछ और लिखना चाहता था।

क्या php पृष्ठ का उपयोग करके मेरी कक्षा से C# चर प्राप्त करने/भेजने का कोई आसान तरीका है? मैंने ऐसा करने के लिए एक्सएमएल का उपयोग करने के बारे में सोचा है, लेकिन फिर भी मैं अपने सिर को खरोंच कर रहा हूं, क्या ऐसा करने का कोई और आसान तरीका है?

+4

शायद सी # वेब सेवा बनाएं और इसे PHP के माध्यम से उपभोग करें। – canon

+0

आपके दूसरे विकल्प की जांच करेगा, बहुत एंटीसेनिटी धन्यवाद। –

+2

PHP में सबकुछ फिर से शुरू किए बिना ... मैं दूसरी बार वेब सेवा के रूप में सी # को फिर से तैनात करता हूं ... यदि आप बिन नहीं करना चाहते हैं तो यह एकमात्र विकल्प है ... PHP बनाने के लिए सामान आसान है मैं वेब सेवा के लिए एक RESTfull दृष्टिकोण अपनाना होगा। – Brian

उत्तर

11

आपके पास विकल्प हैं।

  1. प्रत्यक्ष एकीकरण। PHP .NET ऑब्जेक्ट्स को तत्काल और उपयोग कर सकता है। PHP में डॉटनेट लाइब्रेरी देखें। तो यदि आप विंडोज़ पर PHP चलाते हैं, और आप PHP .NOTNET आधारभूत संरचना की आवश्यकताओं के अनुसार अपने .NET तर्क का पर्दाफाश करते हैं, तो आप सीधे PHP से .NET कक्षाओं को कॉल कर सकते हैं। कुछ प्रतिबंध: PHP को .NET 2.0 रनटाइम के साथ एकीकृत करने के लिए बनाया गया है। आप .NET 4.0 ऑब्जेक्ट्स नहीं बना सकते हैं और उन्हें PHP से कनेक्ट कर सकते हैं।

  2. तुल्यकालिक नेटवर्क प्रोटोकॉल। जैसा कि अन्य ने सुझाव दिया है कि आप अपने सी # तर्क को एआरएसटी या वेब सेवा इंटरफ़ेस के माध्यम से बेनकाब कर सकते हैं, फिर कर्ल लाइब्रेरी या file_get_contents() का उपयोग करके उन सेवाओं को PHP से आमंत्रित करें। सी # तर्क हो सकता है, लेकिन सार्वजनिक रूप से उजागर होने की आवश्यकता नहीं है। दूसरे शब्दों में, आप इसे केवल अपने ऐप की फ़ायरवॉल के भीतर ही पहुंच सकते हैं, ताकि कोई अज्ञात सार्वजनिक पहुंच संभव न हो। दूसरी ओर आपका आर्किटेक्चर तृतीय पक्ष या उपयोगकर्ता ऐप्स से एक ही एपीआई तक पहुंच के लिए कॉल कर सकता है। उस स्थिति में इसे सार्वजनिक रूप से उजागर करने की जरूरत है।

    किसी भी मामले में, सार्वजनिक या निजी, आप सी # में लागू सेवाओं को बेनकाब करने के लिए डब्ल्यूसीएफ या एएसपीएनईटी एमवीसी का उपयोग करना चाहेंगे।

  3. असीमित तंत्र। PHP एमएसएमक्यू से कनेक्ट हो सकता है। Using PHP to Open MSMQ Queues देखें। बेशक सी # वही कर सकता है। आप एमएसएमक्यू को दो दुनिया के बीच एक बफरिंग संचार तंत्र के रूप में उपयोग कर सकते हैं। ऐसा करने के लिए आपको अपने द्वारा रखे गए संदेशों और कतार पर प्राप्त करने के लिए डेटा सीरियलाइज़ेशन प्रोटोकॉल के साथ आने की आवश्यकता होगी। जेएसओएन या एक्सएमएल यहां उचित विकल्प होंगे।

  4. डेटाबेस। यदि आप एमएसएमक्यू को नियोजित करने के बारे में चिंतित हैं क्योंकि यह "प्रबंधन के लिए बुनियादी ढांचे का एक और टुकड़ा" है, तो आप एक डेटाबेस के रूप में भी कार्य कर सकते हैं। एक साझा डेटाबेस को PHP और C# दोनों द्वारा एक्सेस किया जा सकता है और एक संदेश कतार या संचार कंडिशन के रूप में उपयोग किया जा सकता है। PHP एक MySQL तालिका में संदेशों को सम्मिलित करता है, और सी # ऐप उन्हें पढ़ और संसाधित कर सकता है, फिर एक अलग तालिका में उत्तर संदेश दें। संदेश प्रारूपों, प्रोटोकॉल, अनुक्रमणिका, और अनुरोध/उत्तर सहसंबंध तंत्र को डिजाइन करने के लिए आपको कुछ काम की आवश्यकता होगी। लेकिन यह सिद्ध, मौजूदा तकनीक पर निर्भर करता है जिसे आप पहले ही जानते हैं कि इसका उपयोग कैसे किया जाए।

  5. अंत में, फालेंजर है। यह आपको PHP को .NET Framework पर संकलित करने देता है। इसका मतलब है सी # और PHP के बीच एकीकरण सरल होगा। मैंने यह कोशिश नहीं की है लेकिन यह आपकी आवश्यकताओं को पूरा कर सकता है।

+0

आपके उत्तर के लिए बहुत बहुत धन्यवाद, वे सभी अच्छे विचारों को देखते हैं लेकिन अनुमान लगाओ कि मैं पहले डॉटनेट लाइब्रेरी का प्रयास करूंगा क्योंकि मैं .NET के साथ ठीक हूं। एक बार फिर धन्यवाद! –