2010-08-13 33 views
1

我有以下問題: 我在C#上開發和OpenID身份驗證系統,它在我的LocalHost上完美運行,但是當我發佈它時,我一直收到這個錯誤消息,我應該怎麼做? 謝謝!DotNetOpenId發佈時出現問題

Error:System.Web.HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> DotNetOpenAuth.Messaging.ProtocolException: No OpenID endpoint found. 
    at DotNetOpenAuth.Messaging.ErrorUtilities.VerifyProtocol(Boolean condition, String message, Object[] args) 
    at DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingPartyControlBase.LogOn() 
    at WikiLoader.Login.OpenId_Click(Object sender, CommandEventArgs e) 
    at System.Web.UI.WebControls.ImageButton.OnCommand(CommandEventArgs e) 
    at System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument) 
    at System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) 
    at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) 
    at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) 
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    --- End of inner exception stack trace --- 
    at System.Web.UI.Page.HandleError(Exception e) 
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    at System.Web.UI.Page.ProcessRequest() 
    at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) 
    at System.Web.UI.Page.ProcessRequest(HttpContext context) 
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

Source: System.Web 

Message: Exception of type 'System.Web.HttpUnhandledException' was thrown. 

Stack trace: at System.Web.UI.Page.HandleError(Exception e) 
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    at System.Web.UI.Page.ProcessRequest() 
    at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) 
    at System.Web.UI.Page.ProcessRequest(HttpContext context) 
    at ASP.login_aspx.ProcessRequest(HttpContext context) 
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 
+0

它有一個發現問題。你確定它可以連接到身份網址嗎? (可能會導致問題,例如,如果您使用'http:// localhost/openid'作爲標識符,而RP位於本地主機以外的其他位置)僅使用您提供的數據無法告訴您更多信息。 – Mewp 2010-08-13 18:59:16

+0

嗯,它只使用Google,Yahoo,Chi.mp和MyOpenID作爲標識符。我沒有使用localhost作爲標識符。我的代碼如下: //請求登錄或停止使用它。 openIDLogin.LoggedIn + = new EventHandler (openIDLogin_LoggedIn); – 2010-08-16 07:54:48

回答

0

Turn on logging看看他們告訴你什麼。

這通常是因爲您的生產服務器有一個防護(防火牆,代理等)防止傳出的HTTP請求,這當然是OpenID需要的。

相關問題