在本地主机上托管 WCF 并通过互联网访问






4.20/5 (7投票s)
使用/访问在本地主机(IIS 7.5或IIS Express)上托管的WCF服务
引言
我们在本地环境(通常在iPhone、Android和其他移动设备上)测试WCF服务时都会遇到问题。我最近也遇到了这个问题。我为移动应用创建了一个WCF服务,并想用它(iPhone、Android)进行测试,但我遇到的问题是,我没有托管服务器来托管我的WCF服务,我必须在我的本地服务(本地IIS/localhost)上进行操作。这是同样的解决方案,我们可以使用我们的本地主机在iPhone和Android上测试WCF服务。
背景
在这里,我将为所有开发人员提供一些很好的解决方案,以便在本地主机上托管WCF服务并通过互联网访问,并在iPhone和Android上访问相同的服务。这非常简单直接。
使用代码
首先,您应该使用这篇文章创建WCF服务 -http://mikesknowledgebase.azurewebsites.net/pages/Services/WebServices-Page1.htm,然后继续按照这篇文章操作。我假设您现在已经使用本地计算机创建了WCF服务(正在成功运行),并且您正在寻找在本地IIS中托管相同服务的方法。好的,首先进入IIS,在默认网站下创建应用程序(_右键单击“默认网站”并选择“添加应用程序”_)– 查看步骤1快照。
步骤1
现在为您的虚拟目录指定别名,并从您的本地驱动器设置路径(查看步骤2快照)。
步骤2
确保您的默认应用程序池设置为.NET CLR V4.0(查看步骤3快照)。现在都完成了,您的WCF服务已在本地主机上托管。
步骤3
您可以使用浏览功能进行测试(查看步骤4快照)。
步骤4
您的WCF服务正在本地主机上成功运行(查看步骤5快照)。
步骤5
要通过LAN(局域网)访问相同的服务,您必须禁用专用网络的防火墙(_确保您只需禁用专用网络,而不是公共网络_)。在LAN上测试您的WCF服务,看看您是否能够在另一台计算机上测试它?是的,希望您做得很好。
现在我们有了WCF服务,它在我的机器上的本地主机以及LAN上运行。现在我们必须在iPhone/Android/任何移动设备应用程序上测试/使用相同的服务,这非常简单。请按照以下步骤操作。
1. 访问ngrok.com,下载存档并将其解压到您希望ngrok在计算机上存放的任何位置。
2. 打开命令行终端,然后转到您解压ngrok到的文件夹。运行以下命令以创建到端口80上的本地主机的隧道:ngrok 80
4. 在上面的示例中,我们的临时URL (http://3dfab6bf.ngrok.com) 被转发到我们本地主机的127.0.0.1:80。
啊哈,所有流程现在都完成了!上面的URL是您的临时URL,可用于通过互联网从任何地方访问您的本地主机。您应该在iPhone应用程序(调用wcf服务的代码)中使用它,或者在浏览器中运行它,或者使用上面的URL在任何其他应用程序中使用它。
注意:_这不是永久性解决方案,但您应该使用上述方案(使用localhost)测试您的WCF服务。每次使用命令提示符运行时,ngrok的地址都会发生变化。_
希望本文能为您提供解决方案。
关注点
是的,我确实找到了一个使用ngrok的好解决方案,因为我必须测试我的WCF服务,而无需将其托管在服务器(托管服务器)上,而我已经做到了!我学习了一些新东西,希望您也一样。