2012-10-17 8 views
7

मैं एक एमवीसी 4 अनुप्रयोग के साथ DotNetOpenAuth का उपयोग कर रहा हूँ। सभी अचानक Google लेख विफल हो रहा है (एमएस काम कर रहा है)। स्टॉक कोड करता है:OAuthWebSecurity.Verify प्रमाणीकरण असफल असफल झूठा मैं कारण का निर्धारण कैसे करूं?

[AllowAnonymous] 
public ActionResult ExternalLoginCallback(string returnUrl) 
{ 
    var result = OAuthWebSecurity.VerifyAuthentication(Url.Action("ExternalLoginCallback", new { ReturnUrl = returnUrl })); 
    if (!result.IsSuccessful) 
    { 
     return RedirectToAction("ExternalLoginFailure"); 
    } 

मुझे पता है कि result.IsSuccessful गलत है, पर मैं कारण कैसे प्राप्त करूं? result.Error शून्य है।

मैंने log4net का उपयोग करने के लिए this page पर भी देखा। मुझे स्थानीय देव बॉक्स पर एक लॉग मिलता है लेकिन जब मैं इसे रिमोट सर्वर पर तैनात नहीं करता हूं।

log4net webconfig:

<log4net> 
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <file value="RelyingParty.log" /> 
     <appendToFile value="true" /> 
     <rollingStyle value="Size" /> 
     <maxSizeRollBackups value="10" /> 
     <maximumFileSize value="100KB" /> 
     <staticLogFileName value="true" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date (GMT%date{%z}) [%thread] %-5level %logger - %message%newline" /> 
     </layout> 
    </appender> 
    <!-- Setup the root category, add the appenders and set the default level --> 
    <root> 
     <level value="INFO" /> 
     <appender-ref ref="RollingFileAppender" /> 
    </root> 
    <!-- Specify the level for some specific categories --> 
    <logger name="DotNetOpenAuth"> 
     <level value="ALL" /> 
    </logger> 
    </log4net> 

संपादित मैं भी एक एसक्यूएल डाटाबेस को log4net की कोशिश की लेकिन यह अभी भी कुछ भी

उत्तर

3

मैं अंत में यह समझ से लॉग आउट नहीं किया। वास्तविक त्रुटि संदेश मैं हो रही थी:

Protocol error: This message has a timestamp of 10/23/2012 12:19:33 PM, 
which is beyond the allowable clock skew for in the future. 

एक सर्वर क्रैश समय क्षेत्र सही तरीके से सेट नहीं जा सके थे के बाद बाहर कर देता है। इससे Google के अंत से सत्यापन/टोकन विफल हो गया।

AdoNetAppender "काम नहीं कर रहा था" क्योंकि bufferSize 100 पर सेट किया गया था। इसे सेट करने के बाद इसे लॉग प्राप्त करना शुरू हो गया। यहाँ adonetappender मैं

<log4net> 
     <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender"> 
     <bufferSize value="1" /> 
     <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
     <connectionStringName value="CONNECTIONSTRINGNAME" /> 
     <commandText value="INSERT INTO Log4Net ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" /> 
     <parameter> 
     <parameterName value="@log_date" /> 
     <dbType value="DateTime" /> 
     <layout type="log4net.Layout.RawTimeStampLayout" /> 
     </parameter> 
     <parameter> 
     <parameterName value="@thread" /> 
     <dbType value="String" /> 
     <size value="255" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%thread" /> 
     </layout> 
     </parameter> 
     <parameter> 
     <parameterName value="@log_level" /> 
     <dbType value="String" /> 
     <size value="50" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%level" /> 
     </layout> 
     </parameter> 
     <parameter> 
     <parameterName value="@logger" /> 
     <dbType value="String" /> 
     <size value="255" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%logger" /> 
     </layout> 
     </parameter> 
     <parameter> 
     <parameterName value="@message" /> 
     <dbType value="String" /> 
     <size value="4000" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%message" /> 
     </layout> 
     </parameter> 
     <parameter> 
     <parameterName value="@exception" /> 
     <dbType value="String" /> 
     <size value="2000" /> 
     <layout type="log4net.Layout.ExceptionLayout" /> 
     </parameter> 
    </appender> 
    <root> 
     <level value="Debug" /> 
     <appender-ref ref="AdoNetAppender" /> 
    </root> 
    <logger name="DotNetOpenAuth"> 
     <level value="ALL" /> 
    </logger> 
    </log4net> 

उपयोग कर रहा हूँ आप bufferSize वापस 100 करने के लिए सेट है जब आप अपने मुद्दे को बाहर काम मिलना चाहिए है।

+0

मुझे एक ही समस्या है लेकिन मैंने log4net का उपयोग नहीं किया है। तो मैं इस मुद्दे को कैसे हल कर सकता हूं? –

+0

umm .. log4net स्थापित करें? log4net यह है कि DotNetOpenAuth किसी भी समस्या को लॉग करता है। फिर या तो SO पर एक प्रश्न पूछें या लॉग से समस्या को हल करें – Eonasdan

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