Asp.net 生产服务器中的DotNetOpenAuth错误
我用的是最新版本。在localhost中,一切正常 我看到以下异常消息: 无法将类型为“DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform”的对象强制转换为类型为“DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehavior” 堆栈跟踪是:Asp.net 生产服务器中的DotNetOpenAuth错误,asp.net,.net,dotnetopenauth,Asp.net,.net,Dotnetopenauth,我用的是最新版本。在localhost中,一切正常 我看到以下异常消息: 无法将类型为“DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform”的对象强制转换为类型为“DotNetOpenAuth.OpenId.RelyingParty.IRelyingPartyBehavior” 堆栈跟踪是: at DotNetOpenAuth.Configuration.TypeConfigurationElement1.CreateInstance(T
at DotNetOpenAuth.Configuration.TypeConfigurationElement1.CreateInstance(T defaultValue, Boolean allowInternals)
at DotNetOpenAuth.Configuration.TypeConfigurationCollection1.<>c__DisplayClass4.<CreateInstances>b__2(TypeConfigurationElement1 element)
at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext()
at DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty..ctor(ICryptoKeyStore cryptoKeyStore, INonceStore nonceStore)
at DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty..ctor()
at Ideiota.WebApp.Modules.Login.HandleOpenIdProviderResponse()
at Ideiota.WebApp.Modules.Login.Page_Load(Object sender, EventArgs e)
at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint);`
位于DotNetOpenAuth.Configuration.TypeConfigurationElement1.CreateInstance(T defaultValue,Boolean allowentnals)
在DotNetOpenAuth.Configuration.TypeConfigurationCollection1.c__DisplayClass4.b__u2(TypeConfigurationElement1元素)
在System.Linq.Enumerable.WhereSelectEnumerableInterator2.MoveNext()中
位于DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty..ctor(ICryptoKeyStore加密密钥库,INonceStore非密钥库)
在DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty..ctor()上
在Ideiota.WebApp.Modules.Login.HandleOpenIdProviderResponse()上
在Ideiota.WebApp.Modules.Login.Page_加载(对象发送方,事件参数e)
位于System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp、对象o、对象t、事件参数e)
在System.Web.Util.CallEventHandlerDelegateProxy.Callback(对象发送方,EventArgs e)
在System.Web.UI.Control.OnLoad(EventArgs e)中
在System.Web.UI.Control.LoadRecursive()中
在System.Web.UI.Control.LoadRecursive()中
在System.Web.UI.Control.LoadRecursive()中
在System.Web.UI.Control.LoadRecursive()中
在System.Web.UI.Control.LoadRecursive()中
在System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)`
但错误在配置文件中。新版本有一些变化…对于遇到这种情况的其他人,这里是我遇到的问题。升级到这个新版本(在我的例子中是通过NuGet)添加了一些新配置,但没有删除旧的无效配置
在Web.config
中:
<!-- old and invalid, remove this line -->
<add type="DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform, DotNetOpenAuth" />
<!-- keep this new line -->
<add type="DotNetOpenAuth.OpenId.RelyingParty.Behaviors.AXFetchAsSregTransform,
DotNetOpenAuth.OpenId.RelyingParty" />
对问题的编辑应添加到原始问题中。答案并非如此。