Другим сценарием является то, что вы нанесли нулевой объект в тип значения . Например, код ниже:
object o = null;
DateTime d = (DateTime)o;
Он выкинет NullReferenceException
в роли. В приведенном выше примере это кажется совершенно очевидным, но это может произойти в более «поздних связующих» сложных сценариях, где нулевой объект был возвращен из некоторого кода, которого вы не являетесь, и приведение, например, генерируется некоторой автоматической системой.
Одним из примеров этого является этот простой фрагмент привязки ASP.NET с элементом управления календарем:
" />
Здесь SelectedDate
на самом деле является свойством - типа DateTime
- типа Calendar
Web Control, и привязка может отлично вернуть что-то null. Неявный генератор ASP.NET создаст кусок кода, который будет эквивалентен приведенному выше методу. И это поднимет NullReferenceException
, что довольно сложно определить, потому что он лежит в сгенерированном ASP.NET коде, который компилирует отлично ...
Я не мог использовать другие решения ... Для меня работала установка LocalTunnel.net (https://github.com/danielrmz/localtunnel-net-client), а затем с помощью полученного URL на Facebook.
Отредактируйте свое приложение в www.facebook.com/developers / и установите «URL-адрес сайта» в «http: // localhost / myapppath».
Когда это будет сделано - измените его.
http://localhost/myapp
, а не http://myapp
– graham
21 January 2013 в 23:21
В Facebook добавлена функция тестовых версий.
Сначала добавьте тестовую версию вашего приложения: Создать тестовое приложение
Затем измените URL-адрес сайта на « http: // localhost » в разделе Website и нажмите ] Сохранить изменения
Вот и все, но будьте осторожны: Идентификатор приложения и App Secret разные для приложения и его тестовых версий!
Это достаточно просто, когда вы узнаете.
Откройте /etc/hosts
(unix) или C:\WINDOWS\system32\drivers\etc\hosts
.
Если ваш домен является foo.com, добавьте эту строку:
127.0.0.1 local.foo.com
Когда вы тестируете, откройте local.foo.com
в своем браузере и он должен работать.
connection refused
при попытке входа в систему, возможно, из-за изменения на стороне facebook. любые идеи обхода очень ценятся.
– omat
13 July 2013 в 13:28
Facebook, по-видимому, случайно отключает возможность установки localhost как домена в вашем приложении facebook. Я нашел, что самая простая работа заключалась в том, чтобы туннелировать мой локальный хост в Интернете. Это можно сделать бесплатно, используя http://progrium.com/localtunnel/ или с помощью специального URL-адреса (проще, поскольку вам не нужно каждый раз менять URL-адрес в facebook) https: / /showoff.io
Похоже, что FB снова изменил страницу приложения dev и добавила функцию «Белый список серверов».
Вам не нужно ничего сложного!
Facebook → Настройки → Основные: напишите «localhost» в «Домены приложений» , затем нажмите «+ Добавить платформу» выберите «Веб-сайт» .
После этого в «Адрес сайта « напишите свой URL-адрес localhost (например:
blockquote>http://localhost:1337/something
).Это позволит вам локально тестировать плагины facebook.
Создать 2 приложения и
В /initializers/env_variables.rb
if Rails.env == 'development'
ENV['FB_APP_ID'] = "HERE"
ENV["FB_SECRET"] = "HERE"
else
ENV['FB_APP_ID'] = "HERE"
ENV["FB_SECRET"] = "HERE"
end
перейти на страницу холста .. просмотреть его в браузере. скопировать адресную строку текста. теперь перейдите в свое приложение facebook, чтобы изменить настройки
на веб-сайте, в патче URL-адреса сайта, который адресует
в интеграции facebook, снова вставьте этот адрес в URL холста
, а также тот же код, где вам нужен URL-адрес холста или URL-адрес перенаправления.
надеюсь, что это поможет ..