Asp.net mvc Facebook是否通过Post请求打开画布应用程序?它';它对我的MVC操作造成了严重的破坏

Asp.net mvc Facebook是否通过Post请求打开画布应用程序?它';它对我的MVC操作造成了严重的破坏,asp.net-mvc,facebook,facebook-c#-sdk,Asp.net Mvc,Facebook,Facebook C# Sdk,我已经创建了一个MVC应用程序,它有一个好友视图,其中有一个post操作,请参见下面的代码。当我第一次加载页面时,我的POST方法被调用。我发现了这一点,只是想知道是否有人可以澄清Facebook正在调用post方法来传递数据。在这种情况下,解决我的问题的最好方法是重命名我的POST操作 以下是我的代码,去掉了不必要的部分: public ActionResult Friend() { ViewData["Success"] = false; return

我已经创建了一个MVC应用程序,它有一个好友视图,其中有一个post操作,请参见下面的代码。当我第一次加载页面时,我的POST方法被调用。我发现了这一点,只是想知道是否有人可以澄清Facebook正在调用post方法来传递数据。在这种情况下,解决我的问题的最好方法是重命名我的POST操作

以下是我的代码,去掉了不必要的部分:

public ActionResult Friend()
    {
        ViewData["Success"] = false;
        return View("Friend");
    }
    [HttpPost]
    public ActionResult Friend(FacebookViewModel model)
    {
        ViewData["Success"] = true;
        return View("Friend", model);
    }

调用应用程序视图时,正在打印到屏幕上的数据正在打印“true”:(

我相信Facebook这样做是出于安全考虑,我记得不久前看到了一些关于切换到画布应用程序的内容

看起来他们也在这里面宣布了

最好的选择可能是按照您的建议更改您的操作:

[HttpPost]
public ActionResult CanvasLoad(FacebookPostLoadViewModel model)
{
    // Do your load logic and show your view or RedirectToAction("Otherview");
    return View("Friend", model);
}

是的,我在开发者网站上也链接了同一个文档。那么这就是导致调用post action并更改我的post action名称的原因吗?是的,冗余链接,请参阅我的编辑。看起来他们在最初的帖子中为您提供了一些有用的信息,您可能希望存储以供以后使用。