दिलचस्प पोस्ट
एक टुकड़े में संदर्भ का उपयोग करना उद्देश्य सी अंतर्निहित रूपांतरण पूर्णांक सटीक 'एनएसयूइन्टेगर' (उर्फ 'अहस्ताक्षरित लंबे') को 'इंट' चेतावनी के लिए खो देता है जावा हैशम कैसे एक ही हैश कोड के साथ विभिन्न वस्तुओं को संभालता है? गैर मानक स्थान में SSL समर्थन के साथ पायथन का निर्माण 'Utf8towcs' में टीएम पैकेज अमान्य इनपुट नियंत्रक के अंदर से नियंत्रक और क्रिया नाम प्राप्त करें? ट्यूपल पैरामीटर घोषणा और असाइनमेंट विषमता स्ट्रिंग एक संख्या है, तो मैं कैसे पहचानूं? कार्यपट्टी के शीर्ष पर मेरा अतिप्रवाह ड्रॉपडाउन मेनू क्यों है? एक मॉडल को एमवीसी में कैसे संरचित किया जाना चाहिए? I386 और x86-64 पर यूनिक्स और लिनक्स सिस्टम कॉल के लिए कॉलिंग सम्मेलनों क्या हैं I jQuery टेम्पलेटिंग इंजन सी में करी बनाने का कोई तरीका है? WPF CreateBitmapSourceFromHBitmap () मेमोरी रिसाव मैं रेपो / प्रोजेक्ट में सिस्टम-विशिष्ट कॉन्फ़िग फाइल कैसे ट्रैक कर सकता हूं?

System.Diagnostics.Process.Start एक आईआईएस से काम नहीं करते

जब मैं System.Diagnostics.Process.Start चलाता हूं। System.Diagnostics.Process.StartSystem.Diagnostics.Process.Start । मेरे कंसोल एप्लिकेशन से शुरू होता है, लेकिन यह काम करता है, लेकिन जब मैं आईआईएस में होस्ट की गई अपनी वेब सेवा से चलाता हूं तो काम नहीं करता।

क्या एएसपी.Net विशेषाधिकारों के साथ कुछ करना है ?? यदि हां, तो मैं इसे अपने सी # कोड से कैसे कॉन्फ़िगर कर सकता हूं

Solutions Collecting From Web of "System.Diagnostics.Process.Start एक आईआईएस से काम नहीं करते"

ASP.NET वेब पेज और सर्वर नियंत्रण कोड वेब सर्वर पर ASP.NET वर्कर प्रक्रिया के संदर्भ में कार्यान्वित करता है। यदि आप एक asp.net वेब पेज या सर्वर नियंत्रण में प्रारंभ विधि का उपयोग करते हैं, तो नई प्रक्रिया प्रतिबंधित सर्वर के साथ वेब सर्वर पर कार्यान्वित होती है। यह प्रक्रिया क्लाइंट ब्राउज़र के समान संदर्भ में शुरू नहीं होती है, और उपयोगकर्ता के डेस्कटॉप पर ऐक्सेस नहीं है। http://msdn.microsoft.com/en-us/library/0w4h05yb.aspx

– एएसपी.नेट वर्कर प्रोसेस अकाउंट के लिए अनुमति दें

डेस्कटॉप के साथ इंटरैक्ट करने के लिए या सिस्टम खाते में एएसपी.नेट वर्कर प्रक्रिया चलाने की अनुमति दें।

  • कार्यप्रणाली प्रक्रिया को सिस्टम खाते में चलाने की अनुमति देने के लिए और एएसपीएनईटी खाते की डिफ़ॉल्ट अनुमतियों को जानने के लिए, यह आलेख देखें सूचना: एएसपी.नेट में प्रक्रिया और अनुरोध पहचान: http://support.microsoft.com/default.aspx? एस सी आई डी केबी =; en-us; 317,012

– डेस्कटॉप के साथ इंटरैक्ट करने के लिए आईआईएस एडमिन सेवा को सक्षम करें

इसे कॉन्फ़िगर करने के लिए, इस चरण का पालन करें

  • ए। नियंत्रण कक्ष खोलें और इन चरणों का पालन करें: Windows NT के लिए: सेवा पर क्लिक करें Windows 2000, Windows XP, और .NET सर्वर के लिए: व्यवस्थापकीय उपकरण पर क्लिक करें, और उसके बाद सेवाक्लिक करें।

  • ख। आईआईएस एडमिन सर्विस पर डबल-क्लिक करें

  • सी। लॉग ऑन टैब पर, डेस्कटॉप के साथ बातचीत करने के लिए सेवा की अनुमति दें चेक बॉक्स का चयन करें। स्थानीय सिस्टम के रूप में IIS एडमिन सेवा को चलाने के लिए याद रखें।
  • घ। IIS एडमिन सर्विस को रोकें और पुनरारंभ करें

मुझे एक ऐसी ही समस्या थी, और सेवा से डेस्कटॉप तक पहुंचने की क्षमता समस्या नहीं थी। किसी अन्य उपयोगकर्ता का प्रतिरूपण न करने पर यह ठीक काम करता था, लेकिन जब यह एक अलग उपयोगकर्ता के रूप में प्रक्रिया को चलाने की कोशिश करता है तो वह विफल हो जाता है। ऐसा करने के लिए पहली बात यह है कि जब वह शुरू नहीं करेगा, तो समस्या के बारे में सारी जानकारी मिल सकती है। पहला सवाल यह है कि क्या प्रोसेस। स्टार्ट सही या गलत लौट आया है। दूसरे, प्रक्रिया शुरू करने की कोशिश करते समय क्या आपको कोई अपवाद मिलता है?

Process.Start UseShellExecute का उपयोग कर चलाया गया था या नहीं – यह पूरी तरह से जांच करने से पहले प्रासंगिक है या नहीं – यह प्रतिरूपण के लिए झूठा होना चाहिए, लेकिन अन्यथा आप इसे चुन सकते हैं कि इसका उपयोग करना है या नहीं और यह इस सेटिंग के आधार पर अलग-अलग Win32 फ़ंक्शन को कॉल करता है।

यदि आप ऐसी कोई प्रक्रिया कर रहे हैं जिसे दूसरे उपयोगकर्ता के रूप में चलाने की आवश्यकता है, तो .NET प्रतिरूपण – StartInfo उपयोगकर्ता नाम, पासवर्ड, डोमेन का उपयोग करने की कोशिश करने पर परेशान न करें, जिसे आप सेट करना चाहते हैं। हालांकि, आईआईएस के तहत आपको कुछ अतिरिक्त लॉकडाउन मिल गया है, और केवल विंडोज सर्वर 2008 में पाया गया एकमात्र समाधान वास्तव में कुछ विन 32 कॉल्स और अमूर्त सुरक्षा पुस्तकालयों के कार्यान्वयन शामिल है। जिन स्थितियों में आप चला सकते हैं उनमें से कई यहां दिए गए हैं: http://asprosys.blogspot.co.uk/2009/03/perils-and-pitfalls-of-launching.html

उस पृष्ठ का नमूना कोड दिखाता है कि लाइब्रेरी कैसे कॉल करें और उस उपयोगकर्ता के रूप में एक प्रक्रिया शुरू करने से पहले उपयोगकर्ता को विंडोज़ स्टेशन और डेस्कटॉप एक्सेस कैसे जोड़ें। यह प्रक्रिया मुझे प्राप्त करने के लिए थी। आईआईएस से काम शुरू करने के लिए, यूएसी, डीईपी और अन्य तीन पत्रों के बारे में सोचने के बाद मुझे ये संदेह हो सकता है;)

अगर आप आवेदन कर रहे हैं तो विंडोज 7 चल रहा है तो आप नहीं कर सकते। मूल रूप से चलने वाले सत्र 0 और उपयोगकर्ता डेस्कटॉप सत्र चल रहे हैं 1 ताकि आप सत्र 0 से सत्र 1 तक बातचीत नहीं कर सकें। भले ही आप जीत लॉगऑन प्रक्रिया (जो हर नए उपयोगकर्ता के लिए उपयोगकर्ता सत्र शुरू करने के लिए उपयोग किया जाता है) से संवाद करने का प्रयास करते हैं कुछ स्थानीय जानकारी प्राप्त नहीं (स्थानीय सेटिंग्स की तरह ब्राउज़र सेटिंग्स)

मेरे लिए जो काम कर रहा है वह ऐसा कुछ है:

 ProcessStartInfo psi = new ProcessStartInfo(); psi.UseShellExecute = true; psi.LoadUserProfile = true; psi.WorkingDirectory = sender.Server.MapPath("../");// This line solved my problem psi.FileName = sender.Server.MapPath("../myexecutable.exe"); psi.Arguments = "Myargument1 Myargument2"; Process.Start(psi); 

`