2010-08-13 36 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需要的。

相关问题