2011-09-19 66 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不喜歡那樣。