client端,执行PrepareRequestUserAuthorizationAsync的时候,直接提示:
方法“DotNetOpenAuth.OAuth2.WebServerClient+<PrepareRequestUserAuthorizationAsync>d__3.MoveNext()”尝试访问方法“System.Collections.Generic.List`1<System.__Canon>..ctor()”失败。
找了一圈,原因是
http://stackoverflow.com/questions/20053248/preparerequestuserauthorizationasync-fails
是webclient类库声明了AllowPartiallyTrustedCallers,估计读写cookie没有权限了。
我用的是5.0版本
使用4.0,错误如下:
安全透明方法“DotNetOpenAuth.Messaging.MessagingUtilities.AsActionResult(DotNetOpenAuth.Messaging.OutgoingWebResponse)”尝试访问安全关键类型“System.Web.Mvc.ActionResult”失败。
程序集“DotNetOpenAuth.Core, Version=4.3.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246”标记为 AllowPartiallyTrustedCallersAttribute 并且使用 2 级安全透明模型。默认情况下,2 级透明将导致 AllowPartiallyTrustedCallers 程序集中的所有方法都变成安全透明的,这可能是导致发生此异常的原因。
不想再去重编译去掉这个,我还指望nuget升级纳,有什么其他的解决办法么?你们测试成功都是怎么成功的?
升级下吧
最好还是按官方的解决方案来,不然指不定还会出现什么未知错误的
https://github.com/DotNetOpenAuth/DotNetOpenAuth/issues/320
注视掉[assembly: AllowPartiallyTrustedCallers]