【发布时间】:2011-11-18 04:51:50
【问题描述】:
我编写了一个 WCF 服务,该服务托管在我家用计算机上的 Windows 服务中。然后我编写了一个尝试连接到该服务的 MVC3 站点。 MVC3 站点托管在 godaddy 服务器上。我正确打开了防火墙上的端口,因为我能够从不同网络上的计算机访问服务描述站点,我什至让一个朋友从他计算机上运行的控制台应用程序连接到 Web 服务,它运行良好.但是,当我尝试从我的 MVC3 站点调用 Web 服务时,它会引发以下错误:
http://myExternIpAddress:8000/MyService/service 上没有可以接受消息的端点监听。这通常是由不正确的地址或 SOAP 操作引起的。有关详细信息,请参阅 InnerException(如果存在)。
这里是服务的 app.config 的重要部分:
<services>
<service name="MyService.MyService"
behaviorConfiguration="MyServiceBehavior" >
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/MyService/service" />
</baseAddresses>
</host>
<endpoint address=""
binding="basicHttpBinding"
contract="MyService.IMyService" />
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MyServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
这里是 MVC3 站点的 web.config 的服务部分
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IMyService" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://myExternalIpAddress:8000/MyService/service"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMyService"
contract="LocalService.IMyService" name="BasicHttpBinding_IMyService" />
</client>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
感谢您提供的任何帮助!
【问题讨论】:
标签: asp.net wcf web-services windows-services