0
我正在学习编写WCF服务,并且我正在阅读本书中的示例,逐步地编写了我的简单服务。服务在我的个人电脑和连接到本地网络的每台设备上都能正常工作。当我尝试从本地网络的“外部”连接时,如果无法看到服务(通过客户端应用程序(通过我写的和通过浏览器(MEX)))。
我的主人的app.config:
无法连接到本地网络以外的WCF服务
<system.serviceModel>
<services>
<service name="WCF_1_MagicEightBallService.MagicEightBallService"
behaviorConfiguration="MagicEightBallServiceMEXBehavior">
<endpoint address=""
binding="basicHttpBinding"
contract="WCF_1_MagicEightBallService.IMagicEightBall">
</endpoint>
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange">
</endpoint>
<host>
<baseAddresses>
<add baseAddress="http://[my ip]:8080/MagicEightBallService"/>
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MagicEightBallServiceMEXBehavior">
<serviceMetadata httpGetEnabled="true"/>
<useRequestHeadersForMetadataAddress/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
我的IP是我的外部IP,但我一直在使用的IP使用和不使用无线路由器,并用不同的端口尝试。
除非您有商业互联网计划,否则您的ISP很可能会阻止大多数默认网络端口(25,80,80,80,443等)。 – Cameron
@Cameron所以没有办法自己托管网络服务?可以托管IIS的帮助? – Bibipkins
你可以在IIS中托管它,你只需要使用非默认端口。只需在... 10000和65535之间选择一个数字即可。 – Cameron