2011-08-04 17 views
6

हम web.config के लिए नीचे लाइन जोड़ते हैं -स्थानीय रूप से परीक्षण करते समय ईमेल भेजने वाले एल्मा को अक्षम कैसे करें?

<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" /> 

Elmah किसी भी अपवाद है कि उत्पन्न कर रहे हैं पर ईमेल भेजता है। लेकिन हम चाहते हैं कि यह केवल वेब साइट पर तैनात लाइव साइट के साथ ही हो। और जब हम स्थानीय रूप से हमारी मशीनों पर साइट का परीक्षण नहीं कर रहे हैं। वर्तमान में यह स्थानीय और साइट पर परीक्षण करते समय ईमेल कर रहा है और ईमेल भेज रहा है। क्या किसी को पता है कि हम इसे इस तरह कैसे कॉन्फ़िगर कर सकते हैं?

उत्तर

8

अपने वेब पर ईमेल लॉगिंग जोड़ें। Release.config। मेरा बेस Web.config में कोई भी एल्मा सामान नहीं है - रिलीज के साथ संकलन करते समय यह सब जोड़ा जाता है। यदि आप रिलीज के लिए संकलित करते हैं और स्थानीय रूप से चलाते हैं, तो यह ईमेल और लॉग करेगा, लेकिन नियमित डीबग बिल्ड नहीं होगा।

Web.Release.config

<configSections> 
     <sectionGroup name="elmah" xdt:Transform="Insert"> 
      <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" /> 
      <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" /> 
      <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" /> 
      <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" /> 
     </sectionGroup> 
    </configSections> 

    <connectionStrings> 
    <clear/> 
     <add xdt:Transform="Insert" name="ErrorLogs" connectionString="...." /> 
    </connectionStrings> 

    <elmah xdt:Transform="Insert"> 
     <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="ErrorLogs" /> 
     <security allowRemoteAccess="0" /> 
     <errorMail ...Email options ... /> 
    </elmah> 

    <system.web> 
     <compilation xdt:Transform="RemoveAttributes(debug)" /> 

     <httpModules xdt:Transform="Insert"> 
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" /> 
      <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" /> 
     </httpModules> 
    </system.web> 

    <system.webServer> 
     <modules xdt:Transform="Insert" runAllManagedModulesForAllRequests="true"> 
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" /> 
      <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" /> 
     </modules> 
    </system.webServer> 

</configuration> 

अंत में, नोट करना चाहिए कि अपने आधार Web.config शुरू में <configSections> टैग होना चाहिए, भले ही वह खाली है:

वेब। कॉन्फ़िगरेशन

<configuration> 
    <configSections /><!-- Placeholder for the release to insert into --> 
    .... 
संबंधित मुद्दे