У меня есть веб-сайт MVC 3 с Facebook C # SDK.
Теперь я переделываю интеграцию с Facebook в чистом приложении MVC 4 с новой версией 6 SDK. Поэтому я воспользовался страницей справки по началу работы на сайте SDK. http://csharpsdk.org/docs/web/getting-started
Я следовал этому уроку и изменил только одну его часть. То, что я изменил, было то, что я вызываю действие контроллера, потому что ashx был запущен, но не было разрешено установить токен доступа в объекте Session. Сессия была нулевой.
Теперь, когда я запускаю веб-сайт в первый раз (использовал Chrome, потому что IE не работает по умолчанию. В руководстве объясняется почему.), Я вижу кнопку входа в систему.
Когда я нажимаю кнопку входа в систему, я получаю страницу авторизации facebook, которая спрашивает, что мое приложение хочет подключиться к моей учетной записи Facebook. Когда я отправляю, MVC-действие в контроллере запускается и данный токен доступа сохраняется в сеансе.
После этого я могу получить доступ к своей собственной информации.
Когда я закрываю Visual Studio (IIS Express закрывается с ним) и перезагружаю веб-сайт, кнопка входа в систему меняется на мою учетную запись с изображением, которое говорит, что я использую приложение, которое подключено. После этого я возвращаюсь на страницу со своей собственной информацией и получаю исключение nullreference для сеанса, который получает токен доступа. Это почему? Почему пользователь вошел в систему, но действие, которое сохраняет токен доступа, не запускается во второй раз, когда я открываю веб-сайт (новый сеанс).
Разве я не должен где-то устанавливать секрет приложения? Я установил AppId в javascript после учебника.
Спасибо.