Несколько приложений Facebook Canvas в одном веб-приложении - CanvasAuthorizeAttribute - PullRequest
0 голосов
/ 30 сентября 2011

У меня проблема с запуском нескольких приложений Facebook под одним веб-приложением.

Аналогично этой проблеме: Несколько приложений facebook в одном веб-приложении

Мне нравится предложенное здесь решение, однако CanvasAuthorizeAttribute использует FacebookApplication.Current внутри, и этостатический экземпляр приложения FB в веб-приложении.

Я не могу вызвать метод .SetApplication в контроллере, так как у меня возникнут проблемы с параллелизмом.

Было бы хорошо, если FacebookApplication.Current вызвал Func, который передается в .SetApplication вместо простого вызова внутри .SetApplication.

Таким образом, я мог бы передать функцию, которая выполняет мою логику для получения правильного приложения FB.

Я что-то пропустил в SDK?

1 Ответ

0 голосов
/ 17 ноября 2011

Вы всегда можете иметь свою собственную логику на http://facebook.stackoverflow.com/questions/4931240/multiple-facebook-apps-under-one-web-application/4936703#4936703

    private IFacebookApplication Current
    {
        get
        {
            var url = HttpContext.Current.Request.Url;
            var app = GetSettingsForUrl(url); 
            // put your custom logic here and return the appropriate IFacebookApplication
            return app;
        }
    }

Но вы должны сделать это во время Application_Start, когда он все еще работает в одном потоке, а не в Controller.

...