2011-10-26 21 views
6

साथ dll मैं विंडोज 7, VS2010, SqlServer 2008WCF सेवा कनेक्शन आईआईएस

मेरा आवेदन डेटा एक तीसरी पार्टी dll फार्म (जो कि में चलना चाहिए किसी अन्य प्रक्रिया से डेटा ले लेता है के साथ काम कर रहा हूँ पृष्ठभूमि) और डेटा को संसाधित करता है और इसे डब्ल्यूसीएफ सेवा के सामने के अंत में भेजता है।

आवेदन किया जाता है और जो करना है वह करता है। अब जब मैं इसे वितरित करना चाहता हूं और इसे आईआईएस में चलाता हूं। मुझे एक अजीब समस्या का सामना करना पड़ रहा है। जब मैं इसे आईआईएस में चलाता हूं तो एप्लिकेशन को डीएल से डेटा मिलता है, यह विफल रहता है और डीएल से कनेक्ट करते समय त्रुटि देता है।

Retrieving the COM class factory for component with CLSID {FCEC6861-5866-4F9E9A09-7CC868C30A8B} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).

कुछ शोध करने के बाद मैं घटक सेवा के लिए जा रहा पता चला और DCOM कॉन्फ़िग अंदर मैं हर किसी के लिए dll की सुरक्षा बदल जाते हैं। त्रुटि रुक ​​गई

लेकिन अब मुझे त्रुटि नहीं मिली है, लेकिन मुझे डेटा नहीं मिलता है जैसे डेटा प्रदान करने वाला सॉफ़्टवेयर बंद हो जाता है। लेकिन मेरे एएसपीनेट विकास सर्वर के साथ ठीक काम करें।

यह भी पाया गया कि जब मैं व्यवस्थापक मोड में विजुअल स्टूडियो चलाता हूं तो मुझे प्रशासनिक मोड में तीसरे पक्ष के डेटा सॉफ़्टवेयर को भी चलाया जाना चाहिए।

डीएलएल संदर्भ स्वचालित रूप से बिन फ़ोल्डर में कॉपी नहीं किया गया है, यह ओबीजे फ़ोल्डर में डाल दिया गया है और मैंने इसे मैन्युअल रूप से कॉपी किया है लेकिन यह काम नहीं करता है।

+4

मुझे यकीन नहीं है कि हर किसी तक पहुंच देना सबसे बुद्धिमान समाधान है। आपको शायद यह करना चाहिए कि आईआईएस में साइट किस साइट पर चल रही है, और उसके बाद तीसरे पक्ष के डीएलएल के लिए भी उस खाते में अनुमति दें। ऐप की प्रकृति के आधार पर, आप एक सेवा खाता बनाने पर भी विचार कर सकते हैं, इसे ऐप चलाने वाले ऐप पूल को असाइन कर सकते हैं और इसे उचित अनुमति दे सकते हैं। – Tim

+0

धन्यवाद। मुझे पता है कि यह एक अच्छा विचार नहीं है, मुझे पता है कि मैं समस्या का पता लगाना चाहता हूं। सब कुछ और कुछ भी कोशिश कर रहा है :) – thewayman

उत्तर

1

मुझे लगता है कि ऐसा होता है कि COM घटक कॉलर के समान संदर्भ में चल रहा है और इसे अपनी नौकरी करने के लिए उन्नत अनुमतियों की आवश्यकता है।

तो:

व्यवस्थापक मोड, व्यवस्थापक मोड में कॉम में
  • वी.एस., काम करता है, क्योंकि दोनों प्रणाली विस्तृत अनुमतियाँ कर रहे हैं उनके काम को करने के लिए।
  • आईआईएस ऐप पूल खाते के तहत चल रहा है (सुनिश्चित नहीं है कि), COM भी उस खाते के तहत होगा, लेकिन यह व्यवस्थापक नहीं है, काम को सही तरीके से करने के लिए अनुमतियों पर बहुत कम है।

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

+0

आईआईएस एप्लिकेशन पूल जो आपका ऐप बदल रहा है स्थानीय व्यवस्थापक होने के लिए मैं यह कैसे कर सकता हूं? – thewayman

+0

कृपया http://technet.microsoft.com/en-us/library/cc771170(WS.10).aspx – kroonwijk

+0

पढ़ें तो अंक -VS और COM दोनों उपयोगकर्ता मोड में भी काम कर सकते हैं। लेकिन उपयोगकर्ता में एक और व्यवस्थापक में दूसरा काम नहीं करता है। जब मैं ऐप को प्रशासक के रूप में चलाता हूं – thewayman

संबंधित मुद्दे