2011-04-08 18 views
5

मैं सोच रहा था कि एक एमवीसी वेब ऐप के माध्यम से सर्वर पर कमांड लाइन फ़ंक्शन चलाने के लिए संभव था।सर्वर साइड कमांड लाइन

खुद को स्पष्ट करने के लिए:
कोई उपयोगकर्ता एमवीसी वेब ऐप के माध्यम से सर्वर पर कुछ फाइलें अपलोड करता है। उसके बाद वह बटन दबाता है और सर्वर कमांड लाइन एप्लिकेशन चलाता है।

क्या यह संभव है?

अग्रिम धन्यवाद

एनबी: सर्वर विंडोज 2008

उत्तर

8

हाँ है। मान लें कि आपके पास कमांड लाइन ऐप है (यानी आप कंसोल ऐप के मालिक हैं) जिसके लिए कोई उपयोगकर्ता इंटरैक्शन की आवश्यकता नहीं है, आप अपने कंट्रोलर विधि के भीतर निम्न कोशिश कर सकते हैं।

Process serverSideProcess = new Process(); 
serverSideProcess.StartInfo.FileName = @"C:\pathToTheExe"; 
serverSideProcess.StartInfo.Arguments = "arg1 arg2 arg3"; 
serverSideProcess.EnableRaisingEvents = true; 
serverSideProcess.StartInfo.UseShellExecute = true; 
serverSideProcess.Start(); 

इस प्रक्रिया को निष्पादित करने वाले उपयोगकर्ता खाते की पहचान को ध्यान में रखना एक बात है। डिफ़ॉल्ट रूप से, यह AppPool के क्रेडेंशियल्स का उपयोग कर सर्वर पक्ष निष्पादित करना चाहिए। यदि आपको नेटवर्क संसाधनों तक पहुंचने की आवश्यकता है तो यह एक मुद्दा हो सकता है। इस पर काबू पाने का एक तरीका है ऐपपूल को ऐसे उपयोगकर्ता खाते के तहत चलाने देना है जिसे इन संसाधनों तक पहुंच प्रदान की गई है।

+0

संभव उत्तर – Cobalt

+0

के लिए धन्यवाद मेरे पास बिल्कुल वही आवश्यकता है। धन्यवाद। –