2011-09-19 69 views
0

我们在Facebook以外的应用程序中使用Facebook连接,相当经常地,C#Facebook SDK抛出一个异常并显示此消息“Precondition failed:!cookieValue.Contains(”,“)Session值不能包含逗号。“Facebook C#SDK在ParseCookieValue上抛出异常

在做了一些研究之后,它似乎与我们在同一时间使用JavaScript SDK(用于Facebook Connect)和C#SDK的事实有关。由于我无法自己复制这个问题,所以我没有太多线索。

UPDATE:事实上,例外情况发生在“真实”用户身上。 SDK每天都会抛出一百个。

回答

0

这是Facebook的C#SDK中的错误:http://facebooksdk.codeplex.com/discussions/273578/

你能不能从ParseCookieValue 方法删除下面的代码行。

Contract.Requires(!cookieValue.Contains(“,”),“Session value must not not contains a comma。”);

这已经在最新v5.3.1beta (http://facebooksdk.codeplex.com/releases/view/75790)

0

是的 - 也得到这个 - 也使用c#SDK和Javascript SDK。

它似乎只发生在我的FB帐户 - 测试我的应用程序时 - 它发生在我的誓言设置中使用了错误的应用程序秘密之后。

似乎Facebook有两个访问令牌用于我的个人帐户 - 并试图将它们存储在cookie中。我尝试使用SDK deleteauthcookie()方法,我删除了浏览器中的所有Facebook cookie。没有运气。

唯一的解决方法是删除所有cookie的浏览器....

看来Facebook的有时会尝试存储两个访问令牌在Cookie中 - 用逗号分隔他们 - 和C#SDK不喜欢那样。