vs2010表达asp.net c#:facebook asp.net应用程序

时间:2010-01-03 22:56:58

标签: asp.net facebook

有没有人能够通过facebook对他们的localhost机器测试facebook应用程序?

2 个答案:

答案 0 :(得分:2)

首先,您需要确保在localhost上运行的网站对互联网可见。这可能是一个非常复杂的过程,如下所示:

  • 确保您计算机上运行的网站对LAN上的其他计算机可见。如果没有,您可能需要调整机器的防火墙设置或网站权限。这将确认您的网站能够处理来自其他计算机的请求。

  • 假设您使用ADSL调制解调器连接到互联网,您需要设置从ADSL调制解调器到您的机器的端口转发(通常是端口80),这可能还需要您的机器具有静态IP在你的局域网上。这将允许您的网站处理来自互联网的请求,这些请求通常会被ADSL调制解调器阻止。

  • 假设您的互联网IP地址是动态的,您需要使用动态DNS服务将主机名(例如www.something.com)映射到动态IP地址。我使用no-ip.com这是免费的,从来没有给我任何问题。最终结果将是一个主机名,它将映射到您的ADSL调制解调器,最终是一个将直接映射到您在localhost上运行的网站的URL。

  • 您可能需要咨询您的ISP,确保您运行网站的端口未被ISP阻止。我的ISP确实阻止了很多端口,但提供了禁用阻止的选项。

  • 您需要进行大量的检查和调整,以确保您的网站能够处理来自互联网的请求。一个方便的网站是canyouseeme.org。如果此工具报告您的网站没有响应,那么请坚持几个小时的令人沮丧的调查和调整,试图让所有上述事情都有效。这是整个过程中最糟糕的部分!但你永远不知道,你可以先尝试一下。

最后,您将获取动态DNS主机名,ADSL调制解调器正在侦听的传入端口(通常为80),以及在localhost上运行的网站的虚拟目录,并将其合并为一个URL,然后将其设置为Facebook应用程序设置中的画布URL。因此,如果我的主机名是myfacebookapp.no-ip.com,我的端口是80,我的网站住在一个名为fbapp的虚拟目录中,我的画布URL将是http://myfacebookapp.no-ip.com/fbapp/。您也可以将网址提供给互联网上的一位朋友,并询问他们是否可以看到您的网站 - 如果是,那么您的localhost网站设置正确!

上述所有步骤(可能除了最后一步)都需要相当多的知识或经验才能执行。如果您需要有关每一个的更多信息,请告诉我们;如果是这样,我将尝试找到更详细解释每个步骤的其他stackoverflow页面。

答案 1 :(得分:1)

是的,我有。我将连接URL设置为localhost / virtual,它适用于我。你遇到了问题吗?您是否在www.facebook.com/developers上的应用程序设置中为连接URL设置了应用程序?