2012-05-02 14 views
8

मेरे पास एक वीबी स्क्रिप्ट निष्पादित करने के लिए बैच फ़ाइल है। बैच फ़ाइल को डबल क्लिक करके निष्पादित करते समय काम करेगा, लेकिन जब मैंने सी # के साथ ऐसा किया है तो यह मेरे स्थानीय पर्यावरण पर काम कर रहा है लेकिन स्टेजिंग सर्वर (विंडोज सर्वर 2008r2) में नहीं, क्या इस निष्पादन के लिए मुझे अनुमति देने की आवश्यकता है । मचान सर्वर से मैंसी # अनुमति समस्या से बैच फ़ाइल निष्पादित करना

मैं व्यवस्थापक खाते के साथ सर्वर से प्रवेश कर लिया है क्लिक करें और बैच फ़ाइल निष्पादित दोगुना कर सकते हैं ... और स्थानीय होस्ट के रूप में आवेदन ब्राउज़ किया था।

क्या मैं सी # से बैच फ़ाइल के निष्पादन पर याद कर रहा हूँ,

मुझे नहीं लगता कि मेरे स्थानीय पर्यावरण पर इसके ठीक काम कर रहा के रूप में मेरी सी # कोड के साथ किसी भी समस्या है, वैसे भी पीछा कर रहा है है मेरी सी # कोड,

if (File.Exists(FileName*)) 
      { 
       System.Diagnostics.ProcessStartInfo p = new System.Diagnostics.ProcessStartInfo(FileName); 
       System.Diagnostics.Process proc = new System.Diagnostics.Process(); 
       proc.StartInfo.FileName = FileName; 
       proc.StartInfo.RedirectStandardError = true; 
       proc.StartInfo.RedirectStandardOutput = true; 
       proc.StartInfo.UseShellExecute = false; 

       proc.Start(); 

       proc.WaitForExit(); 

      } 
      else 
      { 
       lblMsg.Text = "Sorry unable to process you request"; 
      } 

* फ़ाइल का नाम बैच फ़ाइल का पथ है। इसके अलावा मैंने फ़ोल्डरों को पूर्ण अनुमति सेट की है जो बैच फ़ाइल और vbs फ़ाइलों दोनों को containg।

+0

मेरा मानना ​​है कि आपको बैच स्क्रिप्ट – Habib

उत्तर

3

इस अपने अनुप्रयोग पूल काम करने के लिए एक उपयोगकर्ता के लिए जो बैच फ़ाइल तक पहुँच गया है के रूप में चलाने की जरूरत है। IIS 7 या IIS 6 के लिए अपनी ऐप पूल पहचान को बदलने का तरीका देखें।

+0

की कार्य निर्देशिका पर अनुमति रखने के लिए अपने एप्लिकेशन पूल के लिए आईआईएस में उपयोगकर्ता को निर्दिष्ट करना होगा, आपके उत्तर के लिए कार्तिक धन्यवाद, मैं सर्वर तक पहुंचने के लिए प्रशासक खाते का उपयोग कर रहा हूं और मैं एक्सेस कर रहा हूं http: // localhost/के रूप में वेबसाइट। मैंने एप्लिकेशन पूल पहचान को कस्टोम मोड में सेट कर दिया है और इस प्रशासक खाते और पासवर्ड को सेट किया है, लेकिन यह अभी भी काम नहीं कर रहा है, और आईआईएस 7 – sudheshna

2

क्या Kartheek कहा पर विस्तार करने के लिए:

  • आईआईएस 7 आवेदन एक एप्लिकेशन पूल खाते के रूप में चलाने के पूल में, IISAPPPOOL\AppPoolName
  • आईआईएस 6 आवेदन Network Service
  • के रूप में चलाने या तो मामले में पूल में, इन खातों उपयोगकर्ता के दस्तावेज़ फ़ोल्डर तक पहुंच नहीं है और (डिफ़ॉल्ट रूप से) केवल सामान्य डेटा स्टोर से ही पढ़ा जा सकता है। तो मैं क्या होगा बस सुनिश्चित करें कि आप पढ़ सकते हैं अनुदान + बल्ला फ़ाइल आप अनुप्रयोग पूल खाते के लिए की जरूरत पर अनुमतियों को निष्पादित कर रहा है -

आम तौर पर आप अनुप्रयोग पूल खाते रखने के लिए, क्योंकि यह डेटा को अलग करने में मदद करता चाहते हैं। आपको बल्ले को पढ़ने/लिखने की ज़रूरत वाले किसी भी भरने/फ़ोल्डरों पर उचित अनुमतियों की भी आवश्यकता होगी।

आपको इस समस्या को ठीक करने के लिए अपने ऐप में कुछ भी बदलने की ज़रूरत नहीं है, जब तक कि आप आईआईएस ऐप को वास्तव में वेबसाइट पर बैठे उपयोगकर्ता के रूप में मास्कराइड नहीं करना चाहते हैं (यह वास्तव में काम करता है अगर आप प्रमाणीकरण के कुछ रूप का उपयोग करते हैं ।) आम तौर पर यह एक बुरा विचार है - इसलिए अनुमतियों को समायोजित करना सबसे अच्छा है।

अंगूठे का एक सामान्य नियम है, जब एक वेब सर्वर आप के रूप में कम/संभव के रूप में प्रतिबंधात्मक अनुमतियाँ/निष्पादन के स्तर को बनाए रखना चाहते पर काम कर के रूप में।

+0

का उपयोग कर आईएम आपके उत्तर के लिए धन्यवाद, मुझे यकीन है कि यह मुद्दा है लेकिन मुझे नहीं पता कि इसे कैसे क्रमबद्ध किया जाए किसी भी तरह से मैं इस पर कोशिश कर रहा हूँ। – sudheshna

+0

यह विंडोज सर्वर पर किसी भी अन्य फाइल के लिए अनुमतियों को वैसे ही जोड़ रहा है, "एनटीएफएस अनुमतियों को बदलना [सर्वर संस्करण]" के लिए चारों ओर खोजें – debracey