安装 .NET 4.5 后,任何访问 Workbox 的用户现在都会收到异常:
“System.Int32”类型的对象无法转换为“System.Web.Security.Cryptography.Purpose”类型。
经过一些基本的谷歌搜索,似乎这个问题曾经在登录时发生,并在 6.5 中解决了登录问题。我登录 Sitecore 没有任何问题。到目前为止,我只在工作流框中看到了这个问题。
在安装 .NET 4.5 之前,我们在 .NET 4.0 上运行没有任何问题。
有没有人找到一种解决方法来让安装了 .NET 4.5 的 Workbox 运行?
注意:我目前使用的是 Sitecore 6.5 Update 5
全栈跟踪:
[ArgumentException:“System.Int32”类型的对象无法转换为“System.Web.Security.Cryptography.Purpose”类型。] System.RuntimeType.TryChangeType(对象值,Binder binder,CultureInfoculture,Boolean needsSpecialCast)+185 System .Reflection.MethodBase.CheckArguments(Object[] 参数, Binder binder, BindingFlags invokeAttr, CultureInfoculture, Signature sig) +122 System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] 参数, CultureInfoculture ) +206 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] 参数, CultureInfo 文化) +126 Sitecore.SecurityModel.Cryptography.CookieProtectionHelperWrapper.Encode(CookieProtection cookieProtection,Byte[] buf,Int32 计数)+175 Sitecore.Shell.Feeds.FeedUrlOptions.ToString() +192 Sitecore.Shell.Applications.Workbox.WorkboxForm.DisplayWorkflow(IWorkflow 工作流)+496 Sitecore.Shell.Applications.Workbox.WorkboxForm。 OnLoad(EventArgs e) +545
[TargetInvocationException:调用目标已引发异常。] System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[ ] 参数,Object[] 参数)+76 System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object[] 参数,CultureInfo 文化)+193 System.Reflection.MethodBase.Invoke(Object obj,Object[ ] 参数) +35 Sitecore.Web.UI.Sheer.ClientPage.OnLoad(EventArgs e) +337 System.Web.UI.Control.LoadRecursive() +116 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint ) +2910
更新: 我们已经更改了 web.config 条目,这就是 Login 正常工作的原因:
<setting name=”Login.RememberLastLoggedInUserName” value=”false” />