Локальное тестирование и отладка приложения Facebook iframe (Windows Azure) - PullRequest
1 голос
/ 03 апреля 2011

Интересно, какой лучший способ проверить и отладить приложения iframe для Facebook локально (используя набор инструментов facebook c # и набор средств azure)?

Когда я пытаюсь отладить, всегда запускаетсяВычислить эмулятор на другом порту.

По сути, я хочу иметь специальное приложение iframe для Facebook, указывающее на определенный порт на локальном хосте (например, http://localhost:81) и после нажатия кнопки отладки, на которую ссылается мое приложение (например,http://apps.facebook.com/myspecificappdev) запускается в моем браузере (с функцией отладки).

Я нашел эту тему, но, к сожалению, это мне не сильно помогло: http://azuretoolkit.codeplex.com/discussions/207487

Что такоелучший способ отладки таких приложений? Может быть, это пример проекта, в котором уже правильно настроена эта часть?

Ответы [ 4 ]

1 голос
/ 04 апреля 2011

Хорошо, вот что мы делаем (в Thuzi).Мы создали специальный веб-сайт IIS для нашего кода.Мы создаем поддельный домен, такой как fbapp.mycompanysdomain.com, и затем редактируем файл Hosts вашего компьютера (или другого компьютера), чтобы он указывал на правильный IP-адрес.Когда мы настраиваем сайт в IIS, мы используем заголовок узла, что означает, что нам не нужно беспокоиться о номерах портов.Когда мы отлаживаем, мы просто присоединяемся к процессу.

Таким образом, вы указываете свой веб-браузер на URL FB, и он всегда должен попадать на ваш веб-сервер (независимо от того, выполняете ли вы отладку локально или нет).Я знаю, что это звучит как немного больше работы, но в конечном итоге все становится намного проще и лучше отражает то, что в конечном итоге произойдет.Я понимаю, что если вы используете какой-либо тип хранилища, вам нужно будет его запустить, но все равно намного проще ...

1 голос
/ 04 апреля 2011

Если ваше приложение просто веб-сайт, то не требуется для запуска эмулятора вычислений для его запуска.Я бы настроил сайт таким образом, чтобы он работал на IIS для определенного порта, а затем отладил проект веб-сайта, а не облачный проект.

Однако здесь есть нечто большее, чем просто.Если вы используете хранилище для разработки, вам нужно запустить его самостоятельно, так как оно не запустится автоматически при отладке веб-сайта.Если у вас есть класс RoleEntryPoint, то вы должны знать, что ни один из этого кода не будет вызван.Кроме того, если вы используете что-либо в RoleEnvironment (например, в настройках), вам нужно поместить оболочку вокруг этих элементов, чтобы они по-прежнему работали, когда не работают в среде эмуляции (RoleEnvironment.IsAvailable очень полезно для обнаружения).Такая настройка очень полезна во время разработки, потому что, когда вы вносите небольшие изменения в CSS JavaScript, вам не нужно перезапускать эмулятор вычислений, чтобы увидеть ваши изменения.

0 голосов
/ 03 апреля 2011

Что я сделал, чтобы приложение Windows Azure оставалось на том же порту:

Я поместил это как событие перед сборкой: "C: \ Program Files \ Windows Azure SDK \ v1.4 \"bin \ csrun.exe "/ devfabric: shutdown

Это делает его лучше, но иногда он все еще переключает порт

0 голосов
/ 03 апреля 2011

Вы на правильном пути.Вам нужно создать новое приложение facebook и указать URL-адрес iframe / canvas / tab на localhost, выбрав конкретный порт cassini для проекта.

...