【问题标题】:Unable to Connect to WCF Service from MVC Site无法从 MVC 站点连接到 WCF 服务
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-22
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多