从另一台PC访问WCF服务

时间:2011-06-08 03:08:35

标签: wcf cassini

我花了几个小时和几个小时就完成了这项工作,但却无法让它发挥作用。也许我对托管WCF服务和为其创建客户端的理解是不正确的。

我的网站添加了WCF服务,其中包含以下配置...

<system.serviceModel>

<bindings>
  <wsHttpBinding>
    <binding name="Binding1">
      <security mode="None">
        <transport clientCredentialType="None" />
        <message establishSecurityContext="false" />
      </security>
    </binding>
  </wsHttpBinding>
</bindings>

    <behaviors>
        <serviceBehaviors>
            <behavior name="MyWCFWebApp.Service1Behavior">
                <serviceMetadata httpGetEnabled="true"/>
                <serviceDebug includeExceptionDetailInFaults="false"/>
            </behavior>
        </serviceBehaviors>
    </behaviors>

    <services>
        <service behaviorConfiguration="MyWCFWebApp.Service1Behavior" name="MyWCFWebApp.Service1">
            <endpoint address="" binding="wsHttpBinding" contract="MyWCFWebApp.IService1" bindingConfiguration="Binding1">
            </endpoint>
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
        </service>
    </services>

</system.serviceModel>

当我使用内置Web服务器通过Visual Studio运行网站时,我可以通过http://localhost:9988/Service1.svc

访问网络服务

但是...

当通过cassiniDev Server托管网站,绑定到ip和hostname时,我可以通过http://localhost:9988/Service1.svc访问wcf服务,但是一旦我尝试使用ip或hostname {{3}访问wcf服务},它返回以下错误:

“没有协议绑定与给定地址匹配'http://10.111.202.73:9988/Service1.svc'。协议绑定在IIS或WAS配置中的站点级别配置。” < / p>

我不知道为什么会这样。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

事实证明这个问题与cassini开发网络服务有关,它不支持WCF 3.5 ....我花了一段时间才想出那个......

答案 1 :(得分:0)

也许您可以尝试在控制台应用中托管您的服务,就像测试它是否与IIS相关。