我有一个带有Facebook C#SDK的MVC 3网站。 现在我正在使用sdk的新版本6在一个干净的MVC 4应用程序中重做facebook集成。所以我在sdk网站上使用了入门帮助页面。 http://csharpsdk.org/docs/web/getting-started
我已经按照教程进行了操作,只更改了教程的一部分。我改变的是我调用了一个Controller Action,因为ashx被触发但是不允许在Session对象中设置accesstoken。会议无效。
现在,当我第一次启动网站时(使用Chrome,因为默认情况下IE不起作用。教程解释了原因。),我看到了登录按钮。 当我按下登录按钮时,我得到facebook的授权页面,询问我的应用程序想要连接到我的Facebook帐户。当我提交时,控制器中的MVC操作被触发,给定的accesstoken存储在会话中。 之后我可以访问自己的信息。
当我关闭Visual Studio(IIS express已关闭)并重新启动网站时,登录按钮将更改为我的帐户,其中包含我使用已连接的应用程序的图片。之后,我使用自己的信息导航回页面,并在获取accesstoken的会话上获得nullreferenceexception。这是为什么?为什么用户登录但第二次打开网站(新会话)时不会触发存储accesstoken的操作。
我不应该在某处设置app秘密吗?我在教程之后的javascript中设置了AppId。
感谢。
答案 0 :(得分:0)
根据Facebook,您的用户已登录您的应用,但自从您重新启动Cassini网络服务器后,您的“会话”就会消失/丢失/删除。
检查您的会话以确保您在会话中拥有有效的令牌,如果没有将用户重定向到您的登录代码。