2011-11-18 43 views
1

我已经编写了一个WCF服务,该服务驻留在家用计算机上的Windows服务中。然后,我写了一个试图连接到该服务的MVC3站点。 MVC3站点托管在godaddy服务器上。我正确地打开了防火墙上的端口,因为我可以从不同网络上的计算机访问服务描述站点,甚至有一位朋友可以通过在他的计算机上运行的控制台应用程序连接到Web服务,并且工作完美。但是,当我尝试从我的MVC3站点调用Web服务时,它会引发以下错误:无法连接到来自MVC站点的WCF服务

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> 

,这里是在web.config中的MVC3网站的服务部分

<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> 

感谢您的任何帮助你可以提供!

回答

1

我会联系GoDaddy寻求支持。如果WCF服务在你的朋友机器上工作 - 这可能是一个托管环境问题。