我已下载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类为我做这件事?
此致 罗布
答案 0 :(得分:0)
没关系,这个链接在这里
http://facebooksdk.codeplex.com/Thread/View.aspx?ThreadId=238671
给了我答案。我需要使用
Url.CanvasAction以确保我指向
apps.facebook.com/myapplication
: - P