无法从MVC站点连接到WCF服务

时间:2011-11-18 04:51:51

标签: asp.net wcf web-services windows-services

我已经编写了一个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>

感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:1)

我会联系GoDaddy寻求支持。如果WCF服务在您的朋友计算机上运行 - 这可能是托管环境问题。