Несколько приложений Facebook в одном веб-приложении - PullRequest
4 голосов
/ 08 февраля 2011

Я пытаюсь использовать Umbraco CMS для нескольких приложений Facebook.Моя идея состояла в том, чтобы каждое приложение facebook было на странице aspx в umbraco (эти «приложения» очень просты, всего несколько изображений, возможно, опрос в каждом).Но у меня может быть только одна настройка Facebook в web.config.Можно ли не устанавливать приложение facebook в web.config, а устанавливать настройки в коде?Или есть другой способ иметь несколько приложений facebook в одном веб-приложении (umbraco)?

РЕДАКТИРОВАТЬ: я использую facebooksdk 5.0.2 beta

Ответы [ 2 ]

7 голосов
/ 08 февраля 2011

Сначала необходимо создать новый класс, реализующий IFacebookApplication.

private class RequestScopedFacebookApplication : IFacebookApplication
{
        private IFacebookApplication Current
        {
            get
            {
                var url = HttpContext.Current.Request.Url;
                var app = GetSettingsForUrl(url);
                return app;
            }
        }

        public string AppId
        {
            get { return Current.AppId; }
        }
        /* ....... */
}

Затем в Application_Start файла global.asax установите приложение Facebook.

public void Application_Start()
{
     FacebookApplication.SetApplication(new RequestScopedFacebookApplication());
}

ОБНОВЛЕНИЕ: Здесьэто дополнительный пример реализации: https://gist.github.com/820881

1 голос
/ 08 февраля 2011

См. Раздел 4 из этого поста в блоге Прабира для получения подробной информации о том, как установить настройки Facebook в коде.

Редактировать: Вы также захотите быть очень осторожным при управлении экземплярами FacebookClientчтобы избежать путаницы, т. е. статики и т. д.

...