Facebook C#SDK维护会话状态

时间:2010-12-20 04:14:22

标签: facebook

我已下载Facebook C#SDK 4.1.0。

我正在使用Canvas IFrame MVC示例并已成功设置项目。

我对会话状态有疑问或在某些方面缺乏它。我的部分视图在页面顶部保留了用户上传的视频数量。


[ChildActionOnly]
public ActionResult MyItemsTotal()
{
    FacebookApp app = new FacebookApp();
    ViewData["count"] = "0";
    int count = 0;

    if (app.Session != null)
        count = (from c in db.Items
                 where c.UserID == app.Session.UserId
                 select c).Count();

    if (count > 0)
        ViewData["count"] = count.ToString("#,#");

    return PartialView();
}

有时候它会起作用并且每次显示正确的总数,在其他情况下它不会。所以我逐步完成这个例程,发现if(app.Session!= null)只有在Request Method =“POST”时才为真。当它是“GET”时它是错误的。因此,永远不会调用count。

所以有问题,为什么Facebook C#SDK只通过POST持久保存用户会话而不是GET?我是否必须自己坚持用户会话而不是依靠Facebook App类为我做这件事?

此致 罗布

1 个答案:

答案 0 :(得分:0)

没关系,这个链接在这里

http://facebooksdk.codeplex.com/Thread/View.aspx?ThreadId=238671

给了我答案。我需要使用

Url.CanvasAction以确保我指向

apps.facebook.com/myapplication

: - P