2013-05-03 5 views
6

हमें कस्टम कॉन्फ़िगरेशन अनुभाग के साथ हमारे टेस्ट वातावरण में एक अजीब त्रुटि मिल रही है।"कॉन्फ़िगरेशन सेक्शन हैंडलर बनाने के लिए एक त्रुटि हुई" -

यह एक विंडोज सर्वर के लिए एक एंटरप्राइज़ सर्वर 2008 आर 2 64 बिट पर चल रहा है जो SQL सर्वर 2008 के साथ dev और test वातावरण दोनों में है।

यह खंड जब भी कोई त्रुटि संभाला और इस तरह के कोड के साथ प्रकाशित किया जाता है ईमेल इच्छुक पार्टियों के लिए बाहर भेजने के लिए हमारी साझा कोड पुस्तकालय कॉन्फ़िगर करता है:

catch(Exception ex) 
{ 
    ExceptionManager.Publish(ex); 
} 

त्रुटि बारीकियों (पूरे विस्तार - नाम निर्दोष को बचाने के लिये बदल दिया)

4 <configSections> 
5  <section name="exceptionManagement" 
6    type="Company.Shared.ExceptionManagement.ExceptionManagerSectionHandler, Company.Shared" /> 
7 </configSections> 
8 <exceptionManagement> 
9  <publisher assembly="Company.Shared" type="Company.Shared.ExceptionManagement.DefaultPublisher" 
10     logName="CPODSOracleDataExchange" applicationName="CPODSOracleDataExchange Service" /> 
11  <publisher assembly="Company.Shared" type="Company.Shared.ExceptionManagement.ExceptionManagerSMTPPublisher" 
12     from="[email protected]" 
13     defaultRecipients="[email protected],[email protected]" 
14     applicationName="CPODSOracleDataExchange Service" /> 
15 </exceptionManagement> 


1) Exception Information 
********************************************* 
Exception Type: System.Configuration.ConfigurationErrorsException 
Message: An error occurred creating the configuration section handler for exceptionManagement: Request failed. (E:\CITApps\Services\CPODS.OracleDataExchangeService\Company.CPODS.OracleDataExchangeService.exe.Config line 5) 
BareMessage: An error occurred creating the configuration section handler for exceptionManagement: Request failed. 
Filename: E:\CITApps\Services\CPODS.OracleDataExchangeService\Company.CPODS.OracleDataExchangeService.exe.Config 
Line: 5 
Errors: System.Configuration.ConfigurationException[] 
Data: System.Collections.ListDictionaryInternal 
TargetSite: System.Configuration.FactoryRecord FindAndEnsureFactoryRecord(System.String, Boolean ByRef) 
HelpLink: NULL 
Source: System.Configuration 

StackTrace Information 
********************************************* 
    at System.Configuration.BaseConfigurationRecord.FindAndEnsureFactoryRecord(String configKey, Boolean& isRootDeclaredHere) 
    at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) 
    at System.Configuration.BaseConfigurationRecord.GetSection(String configKey) 
    at Company.Shared.ExceptionManagement.ExceptionManager.Publish(Exception exception, NameValueCollection additionalInfo) 

2) Exception Information 
********************************************* 
Exception Type: System.Security.SecurityException 
Action: Demand 
PermissionType: System.Security.PermissionSet 
FirstPermissionThatFailed: NULL 
PermissionState: <PermissionSet class="System.Security.PermissionSet" 
version="1" 
Unrestricted="true"/> 

Demanded: <PermissionSet class="System.Security.PermissionSet" 
version="1" 
Unrestricted="true"/> 

GrantedSet: 
RefusedSet: 
DenySetInstance: NULL 
PermitOnlySetInstance: <PermissionSet class="System.Security.PermissionSet" 
version="1"> 
<IPermission class="System.Security.Permissions.FileDialogPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
version="1" 
Access="Open"/> 
<IPermission class="System.Security.Permissions.IsolatedStorageFilePermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
version="1" 
Allowed="ApplicationIsolationByUser" 
UserQuota="1024000"/> 
<IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
version="1" 
Flags="Execution"/> 
<IPermission class="System.Security.Permissions.UIPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
version="1" 
Window="SafeTopLevelWindows" 
Clipboard="OwnClipboard"/> 
<IPermission class="System.Drawing.Printing.PrintingPermission, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
version="1" 
Level="SafePrinting"/> 
<IPermission class="System.Security.Permissions.MediaPermission, WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
version="1" 
Audio="SafeAudio" 
Video="SafeVideo" 
Image="SafeImage"/> 
<IPermission class="System.Security.Permissions.WebBrowserPermission, WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
version="1" 
Level="Safe"/> 
</PermissionSet> 

FailedAssemblyInfo: NULL 
Method: Void InitWithRestrictedPermissions(System.Configuration.RuntimeConfigurationRecord, System.Configuration.FactoryRecord) 
Zone: NoZone 
Url: 
Message: Request failed. 
Data: System.Collections.ListDictionaryInternal 
TargetSite: System.Object CreateInstance(System.RuntimeType, Boolean, Boolean, Boolean ByRef, System.RuntimeMethodHandleInternal ByRef, Boolean ByRef) 
HelpLink: NULL 
Source: mscorlib 

StackTrace Information 
********************************************* 
    at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) 
    at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache) 
    at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache) 
    at System.Activator.CreateInstance(Type type, Boolean nonPublic) 
    at System.Configuration.TypeUtil.CreateInstanceWithReflectionPermission(Type type) 
    at System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.Init(RuntimeConfigurationRecord configRecord, FactoryRecord factoryRecord) 
    at System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.InitWithRestrictedPermissions(RuntimeConfigurationRecord configRecord, FactoryRecord factoryRecord) 
    at System.Configuration.RuntimeConfigurationRecord.CreateSectionFactory(FactoryRecord factoryRecord) 
    at System.Configuration.BaseConfigurationRecord.FindAndEnsureFactoryRecord(String configKey, Boolean& isRootDeclaredHere) 

विन्यास फाइल खंड प्रश्न में (लाइन नंबर के साथ):

4 <configSections> 
5  <section name="exceptionManagement" 
6    type="Company.Shared.ExceptionManagement.ExceptionManagerSectionHandler, Company.Shared" /> 
7 </configSections> 
8 <exceptionManagement> 
9  <publisher assembly="Company.Shared" type="Company.Shared.ExceptionManagement.DefaultPublisher" 
10     logName="CPODSOracleDataExchange" applicationName="CPODSOracleDataExchange Service" /> 
11  <publisher assembly="Company.Shared" type="Company.Shared.ExceptionManagement.ExceptionManagerSMTPPublisher" 
12     from="[email protected]" 
13     defaultRecipients="[email protected],[email protected]" 
14     applicationName="CPODSOracleDataExchange Service" /> 
15 </exceptionManagement> 

यह वही कॉन्फ़िगरेशन हमारे DEV वातावरण में ठीक काम करता है। ये मेरे सर्वोत्तम ज्ञान के समान वातावरण हैं, और दोनों सेवाएं एक ही कोड बेस के तहत चल रही हैं।

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

+1

क्या आप एक छोटा लेकिन पूरा प्रोग्राम बना सकते हैं जो समस्या को प्रदर्शित करता है (यदि केवल परीक्षण वातावरण में)? –

+0

आपका मतलब है कि आप उस कोड को देखना चाहते हैं जो विफलता को ट्रिगर कर रहा है? –

+1

मेरा मतलब है कि मैं वास्तव में क्या कहता हूं - मुझे एक छोटा लेकिन पूरा उदाहरण चाहिए कि हम प्रत्येक भाग को देख सकें, जो आपके परीक्षण प्रणाली पर उसी तरह विफल रहता है। इस तरह हम सब कुछ देख सकते हैं जो * हो सकता है *। –

उत्तर

4

यह पता चलता है कि यह एक अस्पष्ट स्थापना समस्या थी।

हमने पुराने exe के साथ सेवा को अनइंस्टॉल किया, और 64 बिट 4.0 ढांचे का उपयोग करके पुनर्स्थापित किया और समस्या दूर हो गई।

0

इसका निर्माण विन्यास में ढांचे की स्थापना

0

नहीं सीधे अपने परिदृश्य से संबंधित है, लेकिन अगर आप एक साझा नेटवर्क से एक .NET 4.0 अनुप्रयोग चलाने के लिए प्रयास कर रहा है जबकि एक ही अपवाद मिलता है, तो आप इस स्थापित करने की आवश्यकता हॉटफिक्स: http://support.microsoft.com/kb/2580188

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